Major Changes in the WordPress.org Plugin Directory

The new plugin Reviews feature suggests a shifting approach to the WordPress ecosystem.

Reviews: a new tab in town

WordPress.org Reviews TabOn every plugin page, there is now a Reviews tab. This is in addition to the Support tab that WordPress added around August.

Rating a plugin now requires a review

Until now, WordPress reviews were basic: 1-5 stars, with no additional details. You would only need to be signed in and click a star rating. With this change, WordPress.org requires users to be logged in and to write a review with their star rating. This will force users to be more thoughtful on why they rate a plugin a certain way.

You can now reply to reviews. Nice.Each review is now a forum thread: when a review is posted, the plugin author has a chance to reply. This is great for me as a plugin author: I can attempt to  resolve issues and get better plugin ratings. Users are able to modify their reviews and update their star ratings, which adds incentive for plugin authors to address issues with each reviewer. This is smart.

The beginning of higher accountability.

This is one way to add security and stability to the WordPress ecosystem.

I believe WordPress wants to have more tight controls over the plugins listed on the directory.  With over 22,000 plugins, Automattic simply does not have the resources to make sure all plugins are up to snuff.

The WordPress team has taken steps to help users know whether a plugin is good or not:

  • The May update made visible the number of resolved plugin support requests over a time span.
  • Earlier in the year, the website started displayed a banner alerting users when a plugin hadn’t been updated in over two years.
  • In 2011, the website started showing a graph of the plugin star ratings, not just the aggregated star rating. This helped visualize the plugin’s ratings.

WordPress as a platform.

Matt Mullenweg spoke at a WordCamp recently about his vision for auto-updating WordPress where users wouldn’t have to manually upgrade the software. His vision is of WordPress as a hassle-free platform, and I bet that reducing the variables added by troublesome plugins or themes is a high priority.

WordPress 3.5, currently in beta, introduces a new feature (emphasis mine):

You can browse and install plugins you’ve marked as favorites on WordPress.org, directly from your dashboard.

This feature, in concert with more in-depth reviews, marks a shift from a directory of plugin downloads to more of a WordPress “App Store” mentality: when you are logged in to your account, you can easily find and download your favorite plugins. The directory, armed with better ratings and review, will show higher-rated plugins first. All from inside WordPress instead of on the WordPress.org website.

This reviews implementation is a big next for the plugin directory, and is likely the first  step of many. I look forward to seeing what is planned for the directory, as well as the WordPress platform as a whole.


Notes as a Plugin Developer

  • On each plugin page, you can grab an RSS feed of the reviews, which will be helpful for responding to review comments. This is functionally similar to the plugin Support forum.
  • I really, really like this change. It will help good plugins get discovered.
  • Plugin authors can now respond to their critics! Re: Marco Arment.

Feature Request: Per-Version Ratings

Each review prominently displays the date of the review. I’m hoping that WordPress segment reviews on a per-version basis, like what Apple does in their App Store. There would be two charts: ratings for all versions, and ratings for the current version.

Generate a Link to Activate a Plugin in WordPress

Here’s another specialized plugin development tip!

If you want to create a link to activate a plugin, you need to know the path of the plugin file. Let’s use Akismet for this example.

$path = 'akismet/akismet.php';
$link = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$path), 'activate-plugin_'.$path);

The `$link` URL will be something like http://yoursite.com/wp-admin/plugins.php?action=activate&plugin=akismet%2Fakismet.php&_wpnonce=f97dabdf9

Yourls Google Analytics Link Tagging

In my last post, I wrote about the benefits of using YOURLS, a self-hosted link-shortening service. I’m finding that YOURLS is great, but it’s not perfect. Some of the issues I have experience are part of what you get using most URL shortener services.

Some of the downsides of using link shorteners are:

  1. Google Analytics doesn’t always capture the original referrer (and I have no clue how they do the rest of the time!).
  2. When generating links using the bookmarklet (or in this case, also the Yourls installation), there’s no easy way to add campaign, source, medium, content, and term tags for Google Analytics to track.
  3. Yourls doesn’t allow query strings on URLs by default, making overriding existing campaign tags difficult/impossible. For example: `http://katz.si/t?utm_source=2300`

I’m not the only one who wanted these things, so I’ve created a plugin that adds Google Analytics tracking to Yourls. It’s very cool.

Continue reading “Yourls Google Analytics Link Tagging”

Passing parameters from PHP to Javascripts in plugins » Otto on WordPress

Much cleaner. One static and unchanging JS file to cache. Parameters get put into your HTML itself as a one-liner. You can deal with the parameters using a normal PHP array before passing them over. No need to screw around with generating Javascript from PHP or looking for wp-load or even messing with tricky actions.

via Passing parameters from PHP to Javascripts in plugins » Otto on WordPress.

Storing Data in WordPress Plugins – A Quick Rundown

Coding better WordPress plugins

As I’ve worked with WordPress plugins, I’ve learned new ways of working with WordPress. WordPress has tons of built-in functionality that is very useful and easy to use once discovered.

I am by no means a great PHP coder. I am still learning OOP principles and how to write code better. In creating new WordPress plugins (see a list of my plugins), I have improved how I code: writing more efficient code using WordPress functionality rather than hacks.

One of the methods of coding that I have discovered (thanks to Jeremy Clarke) is using the WP Cache and Transient APIs to store plugin data. It’s made a big difference in the speed of all my plugins.

The following is a quick review of three different ways of storing data when you code plugins or work with WordPress. This is to the best of my knowledge, and I welcome feedback/improvements in the comments. Continue reading “Storing Data in WordPress Plugins – A Quick Rundown”