New book on WordPress Theme Development: WordPress Themes In Depth

Block Spam by Denying Access to No-Referrer Requests

What we have here is an excellent method for preventing a great deal of blog spam. With a few strategic lines placed in your htaccess file, you can prevent spambots from dropping spam bombs by denying access to all requests that do not originate from your domain. How does it work? Well, when a legitimate user (i.e., not a robot, etc.) decides to leave a comment on your blog, they have (hopefully) read the article for which they wish to leave a comment, and have subsequently loaded your blog’s comment template (e.g., comments.php), which is most likely located within the […] Read more »

Add RSS Feed Link Icons to WordPress Category Listings

This brief tutorial explains two methods for adding RSS feed link icons to category listings. Let’s say that you have a list of category links, where each link targets a specific category view. Now let’s say that, next to each category link, you would like to provide a icon that links to that particular category’s syndicated feed. So, rather than cluttering up your page with two sets of category links — one for category views and another for category feeds — consolidate links and simplify your site by providing both sets of links in a logical, streamlined format. Method One: […] Read more »

minimalist Theme

The minimalist theme is crisp and clean. Featuring a three-column satellite menu-page to reduce clutter and streamline usability, the minimalist theme is designed to present site content with sophistication and elegance. The minimalist theme is XHTML 1.1 strict, employs nearly valid CSS (ha!), and features browser-safe colors and universal fonts all delivered via concise, two-column liquid layout. Mindfully detailed and carefully prepared, the minimalist theme provides plenty of room for customization and expansion. This theme is offered absolutely free under open source GPL. Instructions are included along with a complete set of files and images. Relatively simple installation. The minimalist […] Read more »

Perishable Press Upgrade to WordPress 2.0.5

Perishable Press is now running WordPress 2.0.5. Everything went very well as we upgraded directly from version 2.0.2. Please report any errors or unusual/unexpected behavior (concerning this site). Your help is much appreciated.   Read more »

Stop Bitacle from Stealing Content

If you have yet to encounter the content-scraping site, bitacle.org, consider yourself lucky. The scum-sucking worm-holes at bitacle.org are well-known for literally (404 link removed 2013/03/28), blatantly, and piggishly stealing blog content and using it for financial gains through advertising. While I am not here to discuss the legal, philosophical, or technical ramifications of illegal bitacle behavior, I am here to provide a few critical tools that will help stop bitacle from stealing your content. The htaccess Finger Perhaps the most straightforward and effective method for keeping the bitacle thieves away from your site, adding the following htaccess rules to […] Read more »

AddMySite Plugin for WordPress

The AddMySite (AMS) plugin for WordPress makes it easy for your visitors to add your site and feed to all of their favorite social-bookmarking services. With a few clicks, users can bookmark or add your site to 18 popular social bookmarking services. It’s like a dream come true. Read more »

Theme Edits for IE7

This post is a working repository of code edits and other changes made to Perishable Press themes in order for them to function properly in Internet Explorer 7 (IE7).. Jupiter Theme *:first-child+html div.comwrap { overflow: visible; } Lithium Theme *:first-child+html div.comwrap { overflow: visible; } Casket Theme Removed html selector from first ruleset. Read more »

Extreme Makeover for Gravatars in WordPress

Strategic Methods for Improving Gravatar Functionality in WordPress Gravatars have become a popular way of adding spice to the "comments" page of many WordPress-powered sites. So popular, in fact, that the gravatar server is often overloaded, bogged down with millions of gravatar requests every second. This immense server load effects user pages everywhere, resulting in slow loading times, unresolved server requests, and missing gravatars. Such broken presentations appear unprofessional, tarnish reputations, and may provoke confusion. This article provides essential solutions for an extreme gravatar makeover.. Read more »

Customize WordPress Quicktags

Note: This condensed tutorial assumes you are working with WordPress 2+ and are familiar with editing .php and/or .js files. WordPress quicktags1 provide shortcuts for adding certain bits of code to your posts. The default set of quicktags includes some handy shortcut buttons for tags such as <strong>, <a>, and <img>, as well as a few others. While the default set of quicktag buttons is occasionally useful, a quick bit of quicktag customization can easily transform your personal set of quicktag buttons into a deadly arsenal of time-saving code shortcuts. First, open the quicktags.js file, usually located in the wp-includes/js […] Read more »

BlogStats PCC Plugin

Update (2012/11/08): BlogStats PCC has been rebuilt with all new features and options. Check out Simple Blog Stats for all the action! </update> Announcing the BlogStats PCC plugin for WordPress! BlogStats PCC is the easy way to display the total number of posts, comments, categories, as well as several other great statistics for your WordPress-powered website. With BlogStats PCC, you display only the information you want, where you want — inside or outside of the WordPress loop. Completely customizable, BlogStats PCC will display any combination of statistics you choose. This plugin is highly flexible, simple to use, and completely free. […] Read more »

Display the Total Number of WordPress Posts, Comments, and Categories

Would you like to display the total number of posts, comments, and categories for your WordPress-powered website? Here is the code that can make it happen 1! Update: The count posts part of this method should only be used for WordPress versions less than 2.5. For WordPress versions 2.5 and better, there is a built-in function for displaying the total number of posts. See The WordPress Codex for more information. <?php $numposts = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = ‘publish'”); if (0 < $numposts) $numposts = number_format($numposts); $numcomms = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = ‘1’”); if (0 […] Read more »

Conditionally Load WordPress Pages

Need to load a WordPress page conditionally? For example, perhaps you need a “special” page to appear for search results? Yes? This simple PHP/JavaScript solution may be just what the doctor ordered! Simply replace “condition” with the required condition (or delete the if (condition) {} qualifier entirely), and then change the path and file names to suit your specific needs: <?php if (condition) { echo (” <script type=\”text/javascript\”> <!–//–><![CDATA[//><!-- parent.location=\"http://www.domain.com/path/to/file.html\" //--><!]]> </script> “); } else { echo (” <script type=\”text/javascript\”> <!–//–><![CDATA[//><!-- parent.location=\"http://www.domain.com/path/to/other-file.html\" //--><!]]> </script> “); } ?> Specifically, I employ the following trickery in my Killer WordPress theme: <?php endwhile; […] Read more »

Execute External WordPress Functions

To execute WordPress functions in an external directory (i.e., outside of the WordPress install directory), it is necessary to include a call to “wp-blog-header.php” at the top of the external file. For example, if your WordPress-powered blog is located in a subdirectory called “blog” and the external file is in the domain root (e.g., the external file is located directly in http://domain.com/), add the following code to the top of the external file: <?php require_once(“./blog/wp-blog-header.php”); ?> This may be generalized by writing: <?php require($_SERVER['DOCUMENT_ROOT'].’/blog/wp-blog-header.php’); ?> Read more »

New Version of Category LiveBookmarks Available

Thanks to some valuable feedback, several inconsistencies were discovered in our Category LiveBookmarks plugin for WordPress. If you are using CLB+ version 1.1.1, check carefully your feed links — you may discover that your feed links are being written twice in both the document head and (if applicable) the document body. Further, it was requested that the plugin produce a complete set of links for various WP page views, such as category views and archive views, rather than creating links merely for the categories of whichever post appears first in the sequence.. In addition fixing the “double-link” bug, we decided […] Read more »

WordPress Core File Edits at Perishable Press

Update: After upgrading Perishable Press in 2007, many of the hacks listed on this page are no longer applicable. Please refer to our new WordPress Core Edits for current information. Otherwise, this article remains online for reference purposes only. The folks developing WordPress are continually rolling out “upgrades”. While it is generally a good idea to stay current, it can also be a bit of a pain if you have made any changes to the WordPress core files. Our recommendation? Keep a log such as this one that either includes all edits or links to posts describing them. That way, […] Read more »

Latest Tweets USP Pro v1.9 now available, many great new features: plugin-planet.com/usp-pro-vers… #wordpress #plugin