Development Archives

  1. http_build_query() Separator Tip

    I ran into an interesting “bug” in Twitter Tools last night that I traced back to http_build_query(). I expected that the query strings generated by this function used & as a separator for the key=value pairs, but on one of our test servers, the separator being used was &. This is a php.ini config setting,…

  2. Twitter Tools 3.0 beta 2

    I’ve packaged beta 2 of the next generation version of Twitter Tools. Version 3.0 is a ground-up rewrite on top of the Social platform, with a few features included for backward compatibility. If you’d like to test the beta, grab it from GitHub. This version fixes several bugs that were found in our QA process,…

  3. WP_Query by “Standard” Post Format

    When using WordPress post formats, you’ll quickly start looking for a way to query WordPress content by the “standard” post format. This Trac ticket seeks to work on solving this. The implementation there handles URL-based requests: http://example.com/type/standard/ quite nicely. However the code in that patch doesn’t (yet) handle direct WP_Query calls. I was hacking on…

  4. Popularity Contest is Dead (and on GitHub)

    I wrote the Popularity Contest plugin for WordPress back in May of 2005. It had a good run, but that run is over. We are no longer developing or supporting Popularity Contest, and I recommend letting it rest peacefully. Why? It does too much, and too little at the same time. It does too much.…

  5. WordPress Plugins and Symlinks

    If you’re doing serious development for WordPress you will quickly find yourself in a situation where you need to test a plugin in multiple installations. Using symlinks is a great way to make sure that you don’t end up editing in multiple locations, perhaps forgetting to commit a change, etc. However, there are some headaches…

  6. Not Getting GitHub Notifications?

    I have been moving Crowd Favorite‘s Open Source projects to GitHub (as well as my personal projects). GitHub has great tools for this. We created an organization, added the team members to that organization, and created repositories for our projects. As a few of our projects have enjoyed exactly the sort of developer community engagement…

  7. WordPress Post Format Fallbacks

    Post Format Fallbacks

    While our post formats admin UI is getting a nice warm reception (100+ tweets, pings and comments, wow!), there is a concern that has popped up a few times – one that I included a nod towards in my original post. What happens when publishers put important data in the post format custom fields, then…

  8. WordPress Post Formats Admin UI

    format-standard

    The Post Formats feature that landed in WordPress 3.1 is a great framework feature. I’m leveraging it extensively on this site to drive my link, status, photo and gallery posts. While it is a great framework feature, it only really exists as something developers leverage to extend WordPress. There is no UI that ships with…

  9. wp_publish_post() Does Not Set post_*

    The inline documentation for wp_publish_post() says that it will: Publish a post by transitioning the post status. and that’s exactly what it does. Moreover, that’s all it does. If you are creating a draft post via wp_insert_post() (or wp_update_post(), which calls wp_insert_post()), certain defaults will be set for you when the post status is set…

  10. Wanted: Multiple Incognito Sessions

    Steve laments the lack of easy “Incognito” windows in Firefox. I tried Safari as my primary browser for a few weeks when I upgraded to Lion and I really missed this as well. Once it becomes part of your workflow, it’s really hard to go back. I actually want it to go a step further.…

  11. Modernizr.touch and BlackBerry Browsers

    If you’re using Moderinzr to detect browser support for touch events, be aware that non-touch BlackBerry devices claim to support touch events. As you might expect, the touch events are pretty much impossible to trigger on a non-touch device. I worked around this by making the check for touch vs. non-touch browsers also test for…

  12. Custom Fields vs. Taxonomies

    For years I’ve used custom fields (post meta) in WordPress as a primary storage area for misc. data about specific posts (including pages, custom post types, etc.). Recently, I’ve realized that I should be using custom taxonomies instead of custom fields in a variety of situations. Custom fields are still the right choice for misc.…

  13. Where to Host WordPress Code?

    I talked to a number of developers about at this year’s WordCamp SF about where best to publish WordPress code as a developer. We definitely want to use the SVN repositories on WordPress.org so that released plugins can be easily available to the community, but there is very little developer community there. We’ve also used…

  14. WordPress Filter for Pingbacks

    My team and I have been working on a plugin to enable a better UI for post formats in the WordPress admin (more on this later, but feel free to grab the code and play with it). One of the things we’ve done is standardize on some custom field names for various bits of data…