Let’s face it, spam sucks. Give spammers the figurative finger by using this nifty bit of JavaScript to hide your email address from the harvesters. Here is an easy copy-&-paste snippet for including a spam-proof email address in your web pages. Although there are a million ways of doing this, I am posting this for the record (and because I just can’t stand deleting usable code). This technique uses JavaScript, and therefore is not 100% ideal for all users. My […] Continue reading »
Check out these crazy CSS underline effects: Continue reading »
Consider this page a virtual dumpster of wonderful CSS hacks.. Continue reading »
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! Continue reading »
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. Continue reading »
Here are a few sIFR Notes for Perishable Press. Just what are we looking at here? Well, first it is important to understand the sIFR variables and the order in which they should appear: Continue reading »
One of our most popular posts, Stupid htaccess Tricks, has been completely rewritten and now includes almost twice as many stupid htaccess tricks. Plus, we have added a library of regex character definitions, more information for many of the directives, and several handy references. But wait, there’s more — we even threw in a “quick-jump” Table of Contents and a complete set of “up” links [ ^ ] for easy navigation. Utterly amazing! Continue reading »
To help maintain consistency when developing new CSS-styled websites, we have created a complete CSS template file. The file contains every HTML/XHTML tag known to man. This includes tags such as BASEFONT and CENTER, which have been deprecated; tags such as COMMENT and MARQUEE, which are exclusive to Internet Explorer; tags such as SPACER and SERVER, which are exclusive to Netscape Navigator; and even tags such as !DOCTYPE and BASE, which are included merely for the sake of completeness. The […] Continue reading »
Here is a collection of notes about WordPress search functionality. Note that this post was written a long time ago, so test/verify any code before implementing on a live, production site. Continue reading »
Backing up your database as often as possible is essential. For WordPress, as well as for other applications, plugins and other scripts that help automate the task are easily obtainable. However, for several reasons, it is a good idea to understand the process of manually creating a backup copy of your database. This quick tutorial should help cement the process into a solid reference. We are assuming that you have an SQL database and have access via phpMyAdmin. Continue reading »
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. Likewise, for those of us enjoying the stylish functionality of FancyTooltips or any of its many incarnations, title and alt attributes manifest as stylish displays of CSS brilliance that your visitors will love. Continue reading »
Recently, every website on our primary server was simultaneously attacked. The offending party indiscriminately replaced the contents of every index file, regardless of its extension or location, with a few vulgar lines of code, which indicated intention, identity, and influence. Apparently, the attack occurred via Germany, through a server at the University of Hamburg (uni-hamburg.de). This relatively minor attack resulted in several hours of valuable online education. In this article, it is our intention to share experience with website attack […] Continue reading »
Updated January 1st 2026: All code in this post is current with WordPress 6.9 and better. The permalink rules presented below should work with all versions of WordPress. That is, the current rules are backward compatible. Jump to the Permalink Rules » I recently performed a series of tests on a fresh installation of WordPress to determine the exact .htaccess rewrite rules that WordPress writes to its .htaccess file for various permalink configurations. In the WordPress General > Permalinks settings, WordPress […] Continue reading »
According to the WordPress Codex1, 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 Codex2, wp_link_pages() is unable to pass quotes without causing errors. Continue reading »
This article explains how to reverse the order of WordPress archive navigation links. For more information about WP’s navigation tags, check out this post. Continue reading »
Ever imagine your website represented as a cluster graph? Well prepare your DOM and check out Sala’s Websites as Graphs project. Just visit the free online tool and enter the URL of any web page. After a few moments, the site will generate a colorful graph such as the one displayed on the left of this post. Each generated map represents a single website page, where each dot represents a different tag, and each color represents a different type of […] Continue reading »
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience.
Here you will find posts about web development, WordPress, security, and more »