Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 247 of 258)

Personal opinions and how-to’s that I’ve written both here and as contributions to other blogs.

For The Aspiring Professional WordPress Developer

When it comes to discussing WordPress development, I think that one topic that’s hard to come by is how to begin taking on professional WordPress development gigs.

Specifically, I think that we could do a better job of communicating what to expect when another developer opts to make the move to become a professional WordPress developer. And by that, I mean doing something part-time or full-time for pay.

For roughly the past two years, I’ve divided my time between self-employment and two startups the latter two using WordPress as the backbone for their software. For the former, I’ve built a number of plugins – most free, a few premium – and have worked on a number of contracts building sites, plugins, and applications for others.

With that said, I thought I’d do my part in sharing some advice for the aspiring WordPress developer.

Continue reading

My Thoughts on Building Web Applications with WordPress

I’ve talked quite a bit about my thoughts on using WordPress for web application development. Specifically, I’ve shared:

During the State of the Word 2012, Matt discussed the past, present, and future of WordPress which included WordPress being an “app engine” of sorts. Some time ago, I stumbled across an article by Matthew Eppelsheimer in which he discusses his team using WordPress as just that.

Specifically, he says:

The WordPress platform essentially manages content and authentication for us, gives us frameworks to build custom UI and our own functionality, and offers extra features in the form of plugins developed by a large community. It gives us everything we need to rapidly build our own custom tools that fit our own process, style, and needs.

Interesting, isn’t it?

Obviously, I’ve been a fan of treating WordPress as such for some time, but I’ve never really shared how I’ve viewed various features and parts of the API for actually building applications.

Since I’ve recently wrapped up a project where we did just this, and since I’m currently in the middle of building one that’s following suit, I thought I’d share a few notes on my approach for building web applications with WordPress.

Continue reading

A WordPress Database Index Reference

When it comes to building web applications, all of the major components can be reduced to the following pieces:

  • Frontend
  • Middleware
  • Database

Yes, there are a lot of moving pieces in each of these layers, and there are even layers within layers, but this is generally the architecture that you’re going to find 99% of the time.

And WordPress is no different.

One of the most important aspects of working with web applications that’s often over looked by both beginner and advanced developers alike is the significance of indexes on the underlying database (and I’m certainly not exempt from this).

For any middleware that provides an API for retrieving data from the database, the API is translating the server-side code into database queries. Assuming that the database schema is properly organized, and assuming that you’re leveraging the API properly, you should see very little performance issues.

But if you treat the database as a black box and rely solely on the API, you could be inadvertently affecting the performance of your theme, plugin, or application by constructing poor queries.

I typically keep a short reference of the WordPress Database Index and thought I’d share it here just as much for myself as for you guys.

Continue reading

Three Thoughts on Improving Code Quality in Existing Projects

I’m currently working on a project that I inherited from a previous team in which I’m working on improving the code quality. The details aren’t terribly important, but here’s what you need to know to have enough context for this post:

  • I didn’t design the application, but the client wants to keep the existing design and feature set
  • The budget only allows for improvements agreed upon during the planning phase – nothing more
  • The initial codebase was developed by someone else that opted to do things in a less elegant way

As far as the last point is concerned, “less elegant” could be chalked up to laziness, or it could be chalked up to ignorance.

When possible, I try to believe the best rather than assume the worst, so I’ve opted to go with the fact that the team was under a deadline to ship rather than to build an elegant solution.

That said, I think that all developers have found themselves in this position: We’ve inherited – or contributed – to some codebase, looked around, and said:

I wouldn’t have done it that way.

Often times, the implication is that our way is a better way than the way it’s currently done. In some cases, that’s right, but if developers often think this and another developer wrote said code, where does that lead?

Anyway, this is not the first time I’ve found myself in this position, and it certainly won’t be the last, but it seemed like something worth discussing if for no other reason to share my thoughts on it.

Continue reading

Understanding WordPress Actions and Filters

Understanding WordPress Actions and Filters

In my experience, one of the toughest concepts for new WordPress developers to grasp is the difference in actions and filters.

By this, I don’t mean that they are difficult to use. In fact, I think most developers have a pretty easy time picking up how to hook their functions into hooks and filters when needed, but it seems as if its a bit challenging to grasp WordPress page life cycle and how actions and filters fit into the overall context of WordPress.

So in my latest article at Envato, I try to provide a clear understanding of WordPress Actions and Filters.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑