Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 159 of 258)

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

Tips For Being A Productive Developer

I think one of the more popular discussions that comes up among developers (and designers) from time-time is how to be productive as possible. Personally, I’d go as to far as to say that it gets harder and harder each year (let alone each, say, quarter).

By that, I mean we try to use tools such as IRC, Skype, and Slack to mitigate the amount of email that we have, but they also require that we divide our time between focusing on our tasks at hand and then mulitasking between however many other applications are open (such as Twitter, Facebook, email, and whatever else).

I’m not knocking this at all! It just doesn’t work very well for me. Anyway, just as others like to share their tips for how to be productive, I thought I’d share the ways in which I try to achieve developer productivity (because that in and of itself is a challenge enough) rather than, say, general productivity.

So here are a few things that I do – and I’m curious to hear yours, as well.

Continue reading

Using The WordPress Admin is All Wrong

I could completely be in the minority in what I’m about to say, but when I see phrases such as “The WordPress Admin,” I cringe a little.

Maybe I’m being a bit legalistic, but hear me out: All throughout the backend of WordPress, we see the phrase “Dashboard.” In fact, it’s the first menu item that we see.

Continue reading

Organizing Files For The WordPress Settings API

This is the final post in a series on An Object-Oriented Approach To The WordPress Settings API. Part 5.

Over the last few posts, I’ve covered topics ranging from creating interfaces to base classes and how to implement and inherit from both. One outstanding issue with the approach that this has covered thus far is that it didn’t take into account any type of file organization.

Anyone who has worked with any project of any size knows just how important having a clear organizational structure can be.

Later versions of PHP have feature of namespaces which can help us to further organize the code, but if you’re having to work with an old version, you don’t have that luxury. That’s no excuse for not properly organizing your files, though. You can still mimic what the namespace organization may look like.

So in this final post, I wanted to cover the approach that I normally take when organizing a plugin like the one we’ve been building.

Continue reading

Data in The WordPress Settings API

This is the fifth post in a series on An Object-Oriented Approach To The WordPress Settings API. Part 4.

In the last post in this series, I showed how to define a base class that represents some of the attributes and functionality our Dashboard class should have, and then I showed how to use inheritance in our Settings class so that we can take advantage of some of that functionality.

This post is going to include a little bit of redundant code, but the purpose of doing that is to show how the display, sanitize, and partial all fit together, and it’s done to help reinforce how the Settings API uses all of these features to read and write information to and from the database.

If you’re familiar with the Settings API, this post may not be as of much help; however, if you’re still new to it, then it may be worth reading.

Ultimately, the purpose of the post is to get us closer to have a fully working plugin that uses some basic object-oriented concepts as well as having a well-organized plugin that will help to contribute to maintainability.

Continue reading

Inheritance With The WordPress Settings API

This is the fourth post in a series on An Object-Oriented Approach To The WordPress Settings API. Part 3.

In the previous post, we began to implement the interface that we’re using to help guide our integration with the WordPress Settings API. The problem is, we’re not yet at a point where we can see the result of our work in the WordPress dashboard.

But at this point, we’re at a point where we can begin adding an interface for our plugin, but we can also define a class that represents the dashboard.

Additionally, we can have our Acme_Company_Name class not only implement the interface we’ve defined, but we can extend the the class that we’re going to create – that is, we can inherit from it so that we gain some of its properties and methods (if needed).

It sounds like a lot of work and though we’ll be adding several new files and adding a bit more code, we won’t actually be writing that much code.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑