Book Sale! Save $10 on any book or combo at Perishable Press Books with discount code: REDESIGN_2015
Web Design
Category Archive

Website Attack Recovery

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. 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 recovery. This article is aimed at website developers, designers, and administrators. 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: https://perishablepress.com/press/?=123 Date and name based: https://perishablepress.com/press/index.php/2006/06/14/sample-post/ Numeric: https://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 »

Website Cluster Graphs

Ever imagine your website represented as a cluster graph? Well prepare your DOM and check out Sala’s Websites as Graphs (404 link removed 2015/06/15) project. Each map represents a single website page, each dot represents a different tag, and each color represents a different set of tags. Here is the graphical representation for Perishable Press (404 link removed 2014/01/29): Perishable Press DOM Graph Read more »

Perishable Press Print CSS

Editor’s Note: This article applies exclusively to our Lithium theme, which is no longer the default site theme. Different themes may or may not include print style sheets of their own. Click here to check out the Lithium theme, to which this article applies. Click here to see a list of all available themes. Perishable Press now with fully printable articles! Check out the new print CSS stylesheet by checking out an article’s “Print Preview” from the browser’s “File” menu. Before the addition of special CSS styles for print versions, Press articles printed non-sequentially and included everything — buttons, banners, […] Read more »

Stylish Deleted Text

Fashion stylish deleted text in XHTML via the über obscure del tag. Code example: <del datetime=”1999-Dec-31T23:59:59+00:00″ title=”Text deleted: 31-Dec-1999 @ 23:59″> Terminate me. </del> Live example: Terminate me. Read more »

Permalink Enlightenment

I recently enabled the permalinks feature for a fresh WordPress 2.0.2 upgrade. The process required several hours of research and approximately 90 minutes to fully implement. This brief article summarizes the process and applies to at least the following setup: WordPress 2.0.2 Apache Server with mod_rewrite enabled The ability to access/modify your .htaccess file(s) You have decided to use the /%year%/%monthnum%/%day%/%postname%/ permalink format (actually, any format will work; simply swap your preferred format for the one mentioned here) You may also be using any of the plugins listed in the dungeon (actually, most plugins are compatible — only a few […] Read more »

Obscure XHTML Tags

Well, maybe not that obscure.. <pre> — Preformatted character data <em> — Renders as emphasized text <strong> — Renders as strong emphasized text <tt> — Renders font as teletype or monospace <dfn> — Defines a definition term <code> — Defines computer code text <samp> — Defines sample computer code <kbd> — Defines keyboard text <var> — Defines a variable <cite> — Defines a citation <strike> — XHTML Transitional only <del> — Indicates deleted text <ins> — Indicates inserted text <dl> — Defines a definition list <dt> — Defines a definition term <dd> — Defines a definition definition <abbr> — Defines […] Read more »

Robots Notes Plus

About the Robots Exclusion Standard 1: The robots exclusion standard or robots.txt protocol is a convention to prevent cooperating web spiders and other web robots from accessing all or part of a website. The information specifying the parts that should not be accessed is specified in a file called robots.txt in the top-level directory of the website. Notes on the robots.txt Rules: Rules of specificity apply, not inheritance. Always include a blank line between rules. Note also that not all robots obey the robots rules — even Google has been reported to ignore certain robots rules. Also, comments are allowed […] Read more »

HTTP Error Codes

A list of HTTP Error codes and corresponding definitions: Informational Codes 100 — Continue 101 — Switching Protocols Successful Client Requests 200 — OK 201 — Created 202 — Accepted 203 — Non-Authorative Information 204 — No Content 205 — Reset Content 206 — Partial Content Client Request Redirected 300 — Multiple Choices 301 — Moved Permanently 302 — Moved Temporarily 303 — See Other 304 — Not Modified 305 — Use Proxy 307 — Temporary Redirect Client Request Errors 400 — Bad Request 401 — Authorization Required 402 — Payment Required (not used yet) 403 — Forbidden 404 — […] Read more »

Lightbox Notes

To add Lightbox functionality to any single image: Add rel=”lightbox” to the anchor tag. Add a title=”” attribute to the anchor tag. Add an alt=”” attribute to the image tag. To add Lightbox functionality to any series of images: Add rel=”lightbox[value]” to the anchor tag of each image. Add a title=”” attribute to the anchor tag of each image. Add an alt=”” attribute to the image tag of each image. Any set of pictures with the same rel=”lightbox[value]” will display with nav buttons. Read more »

JavaScript Notes Plus

Welcome to Perishable Press! This article covers a plethora of useful JavaScript tips and tricks. For more excellent JavaScript information, check out the JavaScript tag archive. If you like what you see, I encourage you to subscribe to Perishable Press for a periodic dose of online enlightenment ;) Nifty JavaScript Design Tricks Clickable divs Standard design practice dictates that the site logo or banner located at the top of the page links to the home page of the site. There are several methods for including such functionality into a design, including this JavaScript trick that transforms an entire element (e.g., any […] Read more »

WordPress RDF Source Makeover

Beautiful Source-Code Output, Part 1: Whip your WordPress RDF Code into Submission Update: This article applies specifically to WordPress 2.0.2, but may be generalized to any WP 2.0+ version. I love looking at beautiful source-code output. However WordPress tends to spit code out in random chunks, often leaving spaces, line breaks, and tabs littered throughout the source output. This messes things up. Lists don’t look like lists and logically written code often appears scattered along the page carelessly. Often, this is the result of poorly written PHP, which can be manipulated to write beautifully aligned code that looks as good […] Read more »

Latest Tweets Redesign includes the homepage for my book, WordPress Themes In Depth: wp-tao.com/wordpress-themes-bo… - Save $10 with code: REDESIGN_2015