In-depth overview from Paul Kaiser on how WordPress 3.0 is expanding and improving upon creating custom taxonomies, including how they can now be hierarchical. Most importantly Paul shows how (and why) they can be used in themes.
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.
Yes, it runs WordPress on Windows and SQL Server.
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.
“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.”
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/
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!
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)
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…
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)
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:
- 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.
- I also knew no newbie client was going to need to get in there.