Software Engineering in Web Development, Backend Services, and More

Tag: WordPress (Page 181 of 220)

Articles, tips, and resources for WordPress-based development.

WordPress Project Management: Delivering Features

If you’re responsible for heading up a project be it for your team, your company, or even yourself, then odds are you can’t help but think in terms of milestones or features.

Honestly, if you’re working on something for yourself, this may not be as big of an issue, but if you’re working in the context of any larger environment in which you’re responsible for delivering a solution to a client, then there are a variety of ways that you may divide up the project in order to get provide some rhythm of delivery.

Over the past year, I’ve had the opportunity to work on larger projects in which I’ve had the ability to spend time thinking and experimenting with WordPress project management as it relates to delivering features (or milestones, to most of us), and I thought it’d be worth sharing here if for no other reason than to get others’ opinions on the two approaches.

Continue reading

WordPress Views: Post Type and Page Templates

Last week, I talked a little bit about design patterns – namely MVC and event-driven patterns – and WordPress, and how there’s the occasional effort to make the core application work in a way in which it isn’t designed.

Obviously, I still think that, but that doesn’t mean that we can’t borrow concepts from certain design patterns in order to help improve our conceptual model of how WordPress solutions are built.

Case in point: I think it’s acceptable to think of page templates and post type templates as views.

Continue reading

Planned Obsolescence in WordPress

One of the things that we often see in the “offline marketplace” – for lack of a better term – is the idea of planned obsolescence.

Simply defined:

a policy of producing consumer goods that rapidly become obsolete and so require replacing, achieved by frequent changes in design, termination of the supply of spare parts, and the use of nondurable materials.

This is something that we see in auto industry, in the electronics industry, and in the computer industry. Think of it this way: Remember the iPhone 3? Or remember the Chevrolet Monte Carlo?

These are but two examples of products that were widely used – some for decades – and then were replaced by another product either by one with a brand new version or by an entire new line.

This is one of those things we don’t necessarily consider or talk about in the context of software. But why? All other platforms and languages aside, would planned obsolescence in WordPress be so bad?

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

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑