WordPress

  • jQuery as a Global Event Bus

    ·

    Some time ago, I made a mistake.  Rather than taking the time to truly understand how events worked in jQuery, I built my own JavaScript library to handle event delegation. It worked, but why reinvent the wheel? It turns out jQuery is perfectly capable of serving as a global event bus for all of your

    Read More

  • Using XML-RPC in WordPress

    ·

    It was brought to my attention last week that there aren’t very many good tutorials on the web regarding the use of XML-RPC in WordPress.  Sure, there are plenty that talk about how easy it is to use and how great of a tool it can be, but few examples explaining just how it can be

    Read More

  • Theme-ready Shortcodes in WordPress

    ·

    A few months back, I taught you how to make your widgets theme-ready by extracting the actual markup into an overridable template.  Now, we’re going to do the same for shortcodes. And for those of you wanting to see this in practice, stay tuned for the release of version 2.5 of WP Publication Archive in

    Read More

  • Why I Left My Job

    ·

    As most of you know, I started a new job a few weeks ago with 10up. It’s an amazing job so far, and I’m thrilled to work with several developers I admire and am lucky enough to call friends. But deciding to take this new job was a difficult decision for me – because I…

    Read More

  • The Anatomy of an Exploit

    ·

    I’m a huge fan of security. I spend many a weekend experimenting with new encryption techniques, hash algorithms, and security protocols. As a result, I also come across several different server exploits in the wild. PHP hacks, [cci].htaccess[/cci] hacks, JavaScript injection, etc. I once even saw a server hacked through a corrupt PNG image that

    Read More

  • Doing it Wrong the Right Way

    ·

    Telling someone there’s a right way to include a plugin in a theme is like telling someone there’s a right way to cheer for the Beavers during the Oregon Civil War. There is no right way. However, there are still ways to do it if you absolutely need to. Let’s admit it. As developers, we’re lazy.

    Read More

  • Why Sponsor WordCamp Portland

    ·

    This August, I’ll be attending WordCamp Portland. I’ll also be speaking at WordCamp Portland. Last week, I also decided to sponsor WordCamp Portland. Why all the investment?  It’s simple.  I love Portland.  I love WordPress.  And I have a blast spending money on the things that I love.

    Read More

  • Merging WordPress Multisite

    ·

    When I first set up my personal website network, I got a bit carried away.  Once I had the first two sites in a multisite network, I started splitting out every category of my blog into its own site – each with its own domain. At the peak, I had: One site for my personal

    Read More

  • How to Contribute to WordPress Core

    ·

    My first ever contribution to WordPress was trimming whitespace from keys stored in the WordPress options table. Basically, I removed a space. But since then, I’ve contributed quite a few other patches to the project I love.  Eleven of them have actually made it in to the core codebase! At the Portland WordPress User Group

    Read More

  • Classy Plugins

    ·

    I was asked a few weeks ago why I structured my WordPress plugins the way I do. Anyone who has spent any time looking at my code knows that I like to keep my main functions in a class and wire up action hooks and filters in the root of the plugin.  But few people

    Read More