Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 186 of 258)

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

Steps to Becoming a World Class Programmer (In a Lifetime)

One tensions that I’m not sure every goes away for programmers is that of “Am I learning enough?” If it does, I’d like to know when so I can prepare myself :).

Here’s the thing: Technology, and programming specifically, move really fast and there’s a lot not only to keep up with, but to be aware of on a week-to-week basis. Notice that I did not say that there’s a lot of to learn on a week-to-week basis.

https://www.youtube.com/watch?v=52UxIgsC_0g

Very, very early in my career I used to feel as if I needed to keep up with every single new programming language and/or related technology in the software world as it releases.

Talk about a fools errand.

Even as I began working with what is now known as Pressware, I was focusing both on Ruby on Rails and WordPress at the same time. Then something changed: I dropped Ruby on Rails (not because I dislike it – critiques aside, I actually am a big fan of Ruby and what the Rails framework offers), but because I began to think:

“If I dedicated my time to one area rather than splitting it into two areas, could I be a better asset to those whom I’m tying to serve?”

But this question can be generalized even further because our culture releases tons of new stuff every single day, and there’s an implied level of “you should learn this” that comes along with it.

And if there’s not, then either I’m misunderstanding the plethora of comments, blog posts, and other pressures induced by the Internet.

Continue reading

Stop Including Custom CSS in WordPress

One of the things that I think many, many young (that is: inexperienced) theme developers do is ship a custom.css file in WordPress. Years ago, I made the mistake so I’m just as guilty as the next person.

Unfortunately, this is something that’s still happening today – we need to stop including custom CSS in WordPress and use the native facilities to take advantage of the same functionality we’re trying to achieve with this particular file.

Here’s the thing: Normally I wouldn’t bother talking about something like this because the Codex does such a good job of outlining the proper way to introduce customizations into themes, but I recently received a comment (that I’ll paraphrase) in which I was told that:

In the real world not everyone uses child themes.

Odds are, many of us have heard the old cliché that:

The difference between theory and practice is that in theory there is no difference.

And when you’re talking about something like a complex algorithm for traversing, say, the shortest path across a graph over a large network, or when we’re talking about something like properly handling memory in embedded systems, talking about theory and the real world makes sense.

That is, all of those cases are important and are worthy of optimization, but we’re talking about a single CSS file.

We’re not talking about a complex system.

And it concerns me that those who are contributing to the WordPress economy through products aren’t taking the built-in features of the application seriously. It’s seen as some bit of impracticality that they don’t want to pursue.

But this introduces it’s own set of challenges that negatively affect theme development from both a developer and a customer standpoint.

Continue reading

How to Check if a WordPress Posts Exists by Its ID

I was recently having a conversation with a friend and fellow WordPress developer about the best ways to go about checking if a post exists given nothing but an ID.

For those who are experienced with the WordPress API, there are a number of ways to go about doing this. Functions and classes that exists for things like this are:

  • `get_post`
  • `WP_Query`
  • Running a direct query with `$wpdb`
  • …and so on

Each of these has its advantages and disadvantages, but of everything listed above, there are always two things I try to make sure that I do when working with simple functions (like checking on the existence of a post).

I try to make sure the function:

  1. Is as lightweight as possible
  2. Is as easy as possible to read within the context of the existing code

After all, months from now, you never know if you’ll recall why you wrote code a certain way nor will your team or your peers necessarily know why the code you selected is set in a certain way.

Continue reading

The Negative Effects of Changing WordPress Theme Design

For as much as I’m a fan of approaching WordPress theme and plugin development as one would any other type of software project, there’s one thing about releasing major updates to themes that I don’t think should be treated as some people treat software projects.

That is, when it comes time to do a major release of a theme – regardless of what the version number is (because that’s a discussion for an entirely different post) – I think that the presentation layer or the way the theme looks or its general styles shouldn’t deviate very much from the initial design.

Think about a number of the major applications that you use on a day-to-day basis. This can be desktop software, this can be mobile applications, this can be an operating system, this can be web applications, and this can even be other WordPress themes.

A tubular update to the UI of a dog collar.

A tubular update to the UI of a dog collar.

Then, think about how often their interface changes. When it comes to major updates, there’s often times a major change in the interface or the introduction of a different way of doing something within the application. The change can be significant.

Although this introduces a learning curve which often leads to frustration on the user’s behalf, and although this is something that’s normal because of the advances in technology, I don’t think it necessarily applies to the look and feel of WordPress themes.

Continue reading

Turning Off WordPress Pingbacks

One of the features of WordPress that used to be significantly more popular is that of trackbacks and pings (or more commonly referred to as pingbacks). In short, it’s a way for those who run a blog to know when someone else has linked to one of their articles.

It’s kind of a flattering thing, isn’t it? I mean, someone is writing a post and then linking their content to yours? Then again, sometimes they could just be responding to something you’ve said in a negative way. That’s not always the most flattering thing, I guess, but it fosters conversation nonetheless.

Pingbacks are the ping pong of blogging. Or something like thing.

Pingbacks are the ping pong of blogging. Or something like thing.

Regardless, I’ve seen some people question the purpose of pingbacks, question whether or not they should be enabled or disabled, and question whether or not they actually help readers when skimming through the content.

Though I personally don’t have any kind of evidence from any kind of study to back up any of those points above, I have decided to turn pingbacks off on the public-facing aspect of my site in the coming days.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑