Tag Archives: wp

Thoughts on the WordPress 3.0 menu system

One of WordPress 3.0’s most anticipated features is the revamped menu generation system. I’ve played around with the nightly builds and I am very impressed with both the front-end and back-end aspects of the features. It comes as sad news to hear that the development team is planning to shelve it for now in order to meet a timetable. That being the case, I have an observation to share and a way to address it, which I’d have submitted as a patch myself if only I knew how.

Right now, the menus are, de facto, tied into the new default theme, Twentyten. This is because the CSS rules governing the appearance of the menu is coded into the theme’s style.css. The menu itself is called using the function, wp_nav_menu, but that outputs the list, nested as necessary, without any inline CSS.

Herein lies a dilemma: what if you are a fledgling theme developer and you didn’t know about that particular set of facts? What if you’re a user who’s used to downloading themes from the repository and the theme you happen to like is no longer supported or updated by its author? You’ll have this set of features in the back-end, “Menus,” that doesn’t appear to do anything!

At first I thought that hooking the CSS into wp_head would work so that all themes would have menus and the required styles, until I realized something about CSS’s hierarchy: code that appears last takes priority. No amount of editing in the style.css would work unless it’s attached after wp_head.

So here’s the suggestion: a script/routine/whatever that checks for the presence of a WP3.0 Menu, which then checks for the wp_nav_menu across all theme files, which then checks for the menu selectors in all .css files in the theme directory. Reminder messages (red or yellow, whatever) appear in the admin screen depending on what’s missing:

  • “Menus are WordPress 3.0’s newest and greatest feature. You should give it a spin.”
  • “You have a Menu saved, but it won’t show up in your theme unless you use wp_nav_menu. Here’s a link to a few suggestions on how to do this.”
  • “You have a Menu used in your theme, but you have no CSS rules to make it look good! We’ve got sample blocks of code that you can copy and paste into your style.css.”

Or something along those lines, and I can already think of a few objections, the general themes of which run in almost any open-source project:

  • “Everyone will child theme off of 2010.” <-- UH, NO.
  • “Why would anyone need a warning like that?” <- Yes, open source elitists still say this shit.
  • “If you’re a theme developer, you need to keep track of these things.” <-- Exactly, and the warnings are there to help.
  • “Not enough people will benefit from this warning.” <-- This one is particularly dangerous.

Leland of Themelab also suggested in an email that the Menus box be enabled on the Theme level; that a function that turns it on be required in functions.php. This sounds like a good idea, too.

This situation elicits a little regret. Ive used WordPress since it was b2. I’ve seen its features evolve and I’ve built a great side business using it as a quick and efficient (not necessarily easy) way to deploy a front-end design. In all this time I’ve been in total remiss at learning PHP, the ins and outs of the development cycle, and the culture around WordPress. If I have, I’d have submitted this as a patch and fought for it. So before anyone tells me that I should submit it as a patch instead of shouting it from the rooftops, as of right now, I can’t quite do much else. That doesn’t mean that my idea is invalid.

Magazine-format blog: points to ponder

The “magazine” format has taken blogs by storm this year, and if you’re of the mind to move your blog in that direction, there are a few things to consider.

First, ask yourself: what is a magazine? As a collection of features covering different topics, one can argue that most blogs fall under the term, but online and print magazines share predictable, consistent sections which different readers can flock to. Consider Newsweek’s last-page editorial. Last time I checked, Anna Quindlen has as regular gig on that page. When I have a chance to peruse a printed Newsweek at the local CVS, I go straight to that page. Other readers go straight to other section. A magazine is a consistent, regular publication with content that is expected by the audience. If you’re a free-form blogger who can’t deliver that kind of content consistently and frequently, the magazine format will leave entire swathes of your site with poorly updated material.

Continue reading Magazine-format blog: points to ponder

Menu Label: a new feature for AIOSEOP

Have you found yourself hardcoding your page-based navigation menus in your theme because wp_list_pages doesn’t display your page titles the way you want to with the function? This site serves as a great example: where it says “Colophon” in my menu under the title? It links to a page whose title is “Production Notes.” With the latest feature from All-In-One SEO Pack by Michael Torbert, you won’t have to! Here’s a quick tutorial on how:

Continue reading Menu Label: a new feature for AIOSEOP

The costs of Free

Recently, Michael Torbert, developer of the popular All-In-One SEO Pack (AIOSEOP) plugin, released a major upgrade to, among various other bugfixes and feature enhancements, future-proof the plugin against scaling issues. I worked with him on beta-testing the upgrade, and found it to be flawless. I was one of many, but gauging by the reaction of a few, there were not enough of us who did the testing.

Continue reading The costs of Free

A guide to upgrading to AIOSEOP v1.6.1

Update on July 12, 7PM: A sweet welcome to WordPress.org users, now that this guide is linked from the AIOSEOP plugin page itself: Please don’t mind the scoldy, crabby, acerbic tone. If you do, skip all the commentary and just read the instructions that serve as captions to my screenshots. This was written due in part to a few posts in a forum where the main complaint stemmed from an inability to understand the instructions after upgrading. That said, the information in these screenshots is helpful, despite my meanness. What little instructional material I am wont to write is not always like this. What follows is the post as originally published.

Michael Torbert has released a major upgrade to his landmark WordPress plugin, All-In-One SEO Pack. It has a few new features but more importantly, it is even further optimized to make it easier on your database. A lot of it is technical mumbo jumbo that even I don’t quite understand, but what I do understand is that some folks still have a hard time reading natural-language instructions. Kudos to Michael for not going down the “click here” route, but some issues at the Semper Fi Support Forums are demanding a more comprehensive answer. Here’s a step by step screenshot thing guide:

Continue reading A guide to upgrading to AIOSEOP v1.6.1

A retrospective of WordPress Classic

In God Emperor Of Dune, Leto II Atreides ruled for almost four thousand years as tyrant of humanity. In doing so, he created a desire for people to be free, and ensured that they will never stagnate and fall victim to the need for a single commodity for existence.

Back in 2002 I started to learn web design from a code-based perspective. The CSS techniques we now consider standard were at the time, groundbreaking. Grey Matter, Blogger, and Movable Type were the frameworks of the day, while I started poking around with a then-little-known program called B2. Fast forward a few months, and a then-little-known guy named Matt Mullenweg decided to fork B2 into a new project, called WordPress.

Continue reading A retrospective of WordPress Classic

What is a theme and what is it not?

I’ve designed WordPress-powered sites and blogs for almost five years now. I have my niche, for which I am grateful. Recently, I came across some huff-and-puff regarding Matt Mullenweg’s decision to remove over 200 themes from the repository, citing non-compliance with the GPL.

I have a feeling I’ve been living under a rock for the better part of three or so years. I’ve watched the WordPress community from the sidelines. I saw its expansion and internecine conflicts. I’ve remained silent on most issues out of being ignorant on so many of them and am not afraid to admit to being so.

However, recent events have raised questions and concerns. Jeff Chandler wrote a thoughtful post on Premium Themes and I am left with a few questions and thoughts of my own.

Allow me to introduce you to my design workflow. Whenever I design for a client my first step is to almost always begin with the WordPress Classic theme’s document structure. Old habits die hard and I have found it to be one of the most efficient ways to start off with a “naked” theme. I strip the CSS file of everything except the theme header, substitute it with a blank template of code of all the elements I use in almost all my designs, and start coloring and shaping. I have never, still do not, and perhaps never will, follow the Photoshop-to-code development workflow. If a client wants something exotic, like a horizontal navigation bar (with tabs!), I have a codebook for that too. Now, I tell my customers that the site I design for them is for use on that project only, or for whatever number of sites we agree upon. The combination of images and CSS code form a look which, I believe, is the intellectual property of either myself or my client (depending on the terms of the contract).

The question, then, is, what part of my design falls under the GPL? Does that mean that any one party can rip off an entire design I make, despite the inevitable embarassment at having me parade their lack of creativity for all to see? It’s so easy for me to reverse-engineer the look and feel of Jeffro 2.0 without looking at source codes for HTML and CSS, but I do not, because it is a professional embarassment to do so. What portion of his, or anyone’s, site can I “liberate?”

What is covered by copyright? I know that blocks of CSS code don’t get that benefit, and for good reason. Faux columns would never have caught on, for example. I don’t think that only the content presented by the blog is covered, though. The look and feel of a site are part of its identity, especially if the design is relatively unique.

What are the limits of the GPL when it comes to Themes, Premium Themes, and Blog Designs? This inquiring mind would like to know.