Development Archives

  1. jQuery Delayed Change Event Plugin

    A little while back I created a small jQuery library for a project I was working on. This was mainly an exercise for me to refresh my knowledge of jQuery plugins, but it was also a feature I needed. The feature is a “delayed change” event trigger for a field (useful when implementing background auto-save).…

  2. Twitter Tools’ Data Upgrade Process

    tweet-upgrade-notice

    One of the important changes in Twitter Tools 3.0 is the way that tweet data is stored in your WordPress database. Instead of writing that content in a separate database table the tweets are now stored as a custom post type within the posts table. This gives us all sorts of great benefits: it utilizes…

  3. Twitter Tools 3.0.1

    I released Twitter Tools 3.0.1 last night to address all confirmed bugs in version 3.0: Respect timezone offset for new posts from tweets Ensure categories and tags are set properly for new posts from tweets Make enabled/disabled accounts more visually explicit Use proper URL example in help text Want more details? Check out the diff.…

  4. Twitter Tools 3.0 FAQ

    Wherein I attempt to answer some of the more common questions I’ve seen surrounding yesterday’s launch of Twitter Tools 3.0. Why am I forced to use the Social plugin to use Twitter Tools? I assure you, no one is forcing you to do anything. Why is Twitter Tools now dependent on Social? When Twitter moved…

  5. Twitter Tools 3.0

    When I first started posting to Twitter I soon realized that I wanted to keep a copy of that content. Twitter Tools was born shortly thereafter. Since that time Twitter has evolved, WordPress has evolved, and my vision of how best to integrate the two has evolved with them. Twitter Tools 3.0 is a complete…

  6. Big “Slash Sanity” Patch Unit Tests

    I was able to finish up1 the unit tests to cover the various “slashing” scenarios that my big patch is intended to address and commit those last night. With these in place, I’m hopeful the patch will be able to land for 3.5. Thanks in advance to anyone who is able to apply the patch…

  7. WordPress “stripslashes” Patch Progress

    The patch I posted about previously to improve the slash handling within WordPress for 3.5 (which fixes some core bugs and fixes tons of developer custom code bugs) is still looking promising. After setting up my unit testing environment a few days back and talking with a colleague to verify the proper approach, I began…

  8. Big WordPress Patch: Remove “stripslashes” from API Functions

    For the last month or so I’ve been working on a patch to move the “stripslashes” functionality from the WordPress “model” API functions to the “controller” code (where it belongs). This change will mean that you don’t have to call add_magic_quotes() around your data when passing it to wp_insert_post(), wp_insert_user(), etc. As hardly any developers…

  9. How to Safely Use Plugin Functions in a Theme

    I feel like I’d be remiss if I didn’t add this to the conversation. I’ve seen some people indicating that calling plugin functions in themes is a bad idea (here’s an example comment to that effect). I think this is going too far – including a call to a plugin in a theme is fine…

  10. Viewing Source on the Nexus 7

    If you want to “view source” for an HTML page on the Nexus 7, you can do so in Chrome by prepending “view-source:” to the URL. Example: view-source:http://alexking.org This will also work (it redirects to the http:// verision): view-source:alexking.org This also works in the desktop versions of Chrome and Firefox, but doesn’t seem to work…

  11. The Right Way to Include a Plugin in a WordPress Theme

    In our FavePersonal theme we integrated the excellent Social plugin from MailChimp and included an option to turn it on or off. Most importantly we did it in a way that still allows the Social plugin to be installed and updated independently. We made sure that we implemented this in a manner that: respected users’…

  12. Standing on the Backs of Cockroaches

    I love Open Source. It’s great that someone has already solved so many of my problems for me; complete with bugs I might have written when solving the problem for the first time. Outline work to be done for Feature X. Begin work on Feature X. Find bug in some other library. Fix bug. Return…

  13. Carrington Core and Globals

    Carrington Core1 loads template files through a function rather than including them directly within the global scope. This means that global variables need to be explicitly brought into scope rather than just being there and available to you. I’ve considered this a feature, because it means that you’re much less likely to stomp on an…