Software Engineering in WordPress, PHP, and Backend Development

Author: Tom (Page 289 of 429)

Programmatically Upload Files in WordPress (and Create Associated Meta Data)

This is post one of two on how to upload files in WordPress and created associated meta data.

In a recent project, I’ve been working on a plugin in which the user needs to upload a file to a custom post type by using an input element (of type file, obviously) rather than using the WordPress media uploader.

In addition to being able to upload the file, the user must also be able to view the file and remove the file (via Ajax) by an available anchor.

In order to do this, the plugin has to do the following:

  1. Upload the file to the `uploads` directory
  2. Save the file URL to the custom post type’s post meta data
  3. Save the file path to the custom post type’s post meta data
  4. Delete the file from the `uploads directory
  5. Clear the post meta data referencing the file

The primary reason that you have to store the file’s location on disk is because you can’t rely on PHP to delete a file via remote requests.

To that end, you need to be able to store not only where the file is on disk (for the sake of being able to delete), but also the URL of the file so that visitors or viewers can access the file via their browser.

Over the next two articles, I’ll share how to programmatically upload files in WordPress and save their associated meta data, and then I’ll share how to programmatically delete the files in WordPress as well as their associated meta data.
Continue reading

Developers Must Know Everything, Or I’m Out of a Job

I was talking with a fellow developer recently about some of the more recent “tools of the trade,” so to speak.

That is, we were discussing some of the newer frameworks that have been made available, web server software, configuration management tools, and dependency management applications.

I don’t know if this is a good thing or a bad thing, but the truth is that for the past couple of years, my technology stack hasn’t changed all of that much: Everything from the database all the way up through the IDE that I use has remained the same.

This isn’t to say that learning new technologies isn’t important, but I think that there’s something in our culture – at least in the United States – that invites us to spend our time spreading ourselves very thin across a variety of technologies rather than becoming specialized in a smaller subset of tools.

Continue reading

How To Check if a Page Is in an iFrame

iframes aren’t exactly the most widely used browser technology anymore, but that doesn’t meant that they don’t have their place, especially in WordPress development.

For those of you who have worked with features such as the Theme Customizer, then you are certainly familiar with how the feature is structured and the role that an iframe plays in giving you the controls and preview of the theme as you’re making changes.

Although it may not be terribly common, there are times in which you may need to check if a page is in an iframe.

There are a variety of reasons in which this may need to be done (dynamically adjusting the height or width of an element on resize, for example), and it’s really easy to do with a little bit of JavaScript.

Continue reading

Writing Open Source Code (Or “Here Be Dragons”)

Here Be Dragons

I don’t know if this is something that every developer experiences – regardless of what level of the stack you work on – but I know that for those who truly care about getting better at what we do, there’s often this constant feeling of “I think this could be better.”

Or, perhaps another way of saying it, is that one of the challenges in writing open source code is the criticism that can come that infuse a level of self-doubt.

For example, how many times have those of you who have contributed to a larger project, built something of your own from the ground up, or simply tried to write a small add-on to an existing solution, ended up with something that works, but have this sinking feeling that this just isn’t as elegant – or, I dunno, optimal – as it should be.

I mean, surely it’s not just me, right?

Continue reading

My Preferred Web Page Screenshot Tool, Take 2: Awesome Screenshot

I no longer use this extension. You can read a technical explanation as to why on this page.

As you guys know, I like to keep a list of tools that I use on a day-to-day base to help get work done. And early last year, I shared that I was a fan of Screen Capture by Google.

Unfortunately, as Chrome has updated, the plugin has not and I began to experience more and more issues with it crashing, not saving screenshots, and generally not working. When this happens, I do what everyone else opts to do: look for a new solution.

For the past several weeks, I’ve been using Awesome Screenshot and I’m a big fan of it.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑