WordPress Advanced Dates Plugin

Available for download from the WordPress plugin directory.

Studio Hyperset is obsessed with the literary possibilities of the internet:

… in the internet as such, that is, as a decentered, international network of TCP/IP protocols;

… in its totum pro parte synecdochal sense, that is, as a vernacular byword for the World Wide Web;

… and in its emerging cloud and mobile applications, that is, in social networking resources like Twitter and Facebook and dedicated literary apps like ThumbScribes and Electric Literature‘s Electric Publisher and Broadcastr.

In addition to hyper/boʊl/e, which frequently investigates the intersections of traditional literature and belles lettres and the contemporary internet, SH plays with several of its scripted narrative characters — including Pig Cupid, “The Flâneur,” and elements of Live Free or Die! — via Twitter and Facebook; develops the voice of Reynard St. Jean (“The Flâneur”) in blog-form; explores “literature’s last frontiers” via SCRIPTjr.nl; and investigates the radical possibilities hypermedia offers 21st century manuscript studies and material textual scholarship via its “Banal Story” (hyper)media project.

The most user-friendly and elegant publishing platform available, WordPress is perhaps the 21st century writer’s greatest tool. And as SH‘s aforementioned Flâneur journal attempts to illustrate, WordPress’ literary possibilities are effectively limitless.

However, as outlined in a previous hyper/boʊl/e post, WordPress developers often find themselves frustrated by historical “old” dates, that is, pre-1970 or, in some cases, pre-1969 post and page timestamps. Usually, when developers try to assign such dates to pages and posts, the system ignores them and outputs the current date instead.

While this limitation might seem rather benign, it severely handicaps publishers from using WordPress to its full academic/literary potential.

If, for example, a librarian, documentarian, or family genealogist wants to use WordPress as a documentary or archival tool, integrating pre-1970 or pre-1969 historical dates into posts and pages would help organize and properly timestamp the diary of a WWII veteran, the letters of a Renaissance sailor, and the pugillares of a Roman civil servant. With properly functioning historical “old” dates, that is, pre-1970 and pre-1969 post and page timestamps, fiction writers could use WordPress to create epistolary novels, speculative fiction, and webs of stories that connect across generations.

In May of 2011, SH developed a WordPress/PHP function that allows its Flâneur journal to display 19th century publication dates. The devices upon, and means by which, it’s read notwithstanding, this lends the site an extra sense of verité, helping it further merge “modern hypertext” with “fin de siècle flair.”

SH posted this solution on hyper/boʊl/e as well as on its Google code project site. For many non-developers, though, this original function-based solution may be prohibitively daunting since it involves a series of edits that lay WordPress writer-users may not understand and, as such, will most likely avoid.

In an attempt to make the fix available to a wider audience, SH worked with UK developer Ryan Jarrett to create the “Advanced Dates” WordPress plugin, which is available in the WordPress Plugins Directory and on SH‘s Google code project site. For more advanced users, the original function is still available, both on hyper/boʊl/e and Google code.

However, even the most experienced WordPress developer should be aware that the plugin improves upon the function in a number of ways.

While the original function can be used to set a site’s date into the future, the original hyper/boʊl/e post emphasizes using it for historical dates. Hoping to reach writers who want to create literary works set in the future, the plugin makes the possibility of creating futuristic dates much more explicit.

The original function also affects dates site-wide with no option to modify single posts or pages independent of the rest. Using WordPress conditionals, developers can integrate multiple versions of the function into their theme to correspond with different posts and pages and thereby employ larger or smaller differentials as required for different sections, categories, tages, posts, pages, &tc. This, however, is time consuming, and the plugin, as a remedy, offers WordPress publishers an easy way to set dates forward or backward site-wide or on a page-by-page or post-by-post basis.

Finally, the original function doesn’t prevent a site’s dates from increasing by one year each time a calendar year rolls over. The plugin, on the other hand, allows writers to freeze dates, if they choose, and thereby prevent the server from automatically adjusting the year each New Year’s Day. With this option enabled, a given page/post’s date will always read x +/- the page/post’s original publication year (where x = the site or page/post’s differential).

Usage
After installing and activating the plugin (see http://codex.wordpress.org/Managing_Plugins for more information), visit Settings > Advanced Dates. There, publishers can chose to either adjust dates site-wide or on a page-by-page and post-by-post basis. If a publisher choses the latter, s/he’ll be able to selectively (de)activate the plugin, customize the annual differential, and (un)freeze dates on each page/post’s editing screen.

Please note that the plugin will not take effect, even after activation, until a publisher chooses one of the two options in the Settings > Advanced Dates admin screen.

Developer Notes
SH is quite interested in the ways in which publishers use the Advanced Dates plugin. Please share ideas and usage notes in the comments below.

Also, the WordPress functions get_the_time and the_time work only on pages while get_the_date and the_date work only on posts. This is largely meaningless since developers can display the same date, time, and publication information using all four. Nevertheless, when developing a theme that builds on the Advanced Dates plugin, or trying to integrate the plugin into an existing theme, developers will want to keep these WordPress boundaries in mind.

Moreover, if a publisher or developer finds the plugin isn’t working for a particular theme, it’s likely the result of improper usage of one or more of the four date-oriented WordPress functions referenced above. For the Advanced Date plugin to work, developers need to use the get_the_time and the_time functions on pages and the get_the_date and the_date functions on posts.

Future Builds
As demand warrants, future builds may include “creative” date frameworks for sci-fi and speculative fiction as well as other create-your-own calendar and date systems.

Discussion & Support
For plugin support, feedback, and troubleshooting, visit this link or click the “Feedback” tab on the left-hand side of your browser window. To learn about other Studio Hyperset WordPress plugins, click here. To learn about other Studio Hyperset code projects, click here.