As a WordPress developer I am constantly problem solving from an admin experience standpoint.
Updating a site is a lot of work, sometimes almost an hour to input content that has already been created in Photoshop or Word. Not only does an admin need to generate their copy and comb over it, but they need to worry about loading up correct image sizes, dealing with WYSIWYG eccentricities, the flood of spam that lands in the comment box and whatever else may come up (specific post update schedules, viruses, forgetting your login credentials, social networking, etc).
I work on a webcomic called When Claws Were Cool. One of my many tasks on this project has been to design and develop a site that I ( and several others ) would have to administer.
I certainly didn’t want to loathe logging into WordPress every time I updated my site, and I didn’t want anyone else to either.
WordPress is a powerful content management system, but before the admin can go in and manage their content using WordPress, the developer needs to manage WordPress using their content.
So here are the steps I took during development—
1. Customize the admin menu to mirror the front-end menu. Use custom post types. I had comic posts that were accessed on the website using one main link, so I developed a specific area in the backend to manage that content. Same with the ‘Joke of the Day’ and ‘Shop’. No one wants to dig through a list of three hundred posts, organized into categories, where all content is organized by date. Organize by content type instead. When our colorist needs to update the most recent comic for the first time, the obvious choice is to click on the link at the top of the admin bar titled ‘Comics’. Have a blog section titled ‘Blog’ or ‘Articles’? Change the name from ‘Posts’ to whatever it is called on the actual website.
2. Develop ‘edit’ pages to mirror the front-end web page. Elliot Condon’s wonderful plugin. Advanced Custom Fields lets you add a number of useful page management tools to make updating easy: text areas, an image uploader, checkboxes, dropdown menus, almost anything you can think of. It’s the best way to prepare a page for the admin. My ‘About’ page needed two images, two headers and two paragraph sections. So that’s exactly how I organized the ‘Edit’ page. In the same order it was to appear on the front end, I added an image upload, an input for the title and a text area for the bio copy. When the writer visited this admin page to update his bio, he knew exactly where to put it. Advanced Custom Fields is a free plugin that includes the core fields. They also offer moderately priced add-ons that allow for dreamy galleries, repeater fields and a flexible content field option that changed the way I build websites.
3. When possible, ditch the WYSIWYG editor (or customize it ). The default WordPress content editor is very helpful, but sometimes frustrating. I didn’t want to have to deal with random placed div tags, images wrapped in paragraph tags, or the ‘ ’ that pops up when you don’t want it to. If I’m not using it, I ditch it. If you’re using Advanced Custom Fields, this can be as simple as clicking a checkbox. Advanced Custom Fields also has a WYSIWYG field, so if you need four content editing sections for your page with tabbed sections, you can have four. If you want to get advanced, you can even use a neat little filter to customize the toolbar so your admin only has editing options that corresponds with the overall site design.
4. Trim out what you can. Not using comments? Get rid of them. Don’t want to see that random content in your dashboard? Hide it. Not using categories? Goodbye. See Justin’s post for a great start.
Of course, we don’t always get content so straightforward. Often there will be functionalities needed for a website that call for abstract managing systems. Nevertheless, I think it’s good practice to start off every custom theme build and customization by contemplating admin experience. It makes an admin’s life that much easier!