Software Engineering in Web Development, Backend Services, and More

Category: Articles (Page 152 of 258)

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

TinyMCE and WordPress: Using a Button To Add Content

If you’ve been following along with this series so far, then you know I’ve been working through a series of posts that aims to show how to integrate your own button into the WordPress post editor.

My very own copy TinyMCE Editor. Show spectacular.

My very own copy TinyMCE Editor. So spectacular.

When doing this, we’re specifically working with both TinyMCE and WordPress. That is, we’re writing a TinyMCE plugin that is then wrapped in a WordPress plugin that will then allow the user to click on the button and add their own content (whatever that content may be).

In the next couple of articles, we’re going to take a look at how to do exactly that. First, we’ll start with simply connecting the result of clicking on the TinyMCE button with WordPress and then we’ll look at how to do some more advanced work.

Continue reading

Why Are These WordPress Hooks Firing Twice?

The hook system that’s built into WordPress is great and really powerful once you fully understand now only how the default actions and filters work, but how you can leverage them in your own themes and plugins to have others work for you.

But there’s a problem that comes with this: Other developers can often abuse them. Perhaps they will name a hook like one that already exists, or perhaps they’ll trigger a hook outside of the normal WordPress lifecycle.

When you’re working on building a plugin that’s adhering to the best practices of using a predefined hook and another plugin ends up breaking the usual flow of control, it can be extremely frustrating.

You – or at least I – can literally spend hours trying to isolate and trace down the source of the problem.

Frustrating, right?

Anyway, I’m not in the business of “calling other people out” or identifying problematic plugins on this site (though I don’t mind to discussing one on one), so this post is not about a plugin that’s doing things in a way that I don’t recommend.

Instead, it’s about finding ways to find a solution when you’re faced with a similar problem.

Continue reading

Confessions of a Social Networking Skeptic

TL;DR: I’m what you’d call a social networking skeptic and I have little trust in the services we use to house our data.

I’ve been thinking about writing a post like this for sometime. It’s not controversial and it won’t result in a lot of discussion, but it’s something important to me and it took a while to articulate everything it is that I wanted to say.

Originally, it started off as something like this:

When it comes to working with data and applications, it’s important I have the ability to own my data.

But that isn’t completely true, so hear me out.

I know some people believe that open source gives them the ability to own all of the information that they give to the application, but that’s not always the case.

First, I think using nothing but open source as a personal philosophy is great. It’s not something that I personally choose to do, but I absolutely understand it and it does have a certain allure to it.

Secondly, when working with open source software, that doesn’t necessarily mean that the information that you’re giving an application will continue to be own solely by you. Take, for example, Instagram.

It’s a closed source application that uses third-party libraries several of which are open source:

Instagram's third-party libraries.

“We thank the open source community for all of their contributions.”

And that’s also fine. Using other libraries rather than writing your own – under the right circumstances – is one mark of good software development.

But do they let you maintain the ownership of your images and videos? This isn’t meant to call out Instagram specifically, but any of the social sharing services that are currently available (especially those that are popular).

To be clear, applications like Instagram do let you maintain a copy of your image on your Camera Roll (or whatever equivalent application your phone or device calls it), but that image is now stored on a third-party server where it may or may not persist from the moment it’s shared and whether or not you delete your account.

And sure, the terms to which you agree – whether you’ve read them or not – are subject to change at any time such that perhaps the rights you have today are not the rights you have tomorrow.

Again, for what it’s worth, I use Instagram as an example not because I’m out to vilify them, but because they were the first example that came to mind.

Anyway, the more I began to think about data ownership as it relates to social applications, the cloud, and basically any other application, the more I began to realize that my problem isn’t that I want to own all of my data – I mean, of course I want to own all of my data – but that I’m skeptical as to what some services may do with the data that I give them.

In this case, I’m specifically talking about social networking services.

Continue reading

Getting Started with Fixing WordPress Bugs

It’s one thing to have a local copy of the latest version of WordPress installed on your system – don’t get me wrong, it’s really cool to be able to see some of the new features – but it’s another thing to want to get involved in contributing to the codebase.

Sure, it’s completely possible to get started by trying to implement your own desired feature, but the likelihood that it’s going to be merged into core is very, very small. Those type of decisions have a process through which they undergo before being merged. Plus, that’s taking on a lot if you’re just getting started with contributing code to WordPress.

But what about trying to fix WordPress bugs? That is, what if you were to want to try to take your chances with fixing some of the existing problems with the software?

That’s a bit easier.

Continue reading

WordPress and Subversion: How To Check Out The Latest Code

There’s a lot going on as it relates to working with WordPress right now: People are discussing things ranging from dependency manage (via tools such as Composer) and talking about the up and coming REST API (which is really exciting).

I’ve also recently read that the object-oriented programming approach is just now making its way to WordPress development. Personally, I don’t fully agree with that, but I do think that there are some advanced topics that are making there way over such as inversion of control, dependency injection containers, and so on.

All of those are important things to be discussed, shared, and taught to others, for sure. But sometimes, I think that we forget that there are some basic things about WordPress that those who are just getting involved need to learn before getting into those topics.

These things include how to grab a copy of the latest version of WordPress from the trunk (let alone explaining what “trunk” – or source control – even is), how to get started with working on your first set of issues, and so on.

WordPress Trunk

This is something that I think those involved in WordPress development could do a better job of teaching. To be clear, I think some do a fantastic job. Some are also very quiet – and that’s fine, not everyone cares to blog and many people are heads down on important work.

But as much as we want people to be involved in open source, I think we should make sure people are educated as well as possible to get involved and have a clear understanding of what to do.

Opting not to share information doesn’t mean you’re greedy; however, as I’ve been thinking about the wide range of topics that exist for those who are trying to get involved in WordPress or who are looking to up their game as it relates to object-oriented programming, I thought it might be worth sharing some shorter articles on how to get started with some of these topics.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑