Tom McFarlin
Tom is a self-employed developer who loves writing, building, and sharing WordPress-based projects. He runs Pressware where he provides WordPress goods and services. You can follow him on Twitter.
Courses
  • Web Design

    The WordPress Theme Customizer

    12 lessons, 1.5 hours
    $15
  • Code

    Design Patterns in WordPress

    13 lessons, 1.6 hours
    $15
  • Code

    Working With Meta Boxes in WordPress

    11 lessons, 1.5 hours
    $15
  • Code

    Using the WordPress Settings API

    15 lessons, 2.2 hours
    $15
  • Code

    WordPress Widgets: Front To Back

    21 lessons, 2 hours
    $15
Tutorials
  • Code
    The Beginner's Guide to Type Coercion: What is Coercion?Type coercion
    141 shares
    As mentioned in the first post, this series is specifically geared towards beginners or towards those who don't have a lot of experience with weakly typed languages. That is to say that if you've been programming in both strongly typed and/or weakly typed languages and are familiar with type coercion and the pitfalls that can occur when performing certain operations, then this series may not be of much interest to you.Read More…
  • Code
    The Beginner's Guide to Type Coercion: Data TypesType coercion
    134 shares
    In this series, we're going to take a beginner's look at dynamic languages, how variables are defined, how their data types are inferred and are different from their statically counterparts, and how to avoid some of the major pitfalls that come with working with these languages.Read More…
  • Code
    Tips for Writing Maintainable WordPress Themes: ToolsWriting maintainable wordpress themes
    281 shares
    Throughout this series, we've been talking about a number of practices that we can employ in our WordPress theme development that will help not only provide a consistent foundation off of which we can build our existing and future projects, but that will also help us maintain them after they're released. In this final article, I'll be talking about several different settings and plugins that I think should be defined and/or installed in every WordPress development environment to make sure that you're using the most up-to-date APIs, that you're not negatively impacting performance, and that you're not causing any notices, warnings, or errors to be thrown via PHP.Read More…
  • Code
    Writing Maintainable WordPress Themes: Naming ConventionsWriting maintainable wordpress themes
    255 shares
    In the first post in this series, we reviewed some of the strategies that are available as it relates to organizing our WordPress theme directories in order to make them more maintainable. Ultimately, the goal was to provide a directory schema in which we could organize our files such that we would have a level of cohesion, understanding, and maintainability to the work that we're doing. But that's not all there is to writing maintainable WordPress themes. Another aspect is to follow the conventions set forth by the WordPress Coding Standards. W˜e're going to take a slightly more granular look at some of the strategies and tools that we can use in order to make sure we're making our themes as maintainable as possible.Read More…
  • Code
    Writing Maintainable WordPress Themes: DirectoriesWriting maintainable wordpress themes
    271 shares
    When it comes to building WordPress themes - as with many other types of things, really - there are right ways and wrong ways to do it. For those of us who want to be professional WordPress developers, for those of us who truly care about the work that we're doing, and for those of us who want our work to last, then we need to be forward thinking about how we're organizing the files and the code that goes into our theme.Read More…
  • Code
    How To Display Post Meta Data on a WordPress PostSingle post meta data thumb
    161 shares
    In my last series of articles, we looked at the concepts of object-oriented programming from the perspective of the beginner. The goal of the series was to take those who were not familiar with object-oriented programming in PHP, and explore the foundational aspects of the paradigm within the context of WordPress. In this article, we're going to take a look at extending the plugin such that we can display the data on a single post page. We're going to talk about how to do this given our existing code, how to do this, and we're also going to talk about why this may not be a good idea.Read More…
  • Code
    Beginner Tips For Getting Started with WordPress DevelopmentGetting started with wp
    232 shares
    One of the advantages that's often claimed is an advantage for building for WordPress is its low barrier to entry, and although this isn't altogether false, it also makes it intimidating for anyone who is looking to truly get started in WordPress and struggled with knowing how - or where - to get started. I thought it would be worth drafting up a few points worth sharing the next time that this question comes up.Read More…
  • Code
    Object-Oriented Programming in WordPress - A SummaryWordpress oop
    121 shares
    At this point, it's time to draw this beginner's series to a close but prior to doing so, I'd like to provide a summary of each of the articles so that we not only have a refresher of the everything that we've done, but so that we also have a single summary page to bookmark for reference.Read More…
  • Code
    Envato's Most Wanted: eCommerce PluginsEmw thumb
    7 shares
    Earlier this month, we ran our first post promoting Envato's Most Wanted. Recall that these are opportunities for which users, developers, and designers are offered significant rewards for delivering high-quality work assuming that it meets the criteria for the contest. Today, we're offering up the same thing, except rather working with Directing & Listing Themes, we're looking specifically at eCommerce Plugins.Read More…
  • Code
    Object-Oriented Programming in WordPress - Inheritance IIWordpress oop
    106 shares
    In the previous article, we introduced the concept of object-oriented inheritance, attempted to place it laymen's terms, and then also took a high-level look at the conceptual model of how it works within the context of programming. Yes - we've covered a lot, but in order to lay the foundation for a beginner to have a strong place from which to start writing object-oriented PHP, there's a lot to examine. With that said, inheritance is where we begin getting into the intermediate topics of the paradigm, so this will be the final article that provides a look at the beginner concepts.Read More…
  • Code
    Envato's Most Wanted: Directory & Listing ThemesEmw thumb
    29 shares
    Periodically, our the Envato Marketplaces offer up opportunities which are known as Envato's Most Wanted. These contests usually offer up significant rewards for users, developers, designers, and more who are able to deliver the highest quality work possible that also meets the criteria for the contest. For example, right now, the Directory & Listing Themes is offering a bounty of up to $10,000!Read More…
  • Code
    Object-Oriented Programming in WordPress - Inheritance IWordpress oop
    102 shares
    One of the hardest parts of writing a series for beginners on object-oriented programming is knowing where to stop. There are so many topics to cover that we can slowly begin moving into the direction of advanced programming techniques ultimately forgoing exactly what our intended mission was: to arm beginners with a set of tools, strategies, and understanding of beginning concepts.Read More…