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

    1.5 hours
    $15
  • Code

    Design Patterns in WordPress

    1.6 hours
    $15
  • Code

    Working With Meta Boxes in WordPress

    1.5 hours
    $15
  • Code

    Using the WordPress Settings API

    2.2 hours
    $15
  • Code

    WordPress Widgets: Front To Back

    2 hours
    $15
Tutorials
  • Code
    Creating Maintainable WordPress Meta Boxes: Finish The Front-EndMaintainable meta boxes 1
    172 shares
    In this article, we're going to continue with introducing the rest of the user interface, and then we're going to move onto actually writing code responsible for verifying the user input and associating it with the given post.Read More…
  • Code
    Creating Maintainable WordPress Meta Boxes: The Front-EndMaintainable meta boxes 1
    238 shares
    This article will continue building on what we've done thus far. We're going to be introducing content in each of the tabs, implementing functionality that allows us to toggle the content, and we'll begin introducing the fields for content on the first tab.Read More…
  • Code
    Creating Maintainable WordPress Meta Boxes: The LayoutMaintainable meta boxes 1
    238 shares
    In the first post, we looked at the initial directory structure and setup the basic code required to get a plugin running in WordPress. In this post, we're going to continue planning and building our plugin. We'll also be talking about the decisions that we're making when it comes to separating parts of our code and how it factors into maintainability.Read More…
  • Code
    Creating Maintainable WordPress Meta BoxesMaintainable meta boxes
    287 shares
    Throughout this series, we're going to take at one way that we can write maintainable code in WordPress through an example plugin that introduces meta boxes, various options, and tabbed navigation in the WordPress dashboard.Read More…
  • Code
    Saving Images with the WordPress Media UploaderWordpress media uploader
    242 shares
    In this series, we're taking a look at how to implement the WordPress Media Uploader in an actual plugin. The idea behind this series and its associated code is to give a clear understanding of how it works, how we can use it in the future, and how we can incorporate it into our work. In this article, we're going to pick up where we left off and finish implementing the rest of this plugin. Note that I'm assuming you've read the previous two posts and understand the source code that we've covered thus far.Read More…
  • Code
    Adding and Removing Images with the WordPress Media UploaderWordpress media uploader
    259 shares
    In the previous post in this series, we started working with the latest iteration of the WordPress Media Uploader in order to get a clearer understanding of how to begin to incorporate it into our projects. Based on the feedback from the first article, we're going to look at expanding the scope of this series a little bit more. In this article, we're going to look at practically applying the functionality that we introduced in the last article. Then, in a follow up article (or perhaps more than one follow-up article) we'll look at some more of the finer points of how the Media Uploader works.Read More…
  • Code
    Getting Started with the WordPress Media UploaderWordpress media uploader
    185 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
    158 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
    220 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
    152 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
    Writing Maintainable WordPress Themes: ToolsWriting maintainable wordpress themes
    10 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…