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
    Getting Started with the WordPress Media UploaderWordpress media uploader
    130 shares
    When WordPress 3.5 was released, one of the most significant changes that was introduced was to that of the Media Uploader. Perhaps a more accurate description of the change would be to refer to at as an addition of a new Media Uploader. Since the new Media Library is what’s becoming standard in WordPress, and since there’s not a lot of documentation available for how to use it, we’re going to take a look at the functionality over the next few articles to understand how the new Media Library is constructed, how we can implement it in our own work, and how we can take advantage of the various functionality that’s already included in WordPress core.Read More…
  • Code
    Call for Authors: Write For Tuts+!Write for us
    118 shares
    We're currently looking for more authors to join our team! Specifically, we're looking for those who have strong web development skills - both front-end and back-end. Of course, this raises the question: what all does this entail when it comes to write for an established, respected, and educational network?Read More…
  • Code
    The Beginner's Guide to Type Coercion: A Practical ExampleType coercion
    162 shares
    Throughout this series of articles, we've been talking about type coercion, how it differs from type conversion, and how it performs in dynamically typed languages. Whereas the other article focused on weakly typed languages and data types at a high level, we're going to be looking at some specific examples of type coercion in a weakly typed language, and the pitfalls that we may experience without knowing how type coercion works and how it can backfire.Read More…
  • Code
    The Beginner's Guide to Type Coercion: What is Coercion?Type coercion
    150 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
    146 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
    284 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
    256 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
    272 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…