Strong firewall protection for WordPress! Get BBQ Pro for $10 »

Dressing up for Halloween..

Happy Halloween! This year, I thought it would be fun to dress up my site with one of its very first themes. The Lithium theme remains one of my favorites, despite some of the scary code used in a few of the template files. Even so, despite its relative simplicty, this theme features some great little details, and even features some stylish quicktags in the comments area. Incidentally, the Perishable Press logo was designed specifically for the Lithium theme way back in 2006. So enjoy this blast from the past! Hopefully it doesn’t scare anyone too badly.. Note: Thanks to […] Read more »

Stupid Twitter Tricks

Might as well face it, Twitter is here to stay. Not that it’s all that bad, just used to be a lot more laid-back and enjoyable. These days it seems to have been taken over by the lowest common-denominator, mostly high-school twits or useless commercial propaganda. Even so, I still enjoy tweeting the occasional profound thought once in awhile, and even like to play around with various types of “advanced” Twitter functionality. You know, cool stuff like including “Tweet This!” links with short URLs, showing off my number of Twitter followers, displaying the number of tweets for each post, and even […] Read more »

Display Random Posts from Specific Tags or Categories

When developing the colorful Quintessential Theme (opens in new tab), I initially planned on displaying five random posts from each of my most popular tags and categories in the super-slick sliding-panel sidebar. Because I am running an older version of WordPress, however, this task proved to be quite the educational experience. In newer versions (from 2.5 I think) of WordPress, the query_posts() function enables users to display posts in random order using the orderby=rand parameter. This would have made my life easy, as I could have included the following code for each of my random post lists: Read more »

Digging Into WordPress

Our recent quest to find a publisher has finally paid off. After spending a few weeks checking out different publishers and myriad publishing options, Chris Coyier and I have decided to go the DIY-route and publish the book ourselves as a PDF. The book is titled “Digging into WordPress,” and is due out late Summer or early Fall of this year. It’s going to be packed full of juicy WordPress goodness and I hope that you check it out when it’s released. In the meantime, while we are busy working behind the scenes to make the book the best it […] Read more »

Farewell to Alex King’s Popularity Contest Plugin

I finally broke down and uninstalled Alex King’s once-great “Popularity Contest” plugin for WordPress. The plugin had been installed here at Perishable Press for over two years, and had provided fairly consistent and apparently accurate statistics. Unfortunately, there were serious errors involved with the plugin way back during the WordPress-2.3 upgrade that were never addressed by the plugin author. There was an interim version of the plugin that had patched the error until an official update was released, but sadly and almost two years later this has not happened. I don’t know about you, but I really don’t like running […] Read more »

Secure Visitor Posting for WordPress

Normally, when visitors post a comment to your site, specific types of client data are associated with the request. Commonly, a client will provide a user agent, a referrer, and a host header. When any of these variables is absent, there is good reason to suspect foul play. For example, virtually all browsers provide some sort of user-agent name to identify themselves. Conversely, malicious scripts directly posting spam and other payloads to your site frequently operate without specifying a user agent. In the Ultimate User-Agent Blacklist, we account for the “no-user-agent” case in the very first directive, preventing a host […] Read more »

9 Ways to Set Dynamic Body IDs via PHP and WordPress

When designing sites, it is often useful to identify different pages by adding an ID attribute to the <body></body> element. Commonly, the name of the page is used as the attribute value, for example: <body id=”about”></body> In this case, “about” would be the body ID for the “About” page, which would be named something like “about.php”. Likewise, other pages would have unique IDs as well, for example: <body id=”archive”> </body><body id=”contact”> </body><body id=”subscribe”> </body><body id=”portfolio”></body> ..again, with each ID associated with the name of the page. This identification strategy is useful for a variety of reasons, including the following: Page-specific […] Read more »

Important Security Fix for WordPress

The other day, my server crashed and Perishable Press was unable to connect to the MySQL database. Normally, when WordPress encounters a database error, it delivers a specific error message similar to the following: Read more »

Import and Display RSS Feeds in WordPress

Importing and displaying external RSS feeds on your site is a great way to share your online activity with your visitors. If you are active on Flickr, Delicious, Twitter, or Tumblr, your visitors will enjoy staying current with your updates. Many social media sites provide exclusive feeds for user-generated content that may be imported and displayed on virtually any web page. In this article, you will learn three ways to import and display feed content on your WordPress-powered website — without installing yet another plugin. Update: This article applies to older versions of WordPress (less than 2.8). For WordPress 2.8 […] Read more »

Looking for a Publisher

After several months of working diligently behind the scenes, I am officially announcing my latest project: a new book on WordPress. Without giving away too much at this time, here are some facts about it: It’s focused on WordPress It’s co-authored between Chris Coyier and myself It’s going to be awesome Chris and I have been working on the book for several months now and are very pleased with the results. Both of us have some — albeit limited — knowledge of the publishing world. Truth be told, we don’t have a publisher yet and aren’t quite sure about how […] Read more »

WordPress Tip: Valid, SEO-Friendly Email Permalink Buttons

In addition to your choice collection of “Share This” links, you may also want to provide visitors with a link that enables them to quickly and easily send the URL permalink of any post to their friends via email. This is a great way to increase your readership and further your influence. Just copy & paste the following code into the desired location in your page template: <a href=”mailto:?subject=Fresh%20Linkage%20@%20Perishable%20Press&amp;body=Check%20out%20<?php the_permalink(); ?>%20from%20Perishable%20Press” title=”Send a link to this post via email” rel=”nofollow”>Share this post via email</a> Within the code, you will need to edit both instances of the string “Perishable%20Press” to reflect […] Read more »

Book Review: WordPress for Business Bloggers

WordPress for Business Bloggers by Packt Publishing was a pleasure to read because it approaches many of the important aspects of WordPress from a slightly different perspective: that of the “business blogger”. The book is aimed at the aspiring business blogger who wants to use WordPress to run a successful business blog. The book claims to skip the basics and jump right into the meat of transforming WordPress into a lean, mean business blogging machine. While this may be true for the book’s target audience, the technical aspects of WordPress covered in the book are familiar ground to the seasoned […] Read more »

Better WordPress Archives via Dynamic Triple Column Layout

Here at Perishable Press, the number of posts listed in my archives is rapidly approaching the 700 mark. While this is good news in general, displaying such a large number of posts in an effective, user-friendly fashion continues to prove challenging. Unfortunately, my current strategy of simply dumping all posts into an unordered list just isn’t working. I think it’s fair to say that archive lists containing more than like 50 or 100 post titles are effectively useless and nothing more than a usability nightmare. With growing numbers of blogs building up massive collections of posts, finding better ways to […] Read more »

Remove the WWW Prefix for all URLs via PHP

Canonical URLs are important for maintaining consistent linkage, reducing duplicate content issues, and increasing the overall integrity of your site. In addition to cleaning up trailing slashes and removing extraneous index.php and index.html strings, removing the www subdirectory prefix is an excellent way to shorten links and deliver consistent, canonical URLs. Of course, an optimal way of removing (or adding) the www prefix is accomplished via HTAccess canonicalization: Read more »

Quintessential Reversion

Due to popular demand, I will be switching the site’s default theme back to the colorful Quintessential theme (opens new tab or window). Many people simply felt that the extreme minimalism of the new Requiem theme (opens new tab or window) was just too “plain” or otherwise difficult to navigate due to the single-column design. So, after giving it a go and receiving some excellent feedback, Perishable Press will be rolling with the Quintessential theme — at least for now.. ;) Those of you who prefer the straightforward usability and minimalist design aesthetic of the new Requiem theme may continue to […] Read more »

PHP and JavaScript Fallbacks for Your Public Feedburner Count

With the recent Feedburner service outage, many sites across the Web experienced severe drops in their Feedburner subscriber counts. Apparently, Google is requiring all Feedburner accounts to be transferred over to Google by the end of February. In the midst of this mass migration, chaotic subscriber data has been reported to include everything from dramatic count drops and fluctuating reach statistics to zero-count values and dreaded “N/A” subscriber-count errors. Obviously, displaying erroneous subscriber-count data on your site is not a good thing. Fortunately, there are several ways to ensure that this doesn’t happen. Over at CSS Newbie, author Rob Glazebrook […] Read more »

Latest Tweets it helps, but not enuf really. working on plugins to help pay the billz