Batch Categories plugin – manipulate post categories in a pinch

As mentioned a few days ago, we’re in the middle of converting 100s of PDF into HTML format using posts for our client’s new WordPress site. We’ve learned some great tools to create batch categories and posts but nothing’s perfectly smoothly.

We’re using the Bulk Post creator mentioned a few days ago but one downside to this plugin is that it doesn’t let you assign a category so it puts everything as “uncategorized” initially.

Unfortunately, If you do a bulk edit with WordPress’ post menu editor, even after assigning new categories, the posts still retain a “uncategorized” flag in addition to the new categories. We’re not sure if this has been a reported bug or intended behavior.

We couldn’t find anything in the regular WP repository so we searched the WordPress.org forums and found Rob Miller’s “Batch Categories” plugin. Since it’s not in the WP repository, we highly recommend you use the plugin on a test site first and at your own risk. Make sure you download v1.4 for WP 2.5+.

Batch categories uncategorized

You’ll find the tool, well…under “Tools” -> “Batch Categories”. The UI is a bit whacked out with the new WP 3.x interface considering the tool was built in the WP 2.5 era.

You won’t care about the UI once you see that you’ll be able to find a bunch of posts marked with “uncategorized” and remove that setting with just a few clicks. Once you’ve set the filter to the “Uncategorized” then simply click on the “Remove from” button for matching posts and voila you’re done! You’ll have to run the filter a few times but it’s still a lot less clicking than normal.

Get it: Batch Categories

How to bulk edit post attributes/settings

Here are three tips and tricks in case you ever need to edit the attributes for a ton of posts or pages and avoid sitting there for hours manually adjusting each post.

Tip one answers the question: How do I bulk edit the attributes for a bunch of posts?

For example if you wanted to close the discussion/comments for a bunch of posts without having to manually edit or even quick edit each post? Here’s how. When you’re in the WP admin posts listing page, click on the checkbox on the top far left column (next to Title) to have the system select all posts on the screen. Or click on the checkbox for which ever posts you want changed. Next click on the “Bulk Actions” drop down right above the select all checkbox.

Wordpress posts bulk select

One of the drop down items under “Bulk Actions” is “Edit”. Click “Edit” and then “Apply” button.

Wordpress posts bulk edit3

Then you’ll then see a screen like this:

Wordpress posts bulk edit2

Here you can apply a set of the same category(s), change the author, set comment/discussion status to the all the posts you’ve selected. Remember, once you click on “Update” – there’s no undo for your actions. So while its powerful tool, it can also be dangerous.

Tip two is: What if I have a 100 posts and don’t want to click-through 5 pages of posts? Did you know that you can define how many posts will show up per post listing page? WordPress normally shows 20 posts per page but you can set it up to 200. Once you’re in the posts listing page, click on “Screen Options” near the top right and you’ll see the “Show on-screen” field magically appear. Don’t forget to click on “Apply.”

Wordpress posts on screen limit

So both tips one and two could help an admin who needs to bulk edit the attributes for 100s of posts and wants to avoid having to browse through multiple pages of posts. Simply set the “show on-screen” field to “200”, click apply, and then bulk edit all the posts.

Tip 3 is for more advanced WordPress designers. Have you ever needed to know what ID numbers are your posts, categories, tags, links, and media without having to decipher the hyperlink in the status bar? Give “WP Show IDs” a try. It will add a new column to all your admin listings that show IDs on the far right column. It works great in conjunction with plugins that use shortcodes and require IDs like List Category Posts (which displays select blog posts on defined pages).