Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 314 of 428

My Day-To-Day: Hero Academy

Almost everything I share on this blog has something to do with WordPress, JavaScript, some general programming, or “how I get stuff done” content. I rarely talk about anything else other than that.

But, like the rest of you guys, there are other things that I do with my day other than everything listed above.

And one of those things is video games – and as of late (read: the past few months), that game has been Hero Academy.

Continue reading

WordPress and MVC (Gloves Aren’t Made for Feet)

One of the topics that periodically crops up in discussions as it relates to WordPress is the idea of WordPress and MVC.

That is, developers wants to take an MVC approach to building WordPress applications. And I get it – I love MVC. It’s why I used to work with Rails, it’s why I was really excited when Microsoft released .NET MVC years ago (when I was working in .NET).

But the thing is that MVC is not the silver bullet of web development that we try to make it out to be. Yes, it’s an awesome design pattern, and I personally think that it fits the web application model like a glove, but not every framework or platform implements that design pattern.

Case in point: WordPress is not MVC.

And that’s okay. I think we need to leave the desire of trying to shoehorn it into our projects aside especially when the pattern WordPress provides is not only sufficient, but works well when leveraged correctly.

Continue reading

Understanding The WordPress defaults Array

Earlier this week, I received an email from someone who was asking about the Settings API. Specifically, he was curious as to how the WordPress defaults array works.

For those of who may have worked with theme development, plugin development, or the Settings API in general, then you may be familiar with functions that look like this:

/**
 * Provides a default value for the theme layout setting.
 *
 * @since    1.0.0
 */
function get_theme_default_layout_options() {

	$defaults = array(
	    'layout'                         => 'right_sidebar_layout',
	    'display_featured_images'        => 'always'
	);

	return apply_filters ( 'theme_default_layout_options', $defaults );

}

But if you’re not familiar with the Settings API or with how to `apply_filters` call works, then this particular function can be confusing especially when it comes to understanding the serialization lifecycle of saving options to the database.

Continue reading

How To Run a Viable Business By Curtis McHale

Earlier this year, Curtis McHale released an eBook on how to Learn WordPress DevelopmentOver the past few months, Curtis has been working on another book called Don’t Be an Idiot: Learn To Run a Viable Business which, as the title so subtly suggests :), helps provide readers with information on how to run a business successfully.

Here’s the unique thing about the book: It’s not just Curtis’ perspective.

In fact, he interviewed over 10 people for the book and is including their perspective on their businesses, how they run them, some of the challenges that they’ve had, as well as some of the things that they’ve done to continue their career of self-employment.

Continue reading

Comments on this post are closed. Please leave them on the original post.

Yesterday, I was humbled to have been featured being featured on ManageWP’s most recent article.

Directly from the the post:

I recently published a post on WPExplorer rounding up the names of ten personalities in WordPress that you should be following. Of course, those were not the only ten people that you should know about – there are many, many more awesome people in our community and no list can ever be complete.

Here I showcase, in no particular order, 25 WordPress thought leaders that I think you should follow – people who offer things of value to the community, be it awesome plugins, original articles, contributions to the core, etc.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑