I’m a huge fan of using Markdown for authoring web content. I’ve been on a big push as of late to see my clients publish their web material using Markdown. Many of the sites I build and maintain are based on WordPress. Markdown is not WordPress’ standard editing method out of the box. WP-Markdown is a WordPress plugin which replaces the standard TinyMCE editor with a Markdown editor. It even allows Markdown editing in comments. It’s a super handy plugin.
When I’m developing custom themes I often create snippet fields that are stored as plain text in WordPress options. In many cases I want to get the text from field and process it from Markdown into HTML.
WP-Markdown exposes two functions which can be used to convert to or from Markdown. These functions are found in the WP-Markdown source code.
I had a brief discussion with the plugin author in a Github issue about using WordPress’ filters API to offer filters that process the Markdown. He felt that you could just use the functions. I see some advantages to doing things the WordPress way using filters.
The code I write will be more durable using filters. It provides a built-in fail safe in case the WP-Markdown plugin is not enabled. The Markdown won’t be processed, but more importantly the theme won’t generate a PHP error.
If a filter is used, additional filtering can be attached to that filter’s tag by using lower priority. This could come in handy for custom theme development.
Here’s what I am now adding to the functions.php.
<%= gist “ryanburnette”, “0fc9b9ab1eb41877ffd3” %>
This lets me use WordPress filters to process Markdown.
I find it to be a clean way to make use of WP-Markdown’s Markdown processing feature.