Software Engineering in WordPress, PHP, and Backend Development

Category: Notes (Page 34 of 49)

Notes on programming-related problems that I’ve encountered while working on various projects.

Defining a Custom WordPress Menu Hook

When it comes to defining custom option pages, theme pages, menu pages, and submenu pages, the provided API makes this trivially easy; however, one of the less used aspects of these functions is the ability to define a custom WordPress menu hook.

For example, in a recent project I needed to do exactly that when adding a submenu to the WordPress Tools menu so I thought I’d share my process for doing exactly this.

Note that if you’re looking to add a submenu to a different WordPress menu, then there are a couple of options that are available. First and foremost, the most common option is to use add_submenu_page and then use tools.php as the parent slug as specified in the Codex.

But if you happen to be working with the Tools menu, then the add_management_page function is your best bet because it’s designed for exactly that.

So for this article, that’s what I’ll be using.

Continue reading

My Thoughts on Finding The Next Steve Jobs

Throughout the year, 8BIT tries to read through several books in order to find the things that can help make us a better team. This past past weekend, I read through Finding The Next Steve Jobs as it was the book that was next in our line-up.

At the end of this post, I’ll share all of the parts that I highlighted while reading the book, but I first want to share my personal takeaways from the material in the book.

Generally speaking, I enjoyed it. It reminded me a lot of Rework in which the book is primarily made up of a number of very small chapters each of which has a single point that it attempts to make. Of course, they’re different books with different tones and it’s not really fair to compare them.

So with that said, I thought I’d go ahead and share some of my personal take aways from the book.

Continue reading

How To Internationalize WordPress Plugins

During my time on working on the WordPress Plugin Boilerplate, I’ve had some really good discussions with Gary Jones about some of the practices and conventions used throughout the code.

Up until this point, I’ve traditionally included a plugin.po file with each of my plugins to make it easy for translators; however, Gary’s been kind enough to point out the a .pot file should actually be included.

From a discussion on GitHub:

If you read the Codex page you linked to, you’ll see that it explains that .pot is the correct extension to use for the original translation file, since it is the template from which .po and .mo files are generated.

I’m not above admitting when there’s something I’ve not been doing correctly – after all, most developers should constantly be improving right?

At least I hope that’s the case.

Luckily, there are tools that make generating this catalog trivially easy so I thought I’d provide the steps necessarily to internationalize WordPress plugins specifically how I did so for the latest release of the Boilerplate.

Continue reading

Making Remote Requests with wp_remote_get

When it comes to working with remote requests on the server side, there are usually two solutions that I end up seeing.

In fact, there are two solutions that I’ve typically ended up using:

Both of these functions generally work well; however, in our experience with Standard, we’ve had less than stellar experience especially when it comes to budget hosts.

This is where wp_remote_get comes into play. In short, wp_remote_get is a simple WordPress API function that’s used to retrieve data from a specified URL using the HTTP GET method.

Continue reading

How To Programmatically Populate a WordPress Template

The title of this post is somewhat misleading as I’m not actually sharing how to programmatically populate a WordPress template – instead, I’m walking through the process of populating a page that also has a page template applied to it.

Anyway, creating WordPress templates is easy business:

  • Create the template file in the theme directory
  • Give the template file the proper header comments
  • Fill out the template with the proper markup

Back in March, I shared a proof-of-concept plugin for including a template file in a plugin. If you browse through the comments, note that there’s a lot of discussion on how to do it, why one way is better than the others, and so on.

But as I’ve continued to work on a project in which I include templates in plugins, I’ve also been working on populating template-based pages with content from HTML files.

Here’s how I’ve been working to programmatically populate a WordPress template.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑