A little over a week ago, I shared a post about one way I try to work well with designers when working with WordPress. That is, I talked about how of stubbing out files they may need in order to get their work done.

Starting Up a Plugin

As mentioned in the post:

There are plenty of tips that can be shared and I’ll probably share more in the future.

So I thought I’d try to make this a regular thing by continuing to share some of the things I’ve learned – both what to do and what not to do – when partnering with designers or I’ve learned when simply working alone or with others on WordPress projects.

And one of the things I’ve found to be helpful is to provide helper functions when needing to call into more complicated functionality.

Read More

One of the terms we hear a lot in web development is “progressive enhancement.” If you’re new to web development, Wikipedia defines it as follows:

Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing an enhanced version of the page to those with more advanced browser software or greater bandwidth.

Perhaps another way of looking at it is you introduce a basic feature such that it functions without any of the newer-ish technologies – such as Ajax – and then progressively enhancing the feature so it works a bit more smoothly (or flashier, because that’s a proper term).

Ultimately, it should improve the user experience without compromising the feature for those who don’t have access to newer technologies.

But there’s a challenge those who have been in development for a while tend to face.

Read More

With the rise of package managers, build tools, and other similar software being brought to WordPress, we’re seeing more advanced directory structures in both our themes and our plugins.

Some of these tools have been around a long time – at least in one form or another – as it relates to software development, but it’s still relatively new with respect to WordPress.

If you’re new to WordPress development or you’re new to some of the various tools we have at our disposal for working on these types of projects, then it’s easy to get overwhelmed with some of the organizational choices of said projects.

Relax: that’s normal. It’s a natural part of the learning curve.

Though there’s a lot that can be talked about with respect to all of this, I thought it might be worth tackling just one aspect of it in this particular article.

Read More

At the end of September (September 25th – 27th, to be exact), I’ll be hanging out with a lot of other great people at WordCamp Tampa.

Code Reviews at WordCamp Tampa


As of now, the schedule is still being put together, so I don’t know any more details than what you can find on the website; however, there is one event that I think anyone who is coming. should consider attending: A live code audit.

In short, it’s your code in front of a panel of other people critiquing it in front of all of your peers. Sounds scary, right?

Years ago, I used to think so – but then I realized just how great code reviews can be and I urge anyone who is writing code for a living to have someone else review their work.

Read More

Say what you will about the built in WordPress search functionality – sure, it could stand to be improved (personally I’m a fan of SearchWP) – but not all projects warrant the same requirements, right?

Sometimes, the built-in search functionality works just fine out-of-the-box. It gets a little more involved if you start introducing, say, custom taxonomies or custom post types, though.

That is, say you’re working on a project or have a client who needs help with modifying the built in search functionality so that it allows for searching custom post types. There’s actually a lot of flexibility provided in how you tailor the search results, but for this case it’s pretty easy. Read More

Yes, there are a lot of front-end frameworks that are available for use in WordPress development, and no I wouldn’t say I have a favorite (though I tend to use Bootstrap or Foundation for most of my work, at this time).

At the time of this writing, I’m currently working on a project in which I’m using Bootstrap 3.3.5 to handle the front-end.


Part of the project calls for use of the tab functionality in such a way that you can, y’know, tab through several panes of information without actually leaving the page.

If you’ve ever used Bootstrap, you know it’s easy to setup and integrate into a project; however, if you’re looking to introduce more complicated functionality such as having to make asynchronous requests whenever the pages tabs change and then you need to update the DOM accordingly, it can actually be a little frustrating in nature.

Sure, there are some ways in which you can track which tab is active – class names, using hidden fields, etc., but depending on how you’ve architected the front-end and what’s happening with the Ajax response, you may actually end up with needing to do something a little more advanced than that.

Generally speaking, whenever I’m working with JavaScript and I’m trying to handle an asynchronous event (or even synchronous events, for that matter), I want to use exactly that – events.

But when it comes to needing to handle when a tab has been changed to toggle a pane in Bootstrap, what event do we use? again hanks

Read More

Some of the developers and designers who I admire the most in the wider development community are really good about being open about various aspects of their businesses. Sometimes they talk about their challenges, sometimes they do financial reports, and other times they cover different topics.

I’ve slowly been trying to share some of my own experience as it relates to self-employment. It’s not meant to be prescriptive or meant to be a guide on how you should do anything, but it’s something that I hope proves useful if for no other reason than to show what’s worked for me.

So in this post, I thought I’d share how I’ve gone about managing my books – or how I’ve done self-employment accounting – since working out of Pressware.

Read More

If you’re a developer working in WordPress, then odds are you’ve spent time working with designers. Assuming you’re working with a good designer, it can be a lot of fun.

I think we’ve all had our share of experiences both good and bad (and luckily I’m at a point where I’m working with some really great designers), but I think there are things we – as developers – can do to help make our designers jobs a little bit easier.

Read More

I guess the question should be a bit more specific:

How do you manage content ownership with photo sharing services?

Sure, we could talk a lot about a number of different services that allow you to share content – links, videos, short form content, even blog content – and so on, but photo sharing services are kind of all of the rage right now.

And I completely understand why, too. But I’ll come back to this in a minute.

With that said, I’m genuinely curious about your opinion as it relates to services like Instagram and other similar applications.

Read More

A couple of weeks ago, I worked through a series of posts on how to write a TinyMCE plugin for the WordPress editor (since the WordPress Editor is TinyMCE).

In a recent project, one of the things that I needed to a build was a feature that allowed users to highlight text such that they would select the text in the editor (you know, with their mouse), click on a “Highlight Text” button in the toolbar, then have the text highlight.

Highlighting Text in the WordPress Editor

And, naturally, it would return to its normal state of being un-highlighted if the text is selected and then the toolbar button is clicked again.

Though there’s no reason to share how the plugin is built in its entirety, I thought I’d walk through how I added the new command to the toolbar and used the HTML5 mark tag to include this functionality.

Read More