DiggingIntoWordPress

by Chris Coyier & Jeff Starr

Category: Links

Prefix Everything

Andrew Nacin:

Anything you create in the global namespace has the potential to conflict with a theme, another plugin (including one you wrote), and WordPress core itself. Thus, prefix everything with a unique-enough character set. For example, all functions I write always start with “nacin_”, and I make sure that my functions are unique across all of my plugins.

In this recent post, I used some fairly generic function names like custom_css_hooks. Andrew is saying that names like that are a little too generic and that it’s possible another plugin could use that same name which would be rather disastrous. Since it’s totally internal anyway, I should have called it digwp_custom_css_hooks, which would be far less likely to meet a conflict.

What’s the best Caching Plugin?

Really nice article running down the major caching plugins, including some ones I have never heard of. I’m a fan of W3 Total Cache myself, having tried about four of them on various sites. I like the CDN integration, the fact that it doesn’t change your URLs, and that it combines file and database caching. Not to mention it is actively maintained.

Most interesting are the options that turn out to be worse that no caching at all.

CSS-Tricks does nearly 2.5 million pageviews a month and can run OK without caching, it’s just much faster and surge-protected with it on.

Database Powered CSS in WordPress Themes

“A popular ability in WordPress themes is to add custom CSS driven by options. This brings up a common question, how should the theme inject custom CSS? I’ll outline three different approaches on how to do this.”

Display “Time Ago” for Posts or Comments

Turn regular datestamps into more human-readable text (e.g. 22 minutes ago) via a built-in WordPress function.

Update 2014/02/08: 404 link removed: http://www.upthemes.com/2010/03/wordpress-master-tip-display-time-ago-for-posts-or-comments/

Custom Post Types in WordPress 3.0

Still confused about these “custom post types”? We already have categories for Posts and we can use various techniques like post_class to target certain posts with CSS and do different styling. We can also use conditionals to treat posts in different categories completely differently. Why is this going to help?

The big difference is that it actually adds sidebar links to the Admin side specifically for these new types. And beyond that, you can actually declare custom data types for different types. Instead of just “Add Post” and “Add Page”, you can have “Add Real Estate Listing”, which only will ask for “Property Name”, “Description”, “Price”, and “Sale Status”. Powerful stuff!

.net Mag, The web pro’s guide to WordPress

I just got my hands on issue #199 of .net Mag. I did an article for it on WordPress, and it’s on the cover!

They did use the wrong W for the cover, but I’m sure they got enough flack for it they won’t mess that up again =). This is probably practically an old issue for UK folks, but big bookstores in the U.S. I find do tend to stock this magazine (Sold as “Practical Web Design” in the U.S.) but always a few issues old, so I bet you could find it around about now.

Update: (404 link removed 2014/04/18)

WordPress Admin Bookmarklet

Drag to your bookmarks bar, click, get a bunch of buttons for easy access to specific areas of your WordPress admin. No security concerns, other than taking people to your log in page, so assuming you have a good strong password you are fine. Also I suppose this assumes you have WP installed at the root…

5 tips for using AJAX in WordPress

WordPress has a bunch of AJAX abilities built in that you can access, without having to use any outside resources. Gary Cao shows how, pointing out good and bad practices.

Update: (404 link removed 2013/11/20)

WordPress vs. ExpressionEngine: Apples and Oranges?

Marcus Neto attempts to compares the two CMSs while explaining why he likes ExpressionEngine. Are they really apples or oranges? I suppose you could say that. Apples and oranges are both popular spherical fruit. They have more in common than theyhave different. Same with the two CMSs.

While I’m 98% a WordPress guy, there are a few circumstances I might take the EE route, like when:

  1. I knew I was going to need a whole bunch of different custom data types and groups and didn’t feel like dealing with the whole Pods or Flutter setup.
  2. I also knew no newbie client was going to need to get in there.

PubSubHubbub Now On All WordPress.com sites (+ plugin for self hosted sites)

This is me trying to understand it:

Instead of services that read your feeds (e.g. Google Reader) having to ASK for your feed periodically, now they can instead just wait until YOUR SITE notifies THEM. Basically a “push” service.

It seems to me this is half the equation. The other half is building services that accept these push notifications. I’m not sure who is already doing that, but I wouldn’t be surprised if Google is on it, since it seems like a more efficient way of doing things on both sides (less server resources on both sides).

Two concerns I can think of:

  1. Is this just as reliable as the “old” way? People not getting feed updates because of a hiccup in the chain sucks for everyone.
  2. This makes “accidentally” hitting that publish button potentially even more embarrassing than it already can be. Like when you accidentally publish a post instead of a page.

Also check the overview slideshow here.

Code is poetry