Update: Version 1.6.3 of Memberships now includes a filter so that if you’d like to modify the query, you can. The first gist shows the filter as it is in the code, and the second gist has been updated to use the filter to reorder the posts by title.


Wow, that’s a long title.

So, I came across this issue today and I only saw a somewhat simple, but complex way to fix it. The problem is that when using WooCommerce Memberships, the content in the My Membership Content page is ordered in the default WordPress order of newest to oldest. After looking through the code, I understood why, but I’m not getting into that.

What I will get into is how to somewhat order this according to what you may need. The gist below contains a function that will edit the query for the posts and order the posts by title (a-z).

More information on how to modify WP_Query would need to be read up on in the WP_query section of the WordPress Codex.

As of right now, and version 1.6.1, it works. It may be updated in the future to be a little more user friendly, though. It has officially been updated to be more user friendly.

Recently I came across an amazing plugin named Advanced Custom Fields. This thing allows me to rapidly develop themes with clean, easy to use forms for custom fields. Those custom fields become the main content of front end layouts, much like my current About page.

This plugin has the ability to have a JSON file that has your field structure in it, and if you update that file, it will ask you if you want to sync those changes. Well, since I am going to hide the plugin, and I want to just push updates to my clients, I needed a way to automatically sync the updates.

I opened up the code for the plugin to see how the sync worked, took some of the code, and wrote my own function to perform the sync. Enter the gist of it:
Jump to post “Automatically update Advanced Custom Fields field groups via JSON”

I am currently working on a project where the designer has created 5 top level items in the primary nav of site. These items are meant to look like buttons and have fixed widths, so there will be a problem if the end user of the theme then decides they want 6 top level elements and they retain that fixed width. I needed a way to add a class to the nav defining how many parent/top level items there are, and then I could style the nav based on that.

Here’s what I’ve come up with:
Jump to post “Add a parent count class to WordPress nav menu containers”

So, I keep expanding my bag of tricks for WordPress, and one of the tricks I have is a media uploader that be placed in a meta box or in widget settings by just adding a couple lines of HTML, jQuery does the rest from there. The problem I ran into was when a new widget was added the click events were not bound to them, which is because the html for the widget is dynamically added, but you already knew that.

I dug into the WordPress jQuery code (/wp-admin/js/widgets.js to be exact) and found this:

This will allow you target the newly created widget with a function you’ve created:

Congrats, you have one less white hair today.

Let me preface this, this is only if you are creating a widget and not if you just want to add a class to an existing widget, there are plugins that do that.

It’s really actually simple, I just could not find the answer right away because it isn’t one of those things mentioned in the Widgets API section of the WordPress Codex.

The above link has this in the Example when creating a widget:

If there were one more line (like the below), then this post wouldn’t exist. The array that holds the description can also have a key of classname, which can have a string value, which is turned into your widget’s css classes.

Happy coding.