Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 49 of 427

The Evolving Purpose of Blogging

In the last eight years or so, maybe less, the way we blog has changed. Maybe not so much in terms of how we do it but in terms of:

  1. what it is that we have to say,
  2. how we say what we want to say,
  3. how other people read what it is that we have to say (which is really more on them but you get it, right?)

I remember when it was much more about the comment engagement and also sharing what we thought, learned, or viewed on a particular subject.

As much as possible, I still try to stick to that. That is, I try to share:

  • what I’m doing,
  • what I’ve learned,
  • and my perspective on a given subject.

Now, though, I’m not as much concerned about the comments (hence why I turned them off some time ago). This doesn’t mean I don’t care about feedback – I do – but I find when people have to jump through a few extra steps to provide feedback, the quality of it goes way up.

Anyway, it seems to me that blogging has drastically changed in one major way over the last few years:

We write for a reaction rather than edification.

Reaction, in and of itself, isn’t bad. Of course, it’s not. But the type of reaction we seek may be. But I’m not here to get too much into that. Instead, I’m wondering if the purpose of blogging hasn’t changed.

Continue reading

A Case for Building Web Applications on WordPress

The content of this post is essentially the text version of the talk that I recently gave at WordCamp Atlanta 2019. Sure, some parts are left out, and some parts are modified but I do that since this is a different medium and certain statements or examples don’t translate as well. 🙃

The purpose of the talk, as you can tell from the title, is presenting a case for building web applications with WordPress.

I believe it can be done – because I’ve seen it done and worked with teams who do it – but before actually looking into the reasons why I think it’s a good foundation for certain applications, I also want to clarify terminology that we toss around a bit.

Ultimately, I want to define my terms so there isn’t any confusion, and then I want to use said terms to move forward.

But enough of the setup, right? Here’s the content of the talk.

Continue reading

Working with WordPress Transients and Authentication

In continuing with the content of the previous post, it’s important also to consider the use of transients and authentication.

Because there are scenarios where users are authenticated on a site (think of a members-only area of a site) and or aren’t authenticated on the site (such as site visitors).

These types of situations are present both on blogs and other sites and web applications across the board.

Continue reading

Using WordPress Transients Instead of Cookies?

I’ve written about using cookies in WordPress before, but one of the thing about doing so is that they typically after to fire within the context of an init hook.

When working in an object-oriented fashion and trying to de-couple certain pieces of logic such that you can use them without having to rely on other hooks, it’s important to find ways to handle this.

Otherwise, the code becomes tightly-coupled, and you can have hooks, do_action calls, or anonymous functions all over the place.

To simulate the nature of cookies and their feature of expiration, using WordPress transients via the appropriately named Transients API may be a viable solution.

Continue reading

Episode 5 – Events and Competence

Regarding the podcast, two of the best things that’ve happened since the previous episode is that the number of questions is steadily increasing and people are saying they appreciate the length of the show.

So that’s good stuff, as far as I’m concerned.

Anyway, if you’ve previously subscribed to the show, then this episode should be available in your favorite app or service.

With that, here are the notes for this episode.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑