Software Engineering in WordPress, PHP, and Backend Development

Tag: WordPress (Page 192 of 219)

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

Software Craftsmanship and WordPress

Earlier this year, I shared a post on why software craftsmanship matters in WordPress development. It stemmed from a Twitter conversation that I had with Dave Donaldson at Max Foundry.

In the comments of that particular post, Dave also followed up with this comment:

Just to be clear, my issue with the term “software craftsman” is that it’s taken on an elitist connotation by many people, and that bothers me. It also bothers me that there is some correlation between people who spout “software craftsmanship” but don’t actually ship anything.

I try not to spin my wheels on topics that I’ve already discussed in-depth, but I recently stumbled across another post by Uncle Bob Martin – arguably the biggest proponent of the software craftsmanship movement – on the 8th Light blog that brought up the same concerns that Dave mention.

Specifically, it discussed the “elitist connotation [demonstrated] by many people.” Call me naive but I’ve simply been missing out on the drama that’s been going on surrounding this entire “software craftsman” thing.

For me, it’s always been about the manifesto, and the ability to make sure that I – as a developer – am doing the best job that I can to build good things for others and for myself.

It’s also a matter of making sure that I’m actively trying to learn from others as well as evangelizing my own practices to others not because I think that I’ve got it figured out, but simply to give back to the developer community.

But apparently, there’s more going on.

Continue reading

How To Document WordPress Projects

Earlier this week, I wrote about the challenges of documenting WordPress projects regardless of if they are free or premium.

In the post, I mentioned that another challenge that comes with actually documenting a project is making sure that you’re catering to the various ways that people learn.

First, as a general rule, I think that projects should include:

  • Source Code Documentation. Free projects should have code comments, premium projects should have code comments, PHPDoc (or similar) style documentation, and API documentation if one is available.
  • A Manual. Free projects should have a README and potentially a web page, premium projets should have a manual that’s perhaps its own website complete with screenshots and/or videos.

But this raises a second question about WordPress documentation, specifically around premium projects: If people have different styles of learning, that is, some learn better by reading, others better by watching, are we obligated to provide both forms of documentation?

Continue reading

WordPress Documentation For Free and Premium Projects

If you spend time maintaining a WordPress project – be it a theme, plugin, or application, and regardless of if it’s free or premium – then you know the challenges that come with writing and maintaining documentation for your project.

Sure, I think many of us who build and maintain projects consider documentation a form of support, but when you ask a customer to define support, you’re more likely to hear about their ability to communicate with someone through a forum or a phone call (depending on your service).

I mean, case in point, when I think about support for my cellular service, I don’t think of documentation of Sprint’s network. I think of talking to a person.

Anyway, all that to say is that over the past few years of working with various types of projects – both on my own and with my team – the trend seems to be that documentation for free projects is expected, but ignored, whereas documentation for premium projects is not only expected, but also read.

But I write this to ask if this is something the rest of you guys have noticed, and, if so, if there isn’t something that can be done to improve this particular situation or it’s simply the nature of the economy. Continue reading

Handling The Fragmentation of WordPress Versions, Themes, and Plugins

For the past few weeks, I’ve been talking about the decision to migrate away from the WordPress Plugins Repository and move back to the premium model similar to what I once offered. The truth is, this is going to introduce a bit of WordPress fragmentation which may not be a good thing.

If you’re just catching up on this, here are a few articles about the migration:

I’ve enjoyed the discussion around all of this, but there’s one problem that is introduced when developers opt to move away from the central WordPress repository.

It introduces fragmentation into the market.

Continue reading

What’s The Proper Way To Instantiate a WordPress Plugin?

When it comes to plugin development – be it either widgets or plugins – there are several different ways in which we can instantiate a WordPress plugin.

Unfortunately, you’re likely to get a different answer depending on who you ask, or what you read.

Case in point: According to the WordPress Codex, instantiating a WordPress widget is done like this:

add_action( 'widgets_init', create_function( '', 'register_widget( "foo_widget" );' ) );

But I know several people who are adamantly against using create_function.

Though I personally don’t have a problem with it, I’m always interested in hearing others’ approach to how they do it and why.

So in this post, I thought I’d lay out the various ways to instantiate a WordPress plugin, pros and cons of each, but also ask each of you what your favorite method is and why.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑