Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 168 of 427

MySQL Admin Can’t Connect To Localhost

I’m going to have a significantly longer post (or series of posts) that go more into detail about setting up WP-CLI, proper unit testing of WordPress plugins, and so on.

Unit Testing with WP-CLI

But for those who are already working on setting all of this up and are hitting a couple of problems with trying to set up a temporary database using some of the provided WP-CLI shell scripts, I wanted to share the solution that I used to resolve this.

Continue reading

Improve Your WordPress Skills with Hookr.io

One of the most important things you can do to improve your WordPress skills is to learn all about WordPress hooks. If you’ve spent any time looking through code, trying to write a plugin, or referencing the Codex then you likely know:

Hooks are provided by WordPress to allow your plugin to ‘hook into’ the rest of WordPress; that is, to call functions in your plugin at specific times, and thereby set your plugin in motion.

Yes, I think it’s important to understand the event-driven design pattern. And it’s one thing to have a comprehensive list of everything that’s available regardless of if it’s an action or a filter but it’s another thing to actually see it action.

Given that we all have different learning styles, sometimes I think having a reference is only one way to go about learning how to leverage the system. Another way would be to use a plugin like Hookr.

Continue reading

Document Your Practices and Procedures (For You and Your Team)

We do a good job of evangelizing the different tools, environments, and ways to tackle problems in our space (that is, within WordPress development), but I often wonder how well we do for actually documenting our practices, procedures, and so on for others.

10up - Document Your Practices

Sure, some companies open source their practices, and that’s great, but does every company? And should they?

Sometimes, I think people believe that if a company bases itself on open source, then they should have everything out in the open:

  • Their software,
  • Their practices,
  • Their financials,
  • And so on.

I don’t agree, but I do think there’s something to be said for documenting your practices within your team as this benefits both you, your teammates, and people you may end up bringing on to a project or on to your team for future work.

Continue reading

How to Work with WordPress Metadata

One of the nicest APIs that the application offers is the WordPress Metadata API. It’s through this API that we’re able to take ideas such as posts, users, comments, terms, and more and store richer information that just the standard set of information.

Sure, there’s a lot to consider when taking advantages of these additional columns or fields as it relates to these concepts. But if you’re a beginner or someone who’s just starting to get deeper into the WordPress API, then I can’t recommend learning these APIs enough.

In two recent series for Envato, I cover these concepts in-depth.

Continue reading

Setting up PHP and Composer in MAMP

Lately, I’ve been trying to write shorter, more focused on articles on particular topics, but there are times in which a longer article is warranted: Case in point: Using PHP and Composer in MAMP.

Before you get started reading this article, I’m assuming you have a couple of things:

  • MAMP installed on your machine (it’s compatible with Windows now!)
  • Time to read all that’s below
  • Willingness to use the Terminal
  • Coffee (or another drink, but seriously coffee) to read through all that’s below

It’s not that any of this is intimidating. I mean, if you’re completely inexperienced, there may be a bit of a learning curve, but I’m going to do what I can to break this down for you regardless of the level of experience you have.

Ultimately, the goal is to make it easier for you to write more modular code using third-party dependencies and with keeping things well-organized on your system and in your projects.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑