Edit Flow/WordPress Idea: User Directory

Update: sorry, should have pointed out that this idea was inspired by wireframes posted by Anthony Pesce (of the Populous project).

Here’s an idea that I thought might be a useful addition to Edit Flow especially once we add in User Group functionality. The main premise is to have a full-out User Directory accessible by logged in users that provides easy access to contact information for other users on the site. Would probably only be useful for larger groups using WordPress, but I’d imagine would still come in handy for newsrooms and such.

Continue reading

Mockingbird: wireframing made awesome

Wireframing is awesome!

Using Mockingbird, a recently launched Cappuccino-based wireframing tool, I was able to whip up some quick UI concepts I’ve been thinking of for the next iteration of Edit Flow. Though obviously not as fast as a hand-drawn sketch, it’s far more convenient when you’re working with other people since you don’t have to get cameras and/or scanners involved.

Mockingbird has a fairly intuitive interface, and most functionality you’d expect from a wireframing/diagramming tool. Best part: no Flash! Check out the result below. It’ll be updated as I make changes to the diagram.

Continue reading

WordPress Plugin: Plugin Notes

This is the outcome of a couple of hours of Friday night coding after an open call by Chris Coyier over at Digging into WordPress. Here’s what Chris asked for:

Ever look through your list of plugins and forget just exactly what one of them does? I know they have descriptions next to them, but that doesn’t always speak to exactly what you are using it for and why. This plugin would just put a text field in each plugin field you could type some notes in there, theoretically to keep information about why and how you are using this plugin.

And since I was bored (and thought this was a pretty useful idea), I delivered. Plugin Notes is exactly what it sounds like.

Once you install and activate, the plugin adds a link “Add plugin note” that lets you add in a little note next to each plugin. It’s totally ajaxified and full of cool goodness. (Unfortunately, I was a bad programmer and didn’t make plugin gracefully degrade when javascript is turned off. Sorry, folks. Maybe next time.)

Plugin Notes: adding a note is easier than milking a cow.

Plugin Notes: adding a note is easier than milking a cow.

When a note is added, it shows up inside a little blue box and includes the name of the user that added the note as well as the date and time when the note was added. You also get handy dandy options to “Edit” or “Delete” notes.

WordPress plugin: Plugin Notes - blue boxes make things look pretty.

WordPress plugin: Plugin Notes - blue boxes make things look pretty.

Each plugin can only have one note. I can imagine there would be cases where multiple notes may come in handy, but those would be rare so I’m passing on that functionality.

The plugin is pretty simplistic, and unlikely to see any future feature additions (unless someone really, really wants one). I’ll keep a watch for compatibility with future versions of WordPress though, so rest easy.

Excited, enough? Grab Plugin Notes (from the WordPress Plugin Directory) or download it from within WordPress.

Note: you’ll need PHP5 and a javascript-enabled browser for the plugin to work.

WordPress Tip: Using the same template across multiple category, tag, and author pages

Sharing Category Templates

Sharing Category Templates

Update (2009-12-21): So, the original technique that I had posted is a bit hacky and kinda gets annoying when you have lots of categories and category templates. There’s a better approach that can add to your functions.php file to make everything work magically, which was inspired by Justin Tadlock‘s comment on a post by Elliot Jay Stocks. Code below:

Add to your theme’s functions.php file and edit as necessary. For example, to redirect to categories with IDs 1 & 5 to a template called gallery.php, change the if statement to:

if( is_category( array( 1, 5 ) ) )
    template = locate_template( array( 'gallery.php', 'category.php' ) );

Easy, no?

Note: the stuff below is old, crappy, “legacy” code. Still here for posterity…

WordPress has an amazing theming system. It’s not perfect, but if you know the right things you can bend it to your will and do a lot of cool things. One great thing about it is the template hierarchy; WordPress basically allows you to create custom templates for categories, tags, authors, etc.

For example, if I add category.php to my theme, all category pages will now be styled according the structure within the category.php file. Now, let’s say I have a category called “Photos” that I wanted to look a little different from the rest. (Let’s assume the category ID for “Photos” is 6). All I have to do is add category-6.php to my theme, modify it to whatever, and the “Photos” category page will switch to this new template. Cool? Definitely.

With a system like this, you could technically customize your site to the point where the every category, author, tag, etc. page has a unique look and feel. But, that’s quite a lot of work and in most cases unnecessary. There may be cases though, where you want a small subset of categories to have a unique look, and you want these pages to share this look. Unfortunately WordPress doesn’t allow different pages to share templates. (Intuitively, I would think that something like creating a file called category-6,7,8.php [or similar] would apply this template to categories 6, 7, and 8). You could technically set up separate files (category-6.php / category-7.php / category8.php) and just copy and paste the code across all of them, but that’s a maintenance nightmare. A single change will have to be copied over multiple times, and that’s just annoying.

There are a few ways around this. One of easy ways is to use Idealion’s Category Enhancements plugin. Alternatively, if you want a more theme-level solution, follow the steps below. This is something I discovered while building out the image gallery pages for The Boar (links of what I came up with are at the bottom).

1. In your theme folder, create the category files for the categories you want to apply the custom template to.

  • Let’s assume we want to apply it to the categories “Portrait Photography” (ID: 5) and “Nature Photography” (ID: 12).
  • In this case we’d create category-5.php and category-12.php

2. In the category template files (category-5.php & category-12.php), add the following:

<?php require_once('common_template.php'); ?>

3. Create a generic category template: common_template.php

4. Then in the common_template.php, add the following:

<?php get_header(); ?>
<?php echo 'Hello World!'; ?>
<!-- The rest of your custom template goes here -->
<?php get_footer(); ?>

5. Now, if you navigate to http://your-site.com/?cat=5 and http://your-site.com/?cat=12, you’ll notice that their look will mirror what you included in common_template.php

I should note that this approach isn’t limited to category templates; you can use this with author and tags templates as well. Technically, with this approach you could combine multiple categories and tags, as well (though if you do, be wary of category- and tag-specific functions and make use of conditional tags).

You can see an example of this in action at the links below:

Sample files you work from. Download them, rename the extension to .php and throw them into your template folder.

Thoughts, questions, suggestions? Leave a comment below or send me an email.