Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 205 of 427

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

My Suite of Apps: Telegram

Outside of the normal messaging applications that are available on our phones – regardless of if you’re on Android or in iOS – there’s no shortage of options when it comes to having yet-another-messaging-application.

And maybe that’s what this particular post will be about, but out of all of the messaging apps that I’ve tried, I’m big fan of Telegram.

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

Adding a TinyMCE Button to WordPress: The Button

Throughout this series, I’ve been talking through the process of how go about adding a TinyMCE button to WordPress – specifically, adding a custom button to the post editor.

Up to this point, I’ve covered a number of different things. Namely:

The thing is, we haven’t actually made anything happen in the editor let alone even introduce a button into the actual editor yet.

In this post, we’ll do exactly that.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑