Organizing WordPress Settings Screens with Namespaces

As many of us continue to move forward with PHP7+, we can continue to take advantage of a lot of new features that the language offers.

Organizing WordPress Settings Screens: PHP7

In the meantime, though, there are still features of PHP and related software that we can use t help streamline our development. The least of which (and that which I’ve written and spoken about a bit) is namespaces.

Namespaces and Autoloading in WordPress

Here’s the thing, though: I like to have my plugin’s files and directories structured so that they are organized to mirror that of the namespace conventions they follow. And this can be done for taxonomies, meta boxes, domain objects, database-related functionality and so on.

In this post, though, I want to talk about a way of organizing WordPress settings screens from both the logical – that is, their file system location – and the virtual – that is, their namespaces – organizational structures.

Read More

How to Easily Truncate Text in PHP

If you treat WordPress exclusively as a blogging application or, even in a more liberal sense, a content management system, then you’re likely used to using the editor or the excerpt field to write a teaser then introduce a Read More link.

WordPress for Web Applications (Again)

For those who have read this site for a while, I’m specifically interested in using WordPress as a foundation for web application development (see also this, this, this, and this).

WordPress for Web Applications

At the time of this post, this is an article that’s about six years old.

So there are times when the content that you’re going to be rendering on the front-end may be coming from a third-party source.

Back to the Content

That is, the application works like this:

  1. contact a third-party API,
  2. import data from the call and parse it as necessary,
  3. write it to the database,
  4. render the information on the front-end when requested.

There’s a lot that can go in between each of the above steps, but the main thing I want to share in this post is an effective way to easily truncate text using PHP to render on the front-end.

This is useful for providing teasers, linking out to third-party sites, and more all without needing to write or edit content manually.

Read More

What Content is Next for Site Members?

When I set out to create a members-only section of my website, it was to do two things:

  1. provide members with access to high-quality articles for how to approach object-oriented programming in WordPress,
  2. grants discounts to other products and services that I found useful via friends, acquaintances and other services.

Periodically, I do get questions about the content that I’ve produced thus far. If you’re interested in reading the full, detailed list, you can see them here.

Content for Site Members: Members Only Content

But the gist of what I have so far is here:

And that’s the content that I have for site members thus far. But that doesn’t answer the question of what’s next (nor does it answer the question as to why I’ve laid things out the way that I have), so I thought I’d take a post to do that.

Read More

An Example of Retrieving Namespaced Properties in PHP

When you write enough code that communicates with third-party APIs, you’re more than likely going to find yourself communicating with an XML-based API.

And say what you will about it: Some like it, some don’t. But they exist, and they are thus going to be a necessary part of your development at some point.

If the API is well-designed, it will likely use namespaces for different types of requests and responses. And when you’re writing the client for said API, then you’re likely going to need to go about retrieving namespaced properties.

It’s easy to do it, but it’s not immediately obvious. So in this post, I’m going to walk through an example of how to do just that.

Read More

An Alternative to the WordPress template_redirect Hook

The majority of the work that I do right now focuses on custom plugins or utilities that work on top of WordPress.

If you were to conceptualize how many of the projects that I build are put together, you’d review WordPress (and all that it entails) as the foundation, and then the code has having a layer that communicates with WordPress, and that may communicate with third-party APIs.

When doing this, though, there’s often a front-end component that requires I render information into templates. Though building templates for WordPress aren’t inherently difficult (though I do wish we had a bit more than template tags – such as a templating engine, that’s another post), I think it’s worth looking at a couple of ways that we can handle custom templates that we bundled with plugins.

One of the first questions that’s often raised with this statement, though, is

Why would you include custom templates in a plugin?

And I get it on some levels.

  1. Keeping templates in a plugin blurs the lines a bit between themes and plugins especially when you leave themes for presentation and plugins for business logic,
  2. Asking users to copy theme files on from one location to another is bad user experience.

But there are a few rebuttles or perhaps outright exceptions to the above cases.

Read More