WordPress Guy

Category Order

Last week I was having a really hard time ordering the categories in this blog’s header as WordPress only seems to allow to order by name or by ID. That’s why I came up with the Category Order plugin.

Description

The Category Order plugin allows you to easily reorder your categories the way you want via drag and drop. It doesn’t require a special widget or anything, just install and reorder.

Requirements

This plugin requires that you use at least WordPress 2.3, although it has only been tested on WordPress 2.5.1

Download

Category Order 1.0.3

Installation

  1. Download the plugin and expand it.
  2. Copy the ‘category-order.php’ file into your plugins folder (wp-content/plugins/).
  3. Login into the WordPress administration area and go to the Plugins page.
  4. Locate the Category Order plugin and click on the activate link
  5. That’s it, now you can go to Manage » Category Order and reorder the categories the way you want.
  6. If you use wp_list_categories(), make sure you don’t specify an order (e.g. wp_list_categories(’orderby=count’);).

Version History

  • 1.0.3 - If no order is specified, categories are ordered by name
  • 1.0.2 - Fixed a problem related to PHP 4
  • 1.0.1 - Fixed a problem where the plugin wouldn’t work properly if you had installed WordPress in a subdirectory
  • 1.0 - Initial Release

Donate

Support further plugin development by making a small donation:

donate

Linked Image

If, like me, you have blogs where you use to have an image at the very beginning of your posts then you should know that people expect to access your post by clicking on the image (I tested this with CrazyEgg).

That’s why I came up with the Linked Image plugin. This little plugin does just that, it takes the first image in your post and links it to the post itself. Everywhere but in the post page.

Download

Linked Image 1.0

Installation

  1. Download the plugin and expand it.
  2. Copy the ‘first-image-permalink.php’ file into your plugins folder (wp-content/plugins/).
  3. Login into the WordPress administration area and go to the Plugins page.
  4. Locate the First Image Permalink plugin and click on the activate link
  5. That’s it

Known Issues

  • The plugin doesn’t currently work if the first image is already linked and may render unexpected results.
  • Smileys get linked too

Donate

Support further plugin development by making a small donation:

donate

Popularity contest plugin and WordPress 2.5

One of my favorite plugins is Alex King’s Popularity Contest. Unfortunately it doesn’t seem to work with the latest WordPress release 2.5, nor Wordpress 2.5.1.

Fixing Problem #1

By doing a little searching on WordPress.org Forums I found this post which explains how to fix the Fatal Error problem I’ve been getting. What you need to do is change the line 59 of the popularity-contest.php file from this:

require('../../wp-blog-header.php');

to this:

require('../wp-blog-header.php');

Ok so, that fixed the fatal error problem, and those of you who had the plugin installed prior to updating to WordPress 2.5 shouldn’t have any other problems.

However, if you’re installing the plugin for the first time you might be getting another error ‘Table ‘database.wp_ak_popularity_options’ doesn’t exist on line: 124‘.

Fixing Problem #2

You can choose to create the database manually like Ken McGuire explains in this article.

That works, but it’s a little complicated, so I came up with my own solution.

All you need to do is open the ‘popularity-contest.php’ file go down to the line 1528 and change this:

if (isset($_GET['activate']) && $_GET['activate'] == 'true') {

for this:

if (isset($_GET['action']) && $_GET['action'] == 'activate') {

You can also download the modified plugin:

Popularity Contest for WordPress 2.5

That’s it, you shouldn’t have any other problems now. Enjoy!

Update:

As Marco pointed out, the solution to the first problem could fill your error_log with warning messages. To fix that change the “require(’../wp-blog-header.php’);” for:

@require('../wp-blog-header.php');