Perishable Press Redesign

For many months, visitors to Perishable Press encountered the highly customized Jupiter! theme. Utilizing sIFR, Prototype, Lightbox, and several other bandwidth-heavy scripts, the Jupiter! theme weighs in at well over 400KB/page when saved as an offline copy. The Jupiter! theme also employs every plugin used here at Perishable Press, resulting in even slower performance for broadband users, and utterly painful experiences for those on modem/dial-up. Recently, we decided to give Jupiter! a facelift and dump the heavy baggage. The idea was to create a theme aesthetically similar to Jupiter!, focusing on speed and usability without sacrificing essential functionality. The result […] Read more »

Category LiveBookmarks Plus

Update (2012/11/08): Category LiveBookmarks is discontinued as WordPress has integrated all of the same functionality. So no more need for this plugin!</update> New version of Category LiveBookmarks Plus now available! CLB+ 2.3.0b enables WordPress 2.3+ users to configure and customize the ultimate set of autodetection feeds, category feeds, category links, and feed links. Features include completely rewritten, optimized code, optional category post counts, and custom RSS-icon links for all category and/or feed links. Overall, the new version is faster and more flexible than ever! Category LiveBookmarks Plus is the easy way to provide complete “Live Bookmark” functionality and "Post Smart" […] Read more »

WordPress Search Function Notes

Code to call an external WordPress search form: <?php include (TEMPLATEPATH . “/searchform.php”); ?> Code for a standard, inline WordPress search form: <form id=”searchform” method=”get” action=”<?php echo $_SERVER['PHP_SELF']; ?>”> <p><input name=”s” type=”text” id=”s” size=”33″ maxlength=”99″ /> <input type=”submit” class=”submit” value=”Search &raquo;” /></p> </form> Code to search through multiple categories when using customized, individual category pages: <form id=”searchform” method=”get” action=”<?php echo $_SERVER['PHP_SELF']; ?>”> <p><input name=”s” type=”text” id=”s” size=”33″ maxlength=”99″ /> <input type=”hidden” name=”cat” value=”1,2,3,4,5,6″ /> <input type=”submit” class=”submit” value=”Search &raquo;” /></p> </form> Code to try if the search function fails and your blog is located in a directory other than root: […] Read more »

Lightbox + FancyTooltips Bug Fix

For those of us enjoying the stylish functionality of Lightbox or any of its many incarnations, images "magically" overlay the window and unfold, revealing navigational buttons, image count, and of course the image titles. For those of us enjoying the stylish functionality of FancyTooltips (original link now 404 @ http://victr.lm85.com/projects/fancytooltips/) or any of its many incarnations, title and alt attributes manifest as stylish displays of CSS brilliance. However, for those of us employing both features, there is a potential JavaScript conflict. This conflict makes it impossible for Lightbox to display the contents of title attributes associated with images. Thus, if […] Read more »

The htaccess Rules for all WordPress Permalinks

Update 2012/07/15 all code updated with the new .htaccess rules (changed in WP 3.0). The code in this article should work with all versions of WordPress. </update> I recently performed a series of tests on a fresh installation of WordPress 2.8.6 to determine the exact htaccess rewrite rules that WordPress writes to its htaccess file for various permalink configurations. Under the WP admin option menu, WordPress lists four choices for permalink structure: Default: http://perishablepress.com/press/?=123 Date and name based: http://perishablepress.com/press/index.php/2006/06/14/sample-post/ Numeric: http://perishablepress.com/press/index.php/archives/123 Custom: /%year%/%monthnum%/%day%/%postname%/ The "default" option is to not use permalinks. The "date and name based" setting invokes the /index.php/%year%/%monthnum%/%day%/%postname%/ […] Read more »

Passing Quotation Marks via wp_link_pages

According to the WordPress Codex 1, it is possible to pass quotation marks via the parameters of the function, wp_link_pages(). This would enable users to assign a particular css class or id to the function output, thereby providing greater design and behavioral control over that particular object. But alas, as reported several times in the WordPress Codex 2, wp_link_pages() is unable to pass quotes without causing errors. To fix this, we open template-functions-post.php and find wp_link_pages(), which is located around line #121 (for WP 2.0.2). The fix is easy, simply edit the <p> in the following lines: $r['before'] = ‘<p>’ […] Read more »

Reversing WordPress Page Navigation Order

This article explains how to reverse the order of WordPress page navigation links. To reverse the default (backward) order of page navigation in WordPress, open the file template-functions-links.php (in WP 2.0) or link-template.php (in WP 2.1/2.2) and scroll down to the last function, posts_nav_link() 1. Next, find the last if statement and switch the order of the following two lines: previous_posts_link($prelabel); [ ignore this line ] next_posts_link($nxtlabel, $max_page); Next, within the first line of the same function (beginning with function posts_nav_link), switch the order of the variables $prelabel=’&laquo; Previous Page’ and $nxtlabel=’Next Page &raquo;’. Finally, within the loop, make sure […] Read more »

WordPress Plugin Central

Welcome to WordPress Plugin Central! Here we will organize, review, and log any changes made to the plugins used here at Perishable Press. Our first task involves listing all of the plugins used as of May 29, 2006 (Note: This list is updated with every plugin modification and is current as of the “Edited on” date in the “Post Metadata” section to the left of this post): Update 2013/10/15: This article is from 2006 and no longer accurate! Informational/reference purposes only. Read more »

Category LiveBookmarks Plugin

Already familiar with Firefox’s Live Bookmarks and WordPress RSS feeds? Well then skip the intro and jump to the good stuff » Enthusiastic Firefox users enjoy the luxury of Live Bookmarks, a feature of Firefox that automatically discovers and updates RSS feeds. Web pages with available feeds are indicated by the orange feed icon located in the browser’s address bar. Clicking the feed icon presents a list of all available feeds for that particular webpage. Users then select which feeds they would like Firefox to bookmark, track, and automatically update. Very handy indeed. Providing these Live Bookmark feeds to your […] Read more »

Create New Permalink Category

If you are running WordPress 2.0.2 and have enabled permalinks, you may have had problems creating a new category or page to your site. I recently encountered this dilemma and devised the following strategy for adding, editing, or even deleting WordPress categories and pages. Note: this tutorial assumes you are running Apache. First, open wp-includes/vars.php and find (around line #39): $is_apache = ( strstr($_SERVER['SERVER_SOFTWARE'], ‘Apache’) || strstr($_SERVER['SERVER_SOFTWARE'], ‘LiteSpeed’) ) ? 1 : 0; Comment out that line and add the following: $is_apache = 1; Save the file and upload it to your server. Next, check the file attributes of your […] Read more »

Customize Password-Protected Posts

To customize WordPress-powered password-protected posts such as this one, follow these simple steps. First open template-functions-post.php and find the function get_the_password_form, which is located near the top of the page. There are several aspects of this function that you may wish to customize. For example, the Perishable Press website requires several CSS attributes for stylistic control. Thus we simply added the class postpassword to the form input field, as well as the class passwordsubmit to the form submit button. This enabled full stylistic control over password-protected posts. You may also wish to modify the size of the input text field, […] Read more »

More Server Drama

After successfully migrating our domains to a new server at WebHostingBuzz.com, we continued writing articles, uploading, embellishing, and fine-tuning everything. Everything seemed fine. At first… Read more »

Server Migration Details

About a year ago we signed up with a hosting provider that offered one of the best hosting deals around: lots of space, bandwidth, and transfer — plus all of the usual server software amenities that make life easier. Everything went smoothly at first… In fact, the first six months of service were close to 100%. The few help-ticket items submitted were promptly resolved in a professional manner. We were ready to start some business and everything was going great. Then, about five months ago, we began noticing a serious increase in server downtime. Help tickets were also slow-going and […] Read more »

Head Meta Data

Update (2012/11/13): Head MetaData Plus has been massively refreshed and renamed to Head Meta Data. Head Meta Data adds a complete set of <meta /> tags to the <head></head> section of all posts & pages on your site. Including meta information about your site is a great way to refine definition, enhance branding, and improve the semantic quality of your web pages. Read more »

Title Attributes for WordPress Post Navigation

Improve accessibility by adding title attributes to your WordPress userspace. Note: This article applies specifically to WordPress 2.0.2, but may be generalized to any WP 2.0+ version. By default, WordPress navigation links omit the title attributes for both page and post views. Title attributes for links provide additional information that can improve the accessibility of your website. This is especially true when images or text symbols exclusively are used for navigation. To add title attributes to WordPress page-view links (e.g., links for index, archive, and category views), open the file wp-includes/template-functions-links.php and find the functions previous_posts_link (line #494) and next_posts_link […] Read more »

Upgrading Tag Functionality

Before today, the extent of my concern with tags involved local post tags via UTW and meta keywords via Autometa. Wanting to dive deeper into tagging, I added metadata Technorati tag links as icons appearing after each local tag link, generally located within post meta information. Adding the icon links is easy. Go to the UTW Options panel and in the “Global Formatting Settings” section, select the Technorati Tag. Then simply add the following (or something similar 1) to your index.php WP loop: <?php UTW_ShowTagsForCurrentPost(“iconlist”) ?> More display options include: <?php UTW_ShowTagsForCurrentPost(“commalist”) ?> <?php UTW_ShowTagsForCurrentPost(“technoraticommalist”) ?> <?php UTW_ShowRelatedTagsForCurrentTagSet(“commalist”) ?> References […] Read more »

Latest Tweets New book on WordPress Theme Development on its way this week - stay tuned :)