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.

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

My Strategy For Organizing JavaScript in WordPress

Yesterday, I shared my strategy for using LESS in WordPress and enjoyed the comments that followed. In that post, I also mentioned that I have a similar strategy that I use to maintain my JavaScript files.

This particular aspect of development is one that I’m still experimenting with; however, there are certain aspects of it that have remained constant.

To follow up with yesterday’s post, I thought I’d share several things that I’ve consistently done that have improved development as well as some of the things that I’m currently doing that are proving to be useful.

With that said, here’s my current strategy for organizing JavaScript in WordPress.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑