<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blue Anvil Journal</title>
	
	<link>http://blue-anvil.com</link>
	<description>Blue Anvil is the online web design journal &amp; portfolio of Mike Jolley, a web designer &amp; developer from Norfolk, England, UK.</description>
	<lastBuildDate>Mon, 15 Jun 2009 11:07:41 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>52.76</geo:lat><geo:long>0.410</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><image><link>http://blue-anvil.com/</link><url>http://www.blue-anvil.com/newBlueAnvilBubble.gif</url><title>Blue Anvil</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/blueanvilblog" type="application/rss+xml" /><feedburner:emailServiceId>blueanvilblog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/blueanvilblog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.inclue.com/client/1?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.inclue.com/friends/chicklet.gif">Subscribe with inclue!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fblueanvilblog" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:browserFriendly>Blue Anvil Journal &gt;&gt; http://www.blue-anvil.com - Welcome to the BA Journal RSS feed. This feed will update you with all the latest entries in my Journal. Please leave a comment if you find an entry useful :)</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Wordpress 2.8 Memory Usage</title>
		<link>http://blue-anvil.com/archives/wordpress-28-memory-usage</link>
		<comments>http://blue-anvil.com/archives/wordpress-28-memory-usage#comments</comments>
		<pubDate>Mon, 15 Jun 2009 11:07:41 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=611</guid>
		<description><![CDATA[With the release of wordpress 2.8 some people are experiencing out of memory php errors along the lines of:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 228968 bytes)
You may also be seeing pages fail to load fully (for example the wordpress admin dashboard) if php error messages are hidden. I&#8217;ve already [...]]]></description>
			<content:encoded><![CDATA[<p>With the release of wordpress 2.8 some people are experiencing out of memory php errors along the lines of:</p>
<blockquote><p>Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 228968 bytes)</p></blockquote>
<p>You may also be seeing pages fail to load fully (for example the wordpress admin dashboard) if php error messages are hidden. I&#8217;ve already had one case where we thought certain plugins were to blame but in fact it was just out of memory. A possible fix (which worked in the previously mentioned case) is to add:</p>
<p><code>@ini_set('memory_limit','64M');</code></p>
<p>to your wp-config file. Has anyone else encoutered this error?<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=611&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/qXdPME0bQaq9fp1dCIw0PMoDhvU/0/da"><img src="http://feedads.g.doubleclick.net/~a/qXdPME0bQaq9fp1dCIw0PMoDhvU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qXdPME0bQaq9fp1dCIw0PMoDhvU/1/da"><img src="http://feedads.g.doubleclick.net/~a/qXdPME0bQaq9fp1dCIw0PMoDhvU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=1ZJUgjpX1nM:o-ZrSACgRv8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=1ZJUgjpX1nM:o-ZrSACgRv8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=1ZJUgjpX1nM:o-ZrSACgRv8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=1ZJUgjpX1nM:o-ZrSACgRv8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=1ZJUgjpX1nM:o-ZrSACgRv8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=1ZJUgjpX1nM:o-ZrSACgRv8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=1ZJUgjpX1nM:o-ZrSACgRv8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=1ZJUgjpX1nM:o-ZrSACgRv8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/1ZJUgjpX1nM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/wordpress-28-memory-usage/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jQuery Curvy Corners 1.x and 2.x updated and moved to Google Code</title>
		<link>http://blue-anvil.com/archives/jquery-curvy-corners-1x-and-2x-updated-and-moved-to-google-code</link>
		<comments>http://blue-anvil.com/archives/jquery-curvy-corners-1x-and-2x-updated-and-moved-to-google-code#comments</comments>
		<pubDate>Tue, 02 Jun 2009 19:18:11 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>
		<category><![CDATA[curvy corners]]></category>
		<category><![CDATA[jQuery Plugins & Snippets]]></category>
		<category><![CDATA[rounded corners]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=607</guid>
		<description><![CDATA[I have updated the jQuery Curvy Corners plugins (both versions) with jQuery 1.3.2 support and other enhancements. The beta 2 version is looking good and is working in all version of IE, Opera, and Firefox (as far as I can tell).
You can grab the latest files from Google Code here. Enjoy.
]]></description>
			<content:encoded><![CDATA[<p>I have updated the jQuery Curvy Corners plugins (both versions) with jQuery 1.3.2 support and other enhancements. The beta 2 version is looking good and is working in all version of IE, Opera, and Firefox (as far as I can tell).</p>
<p>You can grab the latest files from Google Code <a href="http://code.google.com/p/jquerycurvycorners/">here</a>. Enjoy.<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=607&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/VWpdK0-6kvh9LxFFYPJx-muXHKU/0/da"><img src="http://feedads.g.doubleclick.net/~a/VWpdK0-6kvh9LxFFYPJx-muXHKU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/VWpdK0-6kvh9LxFFYPJx-muXHKU/1/da"><img src="http://feedads.g.doubleclick.net/~a/VWpdK0-6kvh9LxFFYPJx-muXHKU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=MXzlpokEIlE:iZyAlaGnMtw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=MXzlpokEIlE:iZyAlaGnMtw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=MXzlpokEIlE:iZyAlaGnMtw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=MXzlpokEIlE:iZyAlaGnMtw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=MXzlpokEIlE:iZyAlaGnMtw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=MXzlpokEIlE:iZyAlaGnMtw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=MXzlpokEIlE:iZyAlaGnMtw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=MXzlpokEIlE:iZyAlaGnMtw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/MXzlpokEIlE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/jquery-curvy-corners-1x-and-2x-updated-and-moved-to-google-code/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I’m too nice: Wordpress Download Monitor plugin page add-on now included with Download Monitor version 3.1.</title>
		<link>http://blue-anvil.com/archives/im-too-nice-wordpress-download-monitor-plugin-page-add-on-now-included-with-download-monitor-version-31</link>
		<comments>http://blue-anvil.com/archives/im-too-nice-wordpress-download-monitor-plugin-page-add-on-now-included-with-download-monitor-version-31#comments</comments>
		<pubDate>Fri, 22 May 2009 20:05:25 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=600</guid>
		<description><![CDATA[It was going to be a paid add-on, but today I had a change of heart and bundled it with the newest version of download monitor. The add-on lets you make a download page using a shortcode; it lists your downloads/categories with full sorting, pagination, and search functionality. Not bad eh? See the documentation topic [...]]]></description>
			<content:encoded><![CDATA[<p>It was going to be a paid add-on, but today I had a change of heart and bundled it with the newest version of download monitor. The add-on lets you make a download page using a shortcode; it lists your downloads/categories with full sorting, pagination, and search functionality. Not bad eh? See the <a href="http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation">documentation topic to see full instructions</a> for usage, or see my <a href="http://blue-anvil.com/download">download page</a> to see it in action.</p>
<p>And if you use it, please consider making a donation to ensure the continued development of the plugin!<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=600&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/uK3dgwJ0C2Br8ZjoNfJb8RK7r3o/0/da"><img src="http://feedads.g.doubleclick.net/~a/uK3dgwJ0C2Br8ZjoNfJb8RK7r3o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uK3dgwJ0C2Br8ZjoNfJb8RK7r3o/1/da"><img src="http://feedads.g.doubleclick.net/~a/uK3dgwJ0C2Br8ZjoNfJb8RK7r3o/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=-fkFlfhKnmw:MAiwRYKfZnw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=-fkFlfhKnmw:MAiwRYKfZnw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=-fkFlfhKnmw:MAiwRYKfZnw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=-fkFlfhKnmw:MAiwRYKfZnw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=-fkFlfhKnmw:MAiwRYKfZnw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=-fkFlfhKnmw:MAiwRYKfZnw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=-fkFlfhKnmw:MAiwRYKfZnw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=-fkFlfhKnmw:MAiwRYKfZnw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/-fkFlfhKnmw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/im-too-nice-wordpress-download-monitor-plugin-page-add-on-now-included-with-download-monitor-version-31/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>2 Announcements: New Support forum, and feedback wanted for new download page add-on</title>
		<link>http://blue-anvil.com/archives/2-announcements-new-support-forum-and-feedback-wanted-for-new-download-page-add-on</link>
		<comments>http://blue-anvil.com/archives/2-announcements-new-support-forum-and-feedback-wanted-for-new-download-page-add-on#comments</comments>
		<pubDate>Thu, 07 May 2009 12:17:47 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=588</guid>
		<description><![CDATA[First, I&#8217;ve implemented a support forum to Blue Anvil mainly for plugin support and ideas which can be found here. Hopefully this will make supporting my plugins easier. Feel free to add to the discussions (there is also a general web design forum too).
Secondly, I&#8217;ve added a demo of the new download page add-on I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>First, I&#8217;ve implemented a support forum to Blue Anvil mainly for plugin support and ideas which can be found <a href="http://blue-anvil.com/forum">here</a>. Hopefully this will make supporting my plugins easier. Feel free to add to the discussions (there is also a general web design forum too).</p>
<p>Secondly, I&#8217;ve added a demo of the new download page add-on I&#8217;m making for Download Monitor. This will be a paid add-on and it would be cool to get any feedback or suggestions from anyone who would like such a feature. My download page is <a href="http://blue-anvil.com/download">here</a>. Please leave feedback on the forum or in the comments.<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=588&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/oYEVp3ipJs3RCZ_PMwznvlh-egA/0/da"><img src="http://feedads.g.doubleclick.net/~a/oYEVp3ipJs3RCZ_PMwznvlh-egA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oYEVp3ipJs3RCZ_PMwznvlh-egA/1/da"><img src="http://feedads.g.doubleclick.net/~a/oYEVp3ipJs3RCZ_PMwznvlh-egA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=ZG0xcM20LgA:t7Qw8vAmBHc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=ZG0xcM20LgA:t7Qw8vAmBHc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=ZG0xcM20LgA:t7Qw8vAmBHc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=ZG0xcM20LgA:t7Qw8vAmBHc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=ZG0xcM20LgA:t7Qw8vAmBHc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=ZG0xcM20LgA:t7Qw8vAmBHc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=ZG0xcM20LgA:t7Qw8vAmBHc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=ZG0xcM20LgA:t7Qw8vAmBHc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/ZG0xcM20LgA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/2-announcements-new-support-forum-and-feedback-wanted-for-new-download-page-add-on/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Download Monitor 3 Documentation</title>
		<link>http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation</link>
		<comments>http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation#comments</comments>
		<pubDate>Fri, 03 Apr 2009 13:31:17 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Wordpress & plugins]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[download monitor]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=498</guid>
		<description><![CDATA[I have had some requests asking me to improve the Wordpress Download Monitor documentation, so I decided to write (and maintain) this post explaining the ins-and-outs of configuring and using the plugin. Hopefully it will help you guys use the plugin, and also reveal more of its power and flexibility.
Don&#8217;t forget, if you love download [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-551 alignnone" title="dlmhelp" src="http://blue-anvil.com/wp-content/uploads/2009/04/dlmhelp.jpg" alt="dlmhelp" width="488" height="100" /></p>
<p>I have had some requests asking me to improve the <a href="http://blue-anvil.com/archives/wordpress-download-monitor-3">Wordpress Download Monitor</a> documentation, so I decided to write (and maintain) this post explaining the ins-and-outs of configuring and using the plugin. Hopefully it will help you guys use the plugin, and also reveal more of its power and flexibility.</p>
<p>Don&#8217;t forget, if you love download monitor please make a small donation and/or rate it on the <a href="http://wordpress.org/extend/plugins/download-monitor/">wordpress plugins directory</a>. I also appreciate your contributions to the development of the plugin, so feel free to email me any code or your suggestions. Your support is very welcome!</p>
<p>Links: <a href="http://blue-anvil.com/archives/wordpress-download-monitor-3">Download Monitor Page</a> | <a href="http://wordpress.org/extend/plugins/download-monitor/">Plugin Directory Page</a></p>
<p><span id="more-498"></span></p>
<div id="tabs" class="tab_me">
<ul>
<li><a href="#fragment-1">Getting started</a></li>
<li><a href="#fragment-2">Management</a></li>
<li><a href="#fragment-3">Usage</a></li>
<li><a href="#fragment-4">FAQ</a></li>
<li><a href="#fragment-5">Download Page</a></li>
</ul>
<div id="fragment-1">
<h2>Installation</h2>
<p>If you have not already installed it, to install download monitor unzip the plugin file and put the <code>download-monitor</code> folder into your plugins directory. Activate it and your away. Once activated Download Monitor will create the database tables and set things up.</p>
<p>You will find the admin interface for download monitor on the top level menu listed as &#8216;Downloads&#8217;.</p>
<h2>Configuring Download Monitor</h2>
<p>Go to the <code>Downloads &gt; Configuration page</code>. Here you will find the following sections.</p>
<h3>Download categories</h3>
<p>You can categorise downloads using the categories you define in this section. Note that they can be nested. Each download may have only one category. To add a category, input its name and choose a parent (if you want to nest it), then click Add.</p>
<p>Note each category has an ID; this is how you will reference the category when displaying them in posts.</p>
<h3>Custom Output Formats</h3>
<p>This is where you define <strong>how your download links will look</strong>. Custom formats should be written as HTML and also use special &#8216;tags&#8217; which get substituted for download information when shown. The following tags can be used when defining a custom format; each is replaced with the download&#8217;s information.</p>
<ul>
<li><code>{url}</code> &#8211; Url of download (does not include the actual hyperlink)</li>
<li><code>{version}</code> &#8211; Version of download</li>
<li><code>{version,"before","after"}</code> &#8211; Version of download. Not outputted if none set. Replace &#8220;before&#8221; with preceding text/html and &#8220;after&#8221; with succeeding text/html.</li>
<li><code>{title}</code> &#8211; Title of download</li>
<li><code>{size}</code> &#8211; Filesize of download</li>
<li><code>{category,"before","after"}</code> or <code>{category}</code> &#8211; Download Category. Replace &#8220;before&#8221; with preceding text/html and &#8220;after&#8221; with succeeding text/html.</li>
<li><code>{hits}</code> &#8211; Current hit count</li>
<li><code>{hits,"No hits","1 Hit","% hits"}</code> &#8211; Formatted hit count depending on hits. <code>%</code> replaced with hit count.</li>
<li><code>{image_url}</code> &#8211; URL of the download image</li>
<li><code>{description,"before","after"}</code> or <code>{description}</code> &#8211; Description you gave download. Not outputted if none set. Replace &#8220;before&#8221; with preceding text/html and &#8220;after&#8221; with succeeding text/html.</li>
<li><code>{description-autop,"before","after"}</code> or <code>{description-autop}</code> &#8211; Description formatted with autop (converts double line breaks to paragraphs)</li>
<li><code>{date,"Y-m-d"}</code> &#8211; Date posted. Second argument is for date format.</li>
<li><code>{meta-<em>key</em>}</code> &#8211; Custom field value</li>
<li><code>{meta-autop-<em>key</em>}</code> &#8211; Custom field value formatted with autop</li>
</ul>
<p>For example, if I wanted to output my download with an image button I would use the following custom format:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;{url}&quot; title=&quot;Downloaded {hits} times&quot;&gt;&lt;img src=&quot;{image_url}&quot; alt=&quot;{title}&quot; /&gt;&lt;/a&gt;</pre></div></div>

<p>In this example I output a download link, with it&#8217;s title as the link text, followed by a description:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;{url}&quot; title=&quot;Downloaded {hits} times&quot; &gt;{title}&lt;/a&gt; - {description}</pre></div></div>

<p>Like categories, custom formats are referenced by ID, not by name.</p>
<p>Using custom formats gives you the flexibility to output downloads however you please, be it as links, list items, or table rows &#8211; the sky is the limit.</p>
<h3>Custom Download URL</h3>
<p>This option allows you to mask the download URL to something that looks a bit nicer. By default the download url will be something like:</p>
<p><code>http://yourdomain.com/wp-content/plugins/download-monitor/download.php?id=1</code></p>
<p>By entering something in the first input box you can mask the first part of the link. For example, if I added <code>downloads/</code> as the custom url my links would look like this:</p>
<p><code>http://yourdomain.com/downloads/1</code></p>
<p>The dropdown option (which defaults as ID) chooses the final part of the link. For example, if I selected &#8216;filename&#8217; from the dropdown and clicked save I would now have links like this:</p>
<p><code>http://yourdomain.com/downloads/filename.zip</code></p>
<p><em>Important:</em> Do not make the custom url match a <em>real </em>url e.g. do not call it <code>downloads/</code> if you really do have a directory called downloads on your server, because this will cause conflicts and break your links.</p>
<p>You must re-save your permalink settings after updating custom urls for your settings to take effect.</p>
<h3>General Options</h3>
<ul>
<li><em>&#8220;Download not found&#8221; redirect URL</em><strong><em> </em>- </strong>(optional) If set, when a download is not found the user will be redirected here.</li>
<li><em>Member-only files non-member redirect: </em>- (optional) If set, if a user tries to download a member only file and is not logged in they will be sent to this page.</li>
<li><em>Download image path &#8211; </em>The path of the image for the {image_url} custom format tag.</li>
<li><em>Default output format &#8211; </em>(optional) The custom format to be used if you don&#8217;t specifically reference one when outputting a download.</li>
</ul>
<h3>Recreate Download Database</h3>
<p>If you experience problems, such as not being able to add a download, it may be the database at fault. This option reinstalls the database tables (backup your database before using this function).</p>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-2">
<h2>Adding &amp; managing your downloads</h2>
<p>Downloads can be added in one of three ways;</p>
<ol>
<li>Using the <code>Downloads &gt; Add New</code> page to upload and add a file.</li>
<li>Using the <code>Downloads &gt; Add Existing</code> page to choose an already uploaded/remotely hosted file.</li>
<li>Using the uploader on a posts screen (see section below: &#8216;Using the post page uploader&#8217;)</li>
</ol>
<p>The &#8216;add download&#8217; forms should be pretty self-explanatory, however, I will explain custom fields and member only files in a little more detail. New downloads are uploaded to the wp-content/uploads/xxxx/xx directory (like images are when inserting images into posts).</p>
<p><strong>Custom fields</strong> allow you to define additional data about your downloads &#8211; just add a &#8216;name&#8217; and a &#8216;value&#8217;. You can then reference this data using custom formats (<code>{meta-<em>key</em></code>} and <code>{meta-<em>autop-key</em>}</code>). They have all kinds of uses, for example, if I wanted to include a thumbnail for each download I could add a custom field called &#8216;thumbnail-path&#8217;. I could then use a custom format to output the thumbnail like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;{url}&quot; title=&quot;Downloaded {hits} times&quot;&gt;&lt;img src=&quot;{meta-thumbnail-path}&quot; alt=&quot;Thumbnail&quot; /&gt; {title}&lt;/a&gt;</pre></div></div>

<p>Each download can have as many custom fields as you want.</p>
<p>The<strong> Member only file</strong> option, when enabled, only allows logged in users to download the file in question. If they are not logged in they will see a message telling them this *or* will be redirected to the <em>Member-only files non-member redirect </em>url set on the configuration page.</p>
<p>One handy additional feature with member only files is that if you give a download a custom field called <em>min-level</em>; the user will need to be this level or higher in order to access the file.</p>
<h3>Viewing, editing and deleting downloads</h3>
<p>All downloads can be viewed on the main download monitor admin page (as well as hits) and can be edited by clicking the edit icon on the right. The edit screen works in a similar fashion to the add download page. You can also delete downloads from here &#8211; this also removes the file from the server if you uploaded it via the &#8216;Add new&#8217; page.</p>
<h3>Download Logs</h3>
<p>The <code>Downloads &gt; Log</code> page shows a list of recently downloaded files, along with user ID&#8217;s/IP addresses. This is not used for stats so the log can be safety cleared using the &#8216;clear log&#8217; button if you wish.</p>
<h3>Download Stats</h3>
<p>It has already been mentioned that you can view hits on the view downloads page, however, if you visit your admin dashboard you will notice two additional stats widgets. One shows the top 5 downloads, where the other lets you select a date range and a download to view daily/montly download stats.</p>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 310px"><a rel="lightbox" href="http://blue-anvil.com/wp-content/uploads/2009/04/widget-screenshot.png"><img class="size-medium wp-image-531" title="widget-screenshots" src="http://blue-anvil.com/wp-content/uploads/2009/04/widget-screenshot-300x232.png" alt="widget-screenshots" width="300" height="232" /></a><p class="wp-caption-text">widget-screenshots</p></div>
<h3>Using the post page uploader</h3>
<p>On the wordpress post screen you will notice a small &#8216;arrow&#8217; icon near the insert image button above the editor &#8211; this allows you to access download monitor conveniently when posting.</p>
<div id="attachment_534" class="wp-caption aligncenter" style="width: 66px"><img class="size-full wp-image-534" title="uploader-icon" src="http://blue-anvil.com/wp-content/uploads/2009/04/uploader-icon.png" alt="uploader-icon" width="56" height="57" /><p class="wp-caption-text">uploader-icon</p></div>
<p>From this screen you can add a new file (and insert into the post), or by clicking &#8216;view downloads&#8217; you can see the list of files and click &#8216;insert&#8217; to insert them into your post.</p>
<p><em>Note</em>: It is normal for the inserted code to look something like <code>[<span class="prevent_parse">download id="1"</span>]</code>. This is parsed when the post is viewed.</p>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-3">
<h2>Outputting your Downloads</h2>
<p>Download monitor provides a variety of ways to output your downloads in your pages, posts, or templates.</p>
<h3>Shortcodes</h3>
<p>Shortcodes are the best way of including downloads (these replace many of the legacy tags shown later).</p>
<h4>Outputting a single Download</h4>
<p><code>[<span class="prevent_parse">download id="1" format="1" autop="false"</span>]</code></p>
<p>This shortcode outputs a single download of your choosing (set the id), with an optional custom format (replace the id in &#8216;format&#8217;), and an optional autop (true or false; false prevents wrapping the outputted content in p tags and is default). Valid examples:</p>
<p><code>[<span class="prevent_parse">download id="1"</span>]</code></p>
<p><code>[<span class="prevent_parse">download id="2" format="2"</span>]</code></p>
<h4>Outputting multiple downloads</h4>
<p><code>[<span>downloads query="limit=5&amp;orderby=rand" format="1" wrap="ul" before="&amp;lt;li&amp;gt;" after="&amp;lt;/li&amp;gt;" autop="false"</span>]</code></p>
<p>This shortcode retrieves and outputs multiple downloads in posts. All of the options are optional.</p>
<p>&#8216;query&#8217; takes a query string containing a variety of options (see the get_downloads() function below; they use the same query string format). By default it retrieves 5 random downloads. A common request is showing a category using this shortcode; to do that you can add <code>&amp;category=1</code> (replacing 1 with the category ID) to the query string.</p>
<p>&#8216;Format&#8217; take a custom format ID to change how the downloads of outputted.</p>
<p>&#8216;Wrap&#8217; by default wraps the downloads in a unordered list; you can set this option to be blank if you want to wrap it with something else (like a table).</p>
<p>&#8216;Before&#8217; and &#8216;after&#8217; are what each download will be wrapped in (by default this is a list item). If you modify these values you must ensure the code you insert is encoded e.g. replace &lt; with <code>&amp;lt;</code>.</p>
<p>&#8216;autop&#8217; can be true or false; false prevents wrapping the outputted content in p tags and is default.</p>
<p>Valid examples:</p>
<p><code>[<span class="prevent_parse">downloads</span>]</code></p>
<p><code>[<span class="prevent_parse">downloads query="limit=5&amp;orderby=hits"</span>]</code></p>
<p><code>[<span class="prevent_parse">downloads query="limit=5&amp;orderby=hits" format="2"</span>]</code></p>
<p><code>[<span class="prevent_parse">download query="limit=5&amp;orderby=hits" wrap="" before="&amp;lt;p&amp;gt;" after="&amp;lt;/p&amp;gt;"</span>]</code></p>
<h4>Show a special download page</h4>
<p>Use the [<code>download_page</code>] shortcode. See the &#8216;download page&#8217; section for more info.</p>
<h4>Parsing shortcodes in templates</h4>
<p>Did you know you could output shortcodes in places other than posts? Just wrap your shortcode in the <code>do_shortcode()</code> function. Example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">do_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'[download id=&quot;1&quot;]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3><code>get_downloads()</code> template function</h3>
<p>This function returns downloads that match your query; it takes 1 argument containing the query string. The defaults are as follows:</p>
<p><code>'limit' =&gt; '', 'offset' =&gt; 0, 'vip' =&gt; 0 'category' =&gt; '', 'orderby' =&gt; 'id', 'order' =&gt; 'ASC'</code></p>
<p>As with many of wordpress&#8217; functions, construct your query string using the above attributes linked together with an ampersand (&amp;), e.g. <code>limit=5&amp;orderby=hits&amp;order=desc</code>.</p>
<p>&#8216;<code>limit</code>&#8216; takes an integer and will return that many posts.</p>
<p>&#8216;<code>offset</code>&#8216; takes an integer and will offset the returned posts by that number. e.g. offset of 1 would not return the first result.</p>
<p>&#8216;<code>vip</code>&#8216; can be 1 (true) or 0 (false); if set to true, only downloads you have permission to access will be displayed (non members will not see member only downloads).</p>
<p>&#8216;<code>category</code>&#8216; takes a comma separated list of category id&#8217;s and returns downloads in those categories.</p>
<p>&#8216;<code>orderby</code>&#8216; orders the downloads. Valid options for this include id, hits, title, date, filename, and random.</p>
<p>&#8216;<code>order</code>&#8216; can be &#8216;ASC&#8217; for ascending, and &#8216;DESC&#8217; for descending.</p>
<p>get_downloads() returns an array object with the following data:</p>
<ul>
<li>size</li>
<li>url</li>
<li>title</li>
<li>version</li>
<li>hits</li>
<li>image</li>
<li>desc</li>
<li>category</li>
<li>category_id</li>
<li>id</li>
<li>date</li>
<li>memberonly</li>
</ul>
<p><em>Usage Example</em>: (Output a list of top downloads)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$dl</span> <span style="color: #339933;">=</span> get_downloads<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'limit=5&amp;orderby=hits&amp;order=desc'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dl</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;ul class=&quot;downloadList&quot;&gt;'</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dl</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$d</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$date</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jS M Y&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">date</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;li&gt;&lt;a href=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; title=&quot;'</span><span style="color: #339933;">.</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Version'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;wp-download_monitor&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">version</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'downloaded'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;wp-download_monitor&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hits</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'times'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;wp-download_monitor&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; &gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' ('</span><span style="color: #339933;">.</span><span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hits</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')&lt;/a&gt;&lt;/li&gt;'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/ul&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-4">
<h2>FAQ</h2>
<h3>My hits arn&#8217;t showing up! Help?</h3>
<p>Admin hits are not counted, log out and try! Also ensure that if you have set the &#8216;custom url&#8217; option that the custom url does not actually match the physical location of the file.</p>
<h3>I get an &#8216;error saving to database error&#8217;. What&#8217;s happening?</h3>
<p>The download tables may not exist. Use the option in Downloads &gt; configuration &gt; Recreate Download Database.</p>
<h3>My member only downloads are corrupted/don&#8217;t work, why?</h3>
<p>To hide the URL, member only downloads are forced by using PHP&#8217;s readfile function. If the download is hosted externally, or the server does not support it properly the download may be corrupted. To turn off forced downloading add the custom field &#8216;forced&#8217; to the download and set it to &#8216;0&#8242;.</p>
<h3>I want my downloads to be parsed in a custom field using get_post_meta(), can I do this?</h3>
<p>Wordpress does not have a filter I can hook into for this function, so to make this work wrap it in the relevant functions. For old style download links ([Download id not defined]) use <code>wp_dlm_parse_downloads()</code> else use <code>do_shortcode()</code>. For example:</p>
<p><code>echo do_shortcode(get_post_meta($post-&amp;gt;ID, 'Download', true));</code></p>
<h3>What happened to the old tags?</h3>
<p>They still exist &#8211; they are just no longer supported. See below.</p>
<p>The following (older) tags will work in your posts but are no longer supported (shortcodes are now preferred). These are mainly here for backward compatibility.</p>
<h4>Output a download with a custom format:</h4>
<p>Use the admin panel to define custom formats to output your links and then use <code>[<span class="prevent_parse">download#id#format=id</span>]</code> or just <code>[<span class="prevent_parse">download#id</span>]</code> if you set one as default.</p>
<h4>Other output functions:</h4>
<p>To show download links, use the following tags:</p>
<ol>
<li><strong>Link/hits</strong> &#8211; <code>[<span class="prevent_parse">download#id</span>]</code></li>
<li><strong>Link w/o hits</strong> &#8211; <code>[<span class="prevent_parse">download#id#nohits</span>]</code></li>
<li><strong>URL only</strong> &#8211; <code>[<span class="prevent_parse">download#id#url</span>]</code></li>
<li><strong>Hits only </strong>- <code>[<span class="prevent_parse">download#id#hits</span>]</code></li>
<li><strong>Link with image</strong> &#8211; <code>[<span class="prevent_parse">download#id#image</span>]</code></li>
<li><strong>Link/hits/filesize</strong> &#8211; <code>[<span class="prevent_parse">download#id#size</span>]</code></li>
<li><strong>Link/filesize</strong> &#8211; <code>[<span class="prevent_parse">download#id#size#nohits</span>]</code></li>
</ol>
<p>There are a few other <strong>template tags</strong> to use in your wordpress templates. Replace &#8216;$no&#8217; with the amount of downloads to show.</p>
<ol>
<li>Most downloaded &#8211; <code>&lt;?php wp_dlm_show_downloads(1,$no); ?&gt;</code></li>
<li>Most recent &#8211; <code>&lt;?php wp_dlm_show_downloads(2,$no); ?&gt;</code></li>
<li>Random &#8211; <code>&lt;?php wp_dlm_show_downloads(3,$no); ?&gt;</code></li>
</ol>
<h4>Show all downloads:</h4>
<p>Add the tag <code>[<span class="prevent_parse">#show_downloads</span>]</code> to a page.</p>
<h4>Show downloads with category selector:</h4>
<p>Add the tag <code>[<span class="prevent_parse">#advanced_downloads</span>]</code> to a page.</p>
<h4>Show downloads in a single category:</h4>
<p>Use <code>[<span class="prevent_parse">download_cat#id</span>]</code> replacing id with the id of the category.</p>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-5">
<h2>Download Page</h2>
<p>I gave in. I was going to release this as a paid add-on, but I&#8217;ve changed my mind because I trust you guys to make donations to ensure support continues for this plugin. So here we go; the download page addon (as seen on this site in the &#8216;Downloads&#8217; page) is now built into download monitor (version 3.1 +). The download page includes a sorting, pagination, and search function.</p>
<h3>Usage</h3>
<p>To create a download page, first create a wordpress page (or post) and insert the following shortcode:</p>
<p>[<code>download_page</code>]</p>
<p>Easy huh? But theres more. This shortcode has the following options:</p>
<ul>
<li>base_heading_level (integer) &#8211; Category headings on the page are this level. Defaults to 3 (h3)</li>
<li>pop_count (integer) &#8211; How many popular downloads to show.  Default is 4.</li>
<li>pop_cat_count (integer) &#8211; How many popular downloads to show per category. Default is 4.</li>
<li>show_uncategorized (integer) &#8211; Set to 1 (default) to show an uncategorized section, or 0 to hide it.</li>
<li>per_page (integer) &#8211; How many downloads to show per page. Default is 20.</li>
<li>format &#8211; ID of custom format to use.</li>
<li>exclude &#8211; Comma separated list of downloads to exclude from the listings.</li>
</ul>
<p>So for example, to show 5 popular downloads I&#8217;d use:</p>
<p>[<code>download_page pop_count="5"</code>]</p>
<p>Easy peasy.</p>
<h3>Customisation</h3>
<p>So you want to customise the look? You can probably do that with CSS, either in your themes CSS file or by customising the styles.css which came with the plugin &#8211; this is found in download-monitor/page-addon/styles.css.</p>
<p>If for any reason the output looks unstyled completely, your version of wordpress may not support the way I added the styles.css file, so just paste the css code from that into your themes css file.</p>
<h3>Configuring Download Data</h3>
<p>The download page add-on is smart and uses your downloads custom fields to show the information. It lets you show an unlimited amount of custom fields like this:</p>
<ol>
<li>You add custom fields to a download, for example, &#8216;licence&#8217; with value &#8216;Free (GNU General Public License)&#8217;.</li>
<li>You then add a custom field called &#8216;include_fields&#8217; and list the names of the fields to include on the download page separated by commas, e.g. tags,licence,wordpress-plugin-directory-page,documentation.</li>
</ol>
<p>There are a few reserved custom field names you can use too:</p>
<ul>
<li><strong>post_id </strong>= add an id of an associated post to the download &#8211; the read more link on the download page will link to this post.</li>
<li><strong>side_content</strong> = some content to show underneath the download link. On my site ive inserted some adsense code.</li>
<li><strong>thumbnail</strong> = path to an image for the download&#8217;s thumbnail. 112&#215;112 is ideal for this.</li>
<li><strong>hide_download_button</strong> = Won&#8217;t show the download button. I&#8217;ve done this for my paid icon set because they cannot be downloaded from the site.</li>
<li><strong>hide_hits </strong>= Hide hit count</li>
</ul>
<p>Finally, remember I did not have to release this add-on for free, so please consider making a donation to ensure I continue developing download monitor in the future.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input alt="Make payments with PayPal - it's fast, free and secure!" name="submit" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" type="image" /><img src="https://www.paypal.com/en_GB/i/scr/pixel.gif" alt="" width="1" height="1" /></p>
<input name="encrypted" type="hidden" value="-----BEGIN PKCS7-----MIIHmAYJKoZIhvcNAQcEoIIHiTCCB4UCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBBcwapPTXpPF47IaRDJNW7rzSb7LQBCAUTzQ3JyVbyL/Lvfk8s1R3tpnCc+0KWkIsGa4Hml9sz77zshMIsQZveo6/wniQgfK100n9ks03KXPblXYFn4OgnTW1C9y36f2kAw1GCK7uCHk51M1ouPXcOdpHijkTlYhYw2f7o8m6vSTELMAkGBSsOAwIaBQAwggEUBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECCwkOMnfKDIugIHwNoDAhA1OzWclNhaPBY1bq0weaJNCRs7Pg/Z1QMiw9+w+yBy0H54ahFdkJ4IJcFYPAGoFi+npTsuPd5j9GMsr52RzRtNQjdhv6UqnMDWBJuYQdJ4/iEoRmUjpIS2CUyq5GIQwb2nTkEu1ZpP5cLCaudOVZS8W7nJzHzwJmk58A2SYnKCchwpHsZUQfdXJTaXg14I55DyHV3Rg+7P53zCnHfNrsAkw8aNNZLKz0B1Xiv8JFOYR2dBOPMRGpofmxdO/UDjZQjvqyxr1Hggm8To3VKZhrjoss8vs4NrJ3/Swg6fV7S1x9Fft5e2PQ3JXZI0/oIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6CieLuLsPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwOTEzMDkzNzIyWjAjBgkqhkiG9w0BCQQxFgQULYNalwI9CNnoxfsE3a8NfxujX7gwDQYJKoZIhvcNAQEBBQAEgYBnFV3uy0eVWLUaRL4tCtpP3Q70MbAV1Gu6CPf/AbpJrDdqgAwDlv3krA7rIkB+JT1tVsKqw9iBfOgphOSlOn47w25wt2/X6zmLBawnibHnYIWn1ZeTCgn6izgeb/zb4P7xZwUbN6FrgayWXP6owhSKClhwsMvvegHK8zrqbZVDaw==-----END PKCS7-----" /> </form>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
</div>
<p><img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=498&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/y6YYp2buCg9tbsmnJLWf1StEJVs/0/da"><img src="http://feedads.g.doubleclick.net/~a/y6YYp2buCg9tbsmnJLWf1StEJVs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/y6YYp2buCg9tbsmnJLWf1StEJVs/1/da"><img src="http://feedads.g.doubleclick.net/~a/y6YYp2buCg9tbsmnJLWf1StEJVs/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=dJXUvEZVucA:9wXWzm3gqNs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=dJXUvEZVucA:9wXWzm3gqNs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=dJXUvEZVucA:9wXWzm3gqNs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=dJXUvEZVucA:9wXWzm3gqNs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=dJXUvEZVucA:9wXWzm3gqNs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=dJXUvEZVucA:9wXWzm3gqNs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=dJXUvEZVucA:9wXWzm3gqNs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=dJXUvEZVucA:9wXWzm3gqNs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/dJXUvEZVucA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation/feed</wfw:commentRss>
		<slash:comments>259</slash:comments>
		</item>
		<item>
		<title>Book Review – Learning jQuery 1.3</title>
		<link>http://blue-anvil.com/archives/book-review-learning-jquery-13</link>
		<comments>http://blue-anvil.com/archives/book-review-learning-jquery-13#comments</comments>
		<pubDate>Thu, 02 Apr 2009 16:23:16 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[jquery 1.3]]></category>
		<category><![CDATA[jQuery Plugins & Snippets]]></category>
		<category><![CDATA[learning jquery]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=464</guid>
		<description><![CDATA[&#8220;Learning jQuery 1.3: Better Interaction Design and Web Development with Simple JavaScript Techniques&#8221; is a revised and updated version of the excellent (and previously reviewed) Learning jQuery book by Karl Swedberg and Jonathan Chaffer.
Written for web designers and developers, the book contains thorough tutorials on how to get things done in jQuery, for example, manipulating [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft floatleft size-full wp-image-466" style="margin: 0pt 4px 2px 0pt; float: left;" title="Learning jQuery 1.3" src="http://blue-anvil.com/wp-content/uploads/2009/04/1847196705.png" alt="Learning jQuery 1.3" width="100" height="123" />&#8220;Learning jQuery 1.3: Better Interaction Design and Web Development with Simple JavaScript Techniques&#8221; is a revised and updated version of the excellent (and <a href="http://blue-anvil.com/archives/book-review-learning-jquery">previously reviewed</a>) Learning jQuery book by Karl Swedberg and Jonathan Chaffer.</p>
<p>Written for web designers and developers, the book contains thorough tutorials on how to get things done in jQuery, for example, manipulating the <acronym title="Document Object Model">DOM</acronym>, using AJAX, events, plugins, and effects.</p>
<p><span id="more-464"></span></p>
<h2>Book Information</h2>
<dl>
<dt>Full Title:</dt>
<dd><a href="http://www.packtpub.com/learning-jquery-1.3/book">Learning jQuery 1.3: Better Interaction Design and Web Development with Simple JavaScript Techniques </a></dd>
<dt>Author(s):</dt>
<dd>Jonathan Chaffer, Karl Swedberg</dd>
<dt>Pages:</dt>
<dd>421</dd>
<dt>Published:</dt>
<dd>Feb 2009</dd>
<dt>Publisher:</dt>
<dd><a href="http://www.packtpub.com/">Packt Publishing</a></dd>
<dt>ISBN:</dt>
<dd>978-1-847196-70-5</dd>
</dl>
<h2>My Review</h2>
<p>Learning jQuery 1.3 is aimed at jQuery beginners who want to learn the popular library. You may have read my review of <a href="http://blue-anvil.com/archives/book-review-learning-jquery">Learning jQuery </a>back in 2007 where I found it to be a must-have for beginners and a good read in general. Well, 2 years on, I still hold that line of thought &#8211; this is a great learning resource.</p>
<p>The book does an excellent job of explaining concepts and functions, using relevant and real-world examples. The first six chapters contain tutorials on using the various components of jQuery, whereas the more advanced chapters 7-9 begin with real world problems and show how jQuery can help solve them. It flows very nicely and is meant to be read from beginning to end, expanding on certain examples throughout the book.</p>
<p>My only gripe with the original book was lack of reference/poor index. The book now includes a new quick reference section which lists all of the functions available in jQuery along with a short description; this is very handy and a welcome addition to the book.</p>
<p>Some examples of new features mentioned in the book include the .live() and .die() functions (which add event listeners to present and future elements, useful when using Ajax calls which create elements), the updated toggle() function (which now supports 2 or more functions to cycle through) and jquery.support (which detects features of browsers rather than sniffing the actual browser version). There is also a new chapter dedicated to plugin development which is more detailed than in the previous book.</p>
<p>Like the original, the language used in the book is clear, concise and easy to understand with tips and &#8216;gotchas&#8217; highlighted in the text. Code samples are well formatted and fairly easy to understand; they can also be downloaded from the web.</p>
<p style="text-align:center"><script type="text/javascript"><!--
google_ad_client = "pub-6928386133078955";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "444444";
google_color_text = "444444";
google_color_url = "444444";
//-->
</script><br />
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>Book Contents</h2>
<ol>
<li><strong>Getting Started</strong> &#8211; An explanation of what jQuery is, why its useful, and how to get it set up.</li>
<li><strong>Selectors</strong> &#8211; A guide on selectors (such as the powerful CSS, Attribute, and Form selectors), chaining, and traversing the DOM. Also includes examples such as styling links and zebra striping tables.</li>
<li><strong>Events</strong> &#8211; How to use jQuery&#8217;s event handling, including an explanation of event bubbling, delegation, and namespacing. This chapter also has a neat style switcher example.</li>
<li><strong>Effects</strong> &#8211; (<a href="http://www.packtpub.com/files/learning-jquery-1-3-sample-chapter-4-effects.pdf">Sample available</a>) A guide to effects and animations.</li>
<li><strong>DOM Manipulation</strong> &#8211; How to modify the DOM, e.g. attributes, elements, etc.</li>
<li><strong>AJAX</strong> &#8211; An in-depth guide on how to utilise Ajax to interact with data on the server (and remote servers).</li>
<li><strong>Table Manipulation </strong>- How to manipulate tabular data with jQuery using, for examples, sorting, pagination, highlighting, and row striping.</li>
<li><strong>Forms with function</strong> &#8211; Enhancing a form using things such as validation, dynamically displayed fields, and auto-complete.</li>
<li><strong>Shufflers and rotators</strong> &#8211; Examples on how to rotate headings, data, and more.</li>
<li><strong>Using Plugins</strong> &#8211; How to use jQuery UI and 3rd party plugins, as well as examples of some popular ones.</li>
<li><strong>Developing Plugins</strong> &#8211; How to develop your own plugins for jQuery (the previous book helped me with this so I could make my Curvy Corners plugin).</li>
<li><strong>Appendices</strong> &#8211; Online resources, tools,  other useful JavaScript information, and a quick jQuery reference section.</li>
</ol>
<h2>Conclusion</h2>
<p>In conclusion, “Learning jQuery 1.3: Better Interaction Design and Web Development with Simple JavaScript Techniques” is a great book for developers and designers who want to learn jQuery, and also see the benefits of using it in the real world; it will take you from the basics of the library to the more advanced topics in an easy to understand, structured manner.</p>
<p><strong>Verdict:</strong> 8.5/10 – Like the previous instalment; a must-have for the jQuery beginner. Scores higher due to the quick reference section and the improved plugin chapters.<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=464&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/WB9V6-8BGFzJSyGm-v4_3Ks278Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/WB9V6-8BGFzJSyGm-v4_3Ks278Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WB9V6-8BGFzJSyGm-v4_3Ks278Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/WB9V6-8BGFzJSyGm-v4_3Ks278Y/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=oiNqzLlhmfM:P8VUON9T6zU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=oiNqzLlhmfM:P8VUON9T6zU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=oiNqzLlhmfM:P8VUON9T6zU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=oiNqzLlhmfM:P8VUON9T6zU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=oiNqzLlhmfM:P8VUON9T6zU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=oiNqzLlhmfM:P8VUON9T6zU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=oiNqzLlhmfM:P8VUON9T6zU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=oiNqzLlhmfM:P8VUON9T6zU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/oiNqzLlhmfM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/book-review-learning-jquery-13/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JQuery Curvy Corners 2 Early Beta Available</title>
		<link>http://blue-anvil.com/archives/jquery-curvy-corners-2-early-beta-available</link>
		<comments>http://blue-anvil.com/archives/jquery-curvy-corners-2-early-beta-available#comments</comments>
		<pubDate>Fri, 20 Mar 2009 16:03:17 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery Plugins & Snippets]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rounded corners]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=455</guid>
		<description><![CDATA[I have uploaded a beta of JQCC2, based on the beta version 2.0 of the official script. This now includes support for jQuery 1.3.
There are still many optimisations to make and tests to perform, but the examples included in the zip work in IE6, IE7, Chrome, Safari, Firefox, and (excluding the CSS selector feature) Opera. [...]]]></description>
			<content:encoded><![CDATA[<p>I have uploaded a beta of JQCC2, based on the beta version 2.0 of the <a href="http://www.curvycorners.net/">official script</a>. This now includes support for jQuery 1.3.</p>
<p>There are still many optimisations to make and tests to perform, but the examples included in the zip work in IE6, IE7, Chrome, Safari, Firefox, and (excluding the CSS selector feature) Opera. My version does differ from the official script; mainly the fact that boxes are not fixed width/height.</p>
<p>If you find bugs, want to contribute fixes, or want to help extend the plugin please leave your comments.</p>
<p>Finally, special thanks to Terry Riegel, Cameron Cooke and Tim Hutchison who made the original CurvyCorners script; they did all the hard work!</p>
<p><em>Update: </em>Beta 2 uploaded</p>
<p><strong>Download: <a class="downloadlink" href="http://blue-anvil.com/download/Curvycorners_2_Early_Beta.zip" title="Version2.0 Beta 2 downloaded 813 times" >JQuery Curvy Corners 2 (813)</a></strong><img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=455&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/HD4pnKS8BXWKuKHg_5OhoXvtbT4/0/da"><img src="http://feedads.g.doubleclick.net/~a/HD4pnKS8BXWKuKHg_5OhoXvtbT4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HD4pnKS8BXWKuKHg_5OhoXvtbT4/1/da"><img src="http://feedads.g.doubleclick.net/~a/HD4pnKS8BXWKuKHg_5OhoXvtbT4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=bTF46thXR5c:BI6eH8r33BY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=bTF46thXR5c:BI6eH8r33BY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=bTF46thXR5c:BI6eH8r33BY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=bTF46thXR5c:BI6eH8r33BY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=bTF46thXR5c:BI6eH8r33BY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=bTF46thXR5c:BI6eH8r33BY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=bTF46thXR5c:BI6eH8r33BY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=bTF46thXR5c:BI6eH8r33BY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/bTF46thXR5c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/jquery-curvy-corners-2-early-beta-available/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Wordpress Download Monitor 3</title>
		<link>http://blue-anvil.com/archives/wordpress-download-monitor-3</link>
		<comments>http://blue-anvil.com/archives/wordpress-download-monitor-3#comments</comments>
		<pubDate>Tue, 17 Mar 2009 15:55:44 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Wordpress & plugins]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[download monitor]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[hits]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=431</guid>
		<description><![CDATA[Download Monitor 3 is upon us. Download Monitor is a plugin for uploading and managing downloads, tracking download hits, and displaying links. So far it has been downloaded over 45,000 times!
New features in version 3 include shortcodes, better template tags, daily stats, download logs and more! Download monitor 3 requires at least Wordpress version 2.5.
Links: [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-442" title="Wordpress Download Monitor Plugin" src="http://blue-anvil.com/wp-content/uploads/2009/03/dlm3.jpg" alt="Wordpress Download Monitor Plugin" width="488" height="100" /></p>
<p>Download Monitor 3 is upon us. Download Monitor is a plugin for uploading and managing downloads, tracking download hits, and displaying links. So far it has been downloaded over 45,000 times!</p>
<p>New features in version 3 include shortcodes, better template tags, daily stats, download logs and more! Download monitor 3 requires at least Wordpress version 2.5.</p>
<p>Links: <a href="http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation">Download Monitor Documenation</a> | <a href="http://wordpress.org/extend/plugins/download-monitor/">Plugin Directory Page</a></p>
<p><span id="more-431"></span></p>
<h2>Wordpress Download Monitor Plugin 3</h2>
<p>By <strong>Mike Jolley</strong> (<a href=" http://www.blue-anvil.com/"> http://www.blue-anvil.com</a> )</p>
<div id="tabs" class="tab_me">
<ul>
<li><a href="#fragment-1">Overview</a></li>
<li><a href="#fragment-2">Get it now!</a></li>
<li><a href="#fragment-3">Localization files</a></li>
<li><a href="#fragment-4">Licence &amp; Docs</a></li>
</ul>
<div id="fragment-1">
<h2 id="dlm_about">About the plugin</h2>
<p>The whole idea to this plugin is to keep your website downloads organised, and provide means to monitor the amount of downloads a file has, along with an easy method of linking to those files using special tags.</p>
<p>By adding a simple tag to a wordpress page you can show the link formatted however you want.</p>
<p class="center" style="text-align: center;"><a rel="lightbox" href="http://blue-anvil.com/wp-content/uploads/2009/03/screenshot-1.jpg"><img class="aligncenter" src="http://blue-anvil.com/wp-content/uploads/2009/03/screenshot-1.jpg" alt="Admin Interface" width="320" height="220" /></a></p>
<h3 id="dlm_features">Features</h3>
<ul>
<li><strong>NEW</strong>: Built in Download Page function with built in sorting, pagination, and search. This was going to be a paid addon but i&#8217;m too nice &#8211; so please donate if you use it!</li>
<li>Records file download hits but does **<strong>not</strong>** count downloads by wordpress admin users.</li>
<li>Stats on downloads and a download log for viewing who downloaded when.</li>
<li>Uses shortcodes (backward compatible with old [Download id not defined] style).</li>
<li>Editor button &#8211; upload and add a download stright from a post.</li>
<li>Custom redirects to downloads.</li>
<li>Add downloads to text widgets, the content, excerpts, and custom fields.</li>
<li>Mirror support (selected at random) + mirror deadlink checker</li>
<li>Download Categories.</li>
<li>Member only downloads, can also have a minimum user level using custom fields.</li>
<li>Localization support.</li>
<li>Admin for managing downloads and also changing hit counts &#8211; just in case you change servers or import old downloads that already have stats.</li>
<li>Custom URL&#8217;s/URL hider using mod_rewrite.</li>
</ul>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-2">
<h2 id="dlm_download">Get it now!</h2>
<p>You can get the <strong>latest version</strong> from the wordpress plugin database; <strong><a href="http://wordpress.org/extend/plugins/download-monitor/">Download it here!</a></strong></p>
<p>You will also find installation/upgrade instructions on the wordpress.org plugin page. Remember to <em>backup your database</em> if upgrading just in case something does not go as planned.<strong><br />
</strong></p>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-3">
<h3>Localization files</h3>
<p>Need it in a different language? Some users have been kind enough to provide translation files. <em>Note:</em> I am not responsible for any of these localizations.</p>
<ul>
<li><a href="http://hpyer.cn/wordpress-plugin-download-monitor.html">Chinese translation</a></li>
<li><a href="http://wordpress.blogos.dk/2008/03/14/wpdm-2-0-1-dansk/">Danish translation</a></li>
<li><a href="http://rp.exadge.com/2008/03/15/wp-download_monitor_v203_ja/">Japanese translation</a></li>
<li><a href="http://gidibao.net/index.php/2008/03/18/download-monitor-plugin-in-italiano/">Italian translation</a></li>
<li><a href="http://www.viz.com.br/plugin-wp-download-monitor.html">Portuguese translation</a></li>
<li><a href="http://www.cynican.com/plugins-i-translated/wordpress-download-monitor/">Hebrew translation</a></li>
<li><a href="http://themes-du.net/download-monitor-pour-compter-les-telechargements-sur-wordpress/">French translation</a></li>
<li><a href="http://ramerta.com/">Turkish translation</a></li>
<li><a href="http://kosivart.if.ua/2009/01/09/889/">Ukrainian translation</a></li>
<li><a href="http://download.es-xchange.com/wp/download-monitor-es_ES.zip">Spanish Translation</a></li>
<li><a href="http://wordpresstvs.lt/wordpress-download-monitor-2/">Lithuanian Translation</a></li>
<li><a href="http://www.outsourcetoasia.de/download-monitor-3">German Translation</a></li>
<li><a href="http://www.marcovanveelen.nl/wp-content/plugins/download-monitor/download.php?id=57">Dutch Translation</a></li>
<li><a href="http://www.eugen-bozic.net/download-monitor-plugin-prijevod/">Croatian Translation</a></li>
<li><a href="http://www.aanvik.net/2009/01/wordpress-download-monitor-pa-norsk/">Norwegian Translation</a></li>
<li><a href="http://www.wpbloging.com/plugins/russkij-download-monitor-i-ego-opisanie.html">Russian Translation</a></li>
<li><a href="http://wordpress.mantlik.cz/plugins/download-monitor/">Czech localization</a></li>
</ul>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
<div id="fragment-4">
<h2>Documentation</h2>
<p>There is a post dedicated to the documentation/manual which can be <a href="http://blue-anvil.com/archives/wordpress-download-monitor-3-documentation">found here</a>. Hope that helps!</p>
<h2 id="dlm_lic">Licence</h2>
<p>Wordpress Download Monitor Plugin v3 © Copyright 2009-current. All rights reserved.<br />
<a href="http://www.blue-anvil.com/">Mike Jolley</a></p>
<p>You are free to use this application but may not redistribute it without written permission.<br />
Use of this application will be at your own risk. No guarantees or warranties are made directly or implied.<br />
The creators cannot and will not be liable or held accountable for damages, direct or consequential.</p>
<h2>Support my sweat, blood and tears</h2>
<p>I know, that sounds gross, but I really did put <span style="text-decoration: line-through;"><strong>ALOT</strong></span> <strong>masses and masses and masses and masses </strong>of effort in to this plugin. If you like this plugin, or it has benefited you, please make a donation via paypal! Any amounts are welcome and your support is much appreciated.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input alt="Make payments with PayPal - it's fast, free and secure!" name="submit" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" type="image" /><img src="https://www.paypal.com/en_GB/i/scr/pixel.gif" alt="" width="1" height="1" /></p>
<input name="encrypted" type="hidden" value="-----BEGIN PKCS7-----MIIHmAYJKoZIhvcNAQcEoIIHiTCCB4UCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBBcwapPTXpPF47IaRDJNW7rzSb7LQBCAUTzQ3JyVbyL/Lvfk8s1R3tpnCc+0KWkIsGa4Hml9sz77zshMIsQZveo6/wniQgfK100n9ks03KXPblXYFn4OgnTW1C9y36f2kAw1GCK7uCHk51M1ouPXcOdpHijkTlYhYw2f7o8m6vSTELMAkGBSsOAwIaBQAwggEUBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECCwkOMnfKDIugIHwNoDAhA1OzWclNhaPBY1bq0weaJNCRs7Pg/Z1QMiw9+w+yBy0H54ahFdkJ4IJcFYPAGoFi+npTsuPd5j9GMsr52RzRtNQjdhv6UqnMDWBJuYQdJ4/iEoRmUjpIS2CUyq5GIQwb2nTkEu1ZpP5cLCaudOVZS8W7nJzHzwJmk58A2SYnKCchwpHsZUQfdXJTaXg14I55DyHV3Rg+7P53zCnHfNrsAkw8aNNZLKz0B1Xiv8JFOYR2dBOPMRGpofmxdO/UDjZQjvqyxr1Hggm8To3VKZhrjoss8vs4NrJ3/Swg6fV7S1x9Fft5e2PQ3JXZI0/oIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6CieLuLsPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwOTEzMDkzNzIyWjAjBgkqhkiG9w0BCQQxFgQULYNalwI9CNnoxfsE3a8NfxujX7gwDQYJKoZIhvcNAQEBBQAEgYBnFV3uy0eVWLUaRL4tCtpP3Q70MbAV1Gu6CPf/AbpJrDdqgAwDlv3krA7rIkB+JT1tVsKqw9iBfOgphOSlOn47w25wt2/X6zmLBawnibHnYIWn1ZeTCgn6izgeb/zb4P7xZwUbN6FrgayWXP6owhSKClhwsMvvegHK8zrqbZVDaw==-----END PKCS7-----" /> </form>
<p><a href="#tabs"><span class="ui-icon ui-icon-circle-arrow-n"> </span>Top</a></div>
</div>
<p style="text-align:center"><script type="text/javascript"><!--
google_ad_client = "pub-6928386133078955";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "444444";
google_color_text = "444444";
google_color_url = "444444";
//-->
</script><br />
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=431&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/-A12tUu9a2leIxFpIRrHMyVRI7c/0/da"><img src="http://feedads.g.doubleclick.net/~a/-A12tUu9a2leIxFpIRrHMyVRI7c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-A12tUu9a2leIxFpIRrHMyVRI7c/1/da"><img src="http://feedads.g.doubleclick.net/~a/-A12tUu9a2leIxFpIRrHMyVRI7c/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=Qt8sHI5kXlw:N7XKpls7Bc4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=Qt8sHI5kXlw:N7XKpls7Bc4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=Qt8sHI5kXlw:N7XKpls7Bc4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=Qt8sHI5kXlw:N7XKpls7Bc4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=Qt8sHI5kXlw:N7XKpls7Bc4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=Qt8sHI5kXlw:N7XKpls7Bc4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=Qt8sHI5kXlw:N7XKpls7Bc4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=Qt8sHI5kXlw:N7XKpls7Bc4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/Qt8sHI5kXlw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/wordpress-download-monitor-3/feed</wfw:commentRss>
		<slash:comments>186</slash:comments>
		</item>
		<item>
		<title>8 fun &amp; useful shortcode functions for wordpress</title>
		<link>http://blue-anvil.com/archives/8-fun-useful-shortcode-functions-for-wordpress</link>
		<comments>http://blue-anvil.com/archives/8-fun-useful-shortcode-functions-for-wordpress#comments</comments>
		<pubDate>Sat, 14 Mar 2009 19:39:08 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Wordpress & plugins]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[shortcode]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Wordpress development techniques]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=344</guid>
		<description><![CDATA[&#8216;Shortcodes&#8217; are a feature of wordpress used for executing custom functions by inserting a small snippit of code into a post. For example, my download monitor plugin now uses shortcodes; by entering [download id="1"] into a post, the plugin will output a download link.
The shortcode syntax varies, here are some examples:

[shortcode]
[shortcode atribute="value"]
[shortcode]Text[/shortcode]

Shortcodes can be created [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-424" title="shortcodes" src="http://blue-anvil.com/wp-content/uploads/2009/03/shortcodes.gif" alt="shortcodes" width="488" height="100" /></p>
<p>&#8216;Shortcodes&#8217; are a feature of wordpress used for executing custom functions by inserting a small snippit of code into a post. For example, my download monitor plugin now uses shortcodes; by entering [<code>download id="1"</code>] into a post, the plugin will output a download link.</p>
<p>The shortcode syntax varies, here are some examples:</p>
<ul>
<li><code>[shortcode]</code></li>
<li><code>[shortcode atribute="value"]</code></li>
<li><code>[shortcode]Text[/shortcode]</code></li>
</ul>
<p>Shortcodes can be created to perform a handful of useful functions. To use any of the shortcodes in this post I recommend adding the functions to your functions.php theme file (create it if it does not exist!). Ill show shortcodes ranging from showing adsense to speaking pirate! (written for wordpress 2.7)</p>
<p><span id="more-344"></span></p>
<h2>1. Get some bloginfo</h2>
<p>Need to get your wordpress url or template url? Try this on for size:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> bloginfo_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'key'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> get_bloginfo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'bloginfo'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bloginfo_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Now you can output some bloginfo using <code>[bloginfo key=""]</code>, for example  <code>[bloginfo key="template_url"]</code> will output the path to your template directory. <a href="http://codex.wordpress.org/Template_Tags/get_bloginfo">This page </a>highlights the data you can grab using this custom shortcode.</p>
<p>Example output: http://blue-anvil.com/wp-content/themes/blueanvil</p>
<p><!--adsense--></p>
<h2>2. Integrate some Adsense Ads</h2>
<p>Want to output some adsense ads in posts? Try this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> adsense_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	    <span style="color: #0000ff;">'format'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1'</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$format</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$ad</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
			google_ad_client = &quot;pub-6928386133078955&quot;;
			/* 234x60, created 16/09/08 */
			google_ad_slot = &quot;0834408702&quot;;
			google_ad_width = 234;
			google_ad_height = 60;
			//--&gt;
			&lt;/script&gt;
			&lt;script type=&quot;text/javascript&quot;
			src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
			&lt;/script&gt;'</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$ad</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'adsense'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'adsense_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Remember to replace the adsense code with your own from google. Now you can output an ad simply using <code>[adsense]</code>.</p>
<div class="adsense"><script type="text/javascript"><!--
			google_ad_client = "pub-6928386133078955";
			/* 234x60, created 16/09/08 */
			google_ad_slot = "0834408702";
			google_ad_width = 234;
			google_ad_height = 60;
			//-->
			</script>
			<script type="text/javascript"
			src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
			</script></div>
<p>Add additional ad formats to the switch statement and you can output other ad formats using, for example,  <code>[adsense format="2"]</code>. Nice eh?</p>
<h2>3. Obfuscate an email address</h2>
<p>This simple shortcode will munge/create a link to an email address to <em>help</em> prevent spam. Not 100% foolproof but better than nothing (and a good basis to expand upon if you want to enhance it).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> munge_mail_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$encodedmail</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&amp;#&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">';'</span><span style="color: #339933;">;</span> 
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'&lt;a href=&quot;mailto:'</span><span style="color: #339933;">.</span><span style="color: #000088;">$encodedmail</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$encodedmail</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mailto'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'munge_mail_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Use: <code>[mailto]email@yourdomain.com[/mailto]</code>.</p>
<a href="mailto:&#101;&#109;&#97;&#105;&#108;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">&#101;&#109;&#97;&#105;&#108;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a>
<p>In the source the mail is shown as:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&amp;amp;#101;&amp;amp;#109;&amp;amp;#97;&amp;amp;#105;&amp;amp;#108;&amp;amp;#64;&amp;amp;#101;&amp;amp;#109;&amp;amp;#97;&amp;amp;#105;&amp;amp;#108;&amp;amp;#46;&amp;amp;#99;&amp;amp;#111;&amp;amp;#109;</pre></div></div>

<h2>4. Show related posts (uses tags)</h2>
<p>How about showing some related posts in your current post based on it&#8217;s tags? Lets do it!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> related_posts_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	    <span style="color: #0000ff;">'limit'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'5'</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post</span><span style="color: #339933;">,</span> <span style="color: #000088;">$table_prefix</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000088;">$retval</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'
&lt;ul&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Get tags</span>
		<span style="color: #000088;">$tags</span> <span style="color: #339933;">=</span> wp_get_post_tags<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$tagsarray</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tags</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$tag</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$tagsarray</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">term_id</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$tagslist</span> <span style="color: #339933;">=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tagsarray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Do the query</span>
		<span style="color: #000088;">$q</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;
			SELECT p.*, count(tr.object_id) as count
			FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span> AS tt, <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span> AS tr, <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> AS p
			WHERE tt.taxonomy ='post_tag'
				AND tt.term_taxonomy_id = tr.term_taxonomy_id
				AND tr.object_id  = p.ID
				AND tt.term_id IN (<span style="color: #006699; font-weight: bold;">$tagslist</span>)
				AND p.ID != <span style="color: #006699; font-weight: bold;">$post-&gt;ID</span>
				AND p.post_status = 'publish'
				AND p.post_date_gmt &lt; NOW()
			GROUP BY tr.object_id
			ORDER BY count DESC, p.post_date_gmt DESC
			LIMIT <span style="color: #006699; font-weight: bold;">$limit</span>;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$related</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$q</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$related</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$related</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$retval</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'
	&lt;li&gt;&lt;a title=&quot;'</span><span style="color: #339933;">.</span>wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; href=&quot;'</span><span style="color: #339933;">.</span>get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">.</span>wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;&lt;/li&gt;
'</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$retval</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'
	&lt;li&gt;No related posts found&lt;/li&gt;
'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$retval</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&lt;/ul&gt;
'</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$retval</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'related_posts'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'related_posts_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Magic. Now use <code>[related_posts]</code> to show 5 related posts, or <code>[related_posts limit="x"]</code> to show a number of your choosing. Example:</p>
<ul><li><a href="http://blue-anvil.com/archives/wordpress-development-techniques-2-fetching-rss-feeds-with-wordpress" title="Wordpress development techniques #2 &#8211; Fetching RSS feeds with wordpress">Wordpress development techniques #2 &#8211; Fetching RSS feeds with wordpress</a></li><li><a href="http://blue-anvil.com/archives/wordpress-development-techniques-1-running-custom-queries-using-the-wpdb-class" title="Wordpress development techniques #1 &#8211; Running custom queries using the &#8216;wpdb&#8217; class">Wordpress development techniques #1 &#8211; Running custom queries using the &#8216;wpdb&#8217; class</a></li><li><a href="http://blue-anvil.com/archives/wordpress-28-memory-usage" title="Wordpress 2.8 Memory Usage">Wordpress 2.8 Memory Usage</a></li><li><a href="http://blue-anvil.com/archives/including-css-javascript-in-wordpress-posts-using-custom-fields" title="Including CSS &#038; JavaScript in wordpress posts using Custom Fields">Including CSS &#038; JavaScript in wordpress posts using Custom Fields</a></li><li><a href="http://blue-anvil.com/archives/create-a-wordpress-recent-posts-widget" title="Create a Wordpress Recent-Posts Widget">Create a Wordpress Recent-Posts Widget</a></li></ul>
<h2>5. Add a simple paypal donation link</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> donate_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'text'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Make a donation'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'account'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'REPLACE ME'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'for'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$for</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$for</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;+&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'&lt;a class=&quot;donateLink&quot; href=&quot;https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business='</span><span style="color: #339933;">.</span><span style="color: #000088;">$account</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;item_name=Donation+for+'</span><span style="color: #339933;">.</span><span style="color: #000088;">$for</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$text</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'donate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'donate_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Replace the default &#8216;account&#8217; with your paypal email address, and output using <code>[donate]</code>. Remember you can override the default &#8216;text&#8217; too in the shortcode. You can style this link with css (as ive done) easily.</p>
<p class="buymebeer"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=jolley_small@tesco.net&amp;item_name=Donation+for+8+fun+&+useful+shortcode+functions+for+wordpress" class="donateLink">Make a donation</a></p>
<h2>6. Output a google powered chart</h2>
<p>Pass this shortcode some data and it will convert it into a graph generated by <a href="http://code.google.com/apis/chart/">google charts api</a>. First I&#8217;ll show it in action. I want to show some info about my traffic to Blue Anvil from analytics; I will show it in a pie chart:</p>
<div class="aligncenter"><img src="http://chart.apis.google.com/chart?cht=p3&chtt=Traffic Sources&chl=Reffering+sites|Search+Engines|Direct+traffic|Other&chco=058DC7,50B432,ED561B,EDEF00&chs=488x200&chd=t:41.52,37.79,20.67,0.03&chf=F7F9FA" title="Traffic Sources" alt="Traffic Sources" /></div>
<p>Code: <code>[chart data="41.52,37.79,20.67,0.03" bg="F7F9FA" labels="Reffering+sites|Search+Engines|Direct+traffic|Other" colors="058DC7,50B432,ED561B,EDEF00" size="488x200" title="Traffic Sources" type="pie"]</code></p>
<h3>The shortcode</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> chart_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	    <span style="color: #0000ff;">'data'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'colors'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'size'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'400x200'</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'bg'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ffffff'</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'labels'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'advanced'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'pie'</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'line'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'lc'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'xyline'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'lxy'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'sparkline'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'ls'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'meter'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'gom'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'scatter'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'s'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'venn'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'v'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'pie'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'p3'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'pie2d'</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'p'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">default</span> <span style="color: #339933;">:</span>
			<span style="color: #000088;">$charttype</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$type</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$title</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chtt='</span><span style="color: #339933;">.</span><span style="color: #000088;">$title</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$labels</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chl='</span><span style="color: #339933;">.</span><span style="color: #000088;">$labels</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$colors</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chco='</span><span style="color: #339933;">.</span><span style="color: #000088;">$colors</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chs='</span><span style="color: #339933;">.</span><span style="color: #000088;">$size</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chd=t:'</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$string</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&amp;chf='</span><span style="color: #339933;">.</span><span style="color: #000088;">$bg</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'&lt;img title=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$title</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; src=&quot;http://chart.apis.google.com/chart?cht='</span><span style="color: #339933;">.</span><span style="color: #000088;">$charttype</span><span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">.</span><span style="color: #000088;">$string</span><span style="color: #339933;">.</span><span style="color: #000088;">$advanced</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; alt=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$title</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; /&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'chart'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'chart_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Other examples:</h3>
<div class="aligncenter"><img src="http://chart.apis.google.com/chart?cht=ls&chs=200x100&chd=t:0,12,24,26,32,64,54,24,22,20,8,2,0,0,3&chf=F7F9FA" title="" alt="" /></div>
<p>Code: <code>[chart data="0,12,24,26,32,64,54,24,22,20,8,2,0,0,3" bg="F7F9FA" size="200x100" type="sparkline"]</code></p>
<div class="aligncenter"><img src="http://chart.apis.google.com/chart?cht=gom&chtt=Macbook Fund&chl=Mula&chco=058DC7,50B432,ED561B,EDEF00&chs=488x200&chd=t:40&chf=F7F9FA" title="Macbook Fund" alt="Macbook Fund" /></div>
<p>Code: <code>[chart data="40" bg="F7F9FA" labels="Mula" colors="058DC7,50B432,ED561B,EDEF00" size="488x200" title="Macbook Fund" type="gom"]</code></p>
<h2>7. Show a google map with a marker on it</h2>
<p>Want to show a map and/or a marker on it? You&#8217;ll need a <a href="http://code.google.com/apis/maps/signup.html">Google Maps API key</a> for this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> googlemap_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'width'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'500px'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'height'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'300px'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'apikey'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'REPLACEME'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'marker'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'center'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'zoom'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'13'</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$center</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$setCenter</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'map.setCenter(new GLatLng('</span><span style="color: #339933;">.</span><span style="color: #000088;">$center</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'), '</span><span style="color: #339933;">.</span><span style="color: #000088;">$zoom</span><span style="color: #339933;">.</span><span style="color: #0000ff;">');'</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$marker</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$setMarker</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'map.addOverlay(new GMarker(new GLatLng('</span><span style="color: #339933;">.</span><span style="color: #000088;">$marker</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')));'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$rand</span> <span style="color: #339933;">=</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'
    	&lt;script src=&quot;http://maps.google.com/maps?file=api&amp;v=2.x&amp;sensor=false&amp;key='</span><span style="color: #339933;">.</span><span style="color: #000088;">$apikey</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&nbsp;
	    &lt;script type=&quot;text/javascript&quot;&gt;
		    function initialize() {
		      if (GBrowserIsCompatible()) {
		        var map = new GMap2(document.getElementById(&quot;map_canvas_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$rand</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;));
		        '</span><span style="color: #339933;">.</span><span style="color: #000088;">$setCenter</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'
		        '</span><span style="color: #339933;">.</span><span style="color: #000088;">$setMarker</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'
		        map.setUIToDefault();
		      }
		    }
		    initialize();
	    &lt;/script&gt;
    '</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'googlemap'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'googlemap_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>To display a map just enter <code>[googlemap]</code> replacing center/marker/zoom co-ordinates with whatever you like.</p>

    	<script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;sensor=false&amp;key=ABQIAAAAijTSokzlqzK5H8ivKKD9ARSx-0R_ijOjIeHomyqtOonL2UUwpRSFeYGL_tJGXtk0R7sMZq2eiDi5xQ" type="text/javascript"></script>
    	<div id="map_canvas_252" style="width: 488px; height: 300px"></div>
	    <script type="text/javascript">
		    function initialize() {
		      if (GBrowserIsCompatible()) {
		        var map = new GMap2(document.getElementById("map_canvas_252"));
		        map.setCenter(new GLatLng(52.66389056542801, 0.1641082763671875), 13);
		        map.addOverlay(new GMarker(new GLatLng(52.66389056542801, 0.1641082763671875)));
		        map.setUIToDefault();
		      }
		    }
		    initialize();
	    </script>
    
<p>Code: <code>[googlemap zoom="13" center="52.66389056542801, 0.1641082763671875" marker="52.66389056542801, 0.1641082763671875" width="488px"]</code></p>
<h2>8. Talk like a pirate</h2>
<p>Just for fun we can convert a section of text into pirate speak using the following shortcode (inspired by/taken from <a href="http://drupal.org/project/pirate">Pirate</a> for drupal and the <a href="http://wordpress.org/extend/plugins/text-filter-suite/other_notes/">text filter suite</a> pirate filter).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> pirate_talk_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$atts</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
      <span style="color: #000088;">$patterns</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'%\bmy\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'me'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bboss\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'admiral'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bmanager\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'admiral'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\b[Cc]aptain\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Cap'n&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bmyself\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meself'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\byour\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'yer'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\byou\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ye'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bfriend\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'matey'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bfriends\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'maties'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bco[-]?worker\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'shipmate'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bco[-]?workers\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'shipmates'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bpeople\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'scallywags'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bearlier\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'afore'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bold\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'auld'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bthe\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;th'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bof\b%'</span> <span style="color: #339933;">=&gt;</span>  <span style="color: #0000ff;">&quot;o'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bdon't\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;dern't&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdo not\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;dern't&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bnever\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;no nay ne'er&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bever\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;e'er&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bover\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;o'er&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bYes\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Aye'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bNo\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Nay'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bYeah\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Aye'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\byeah\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'aye'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bare\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'be'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bDrupalists\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Bucaneers'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bthere\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'thar'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%b\bnot\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'nay'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdesign\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'bounty'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bonline\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'on the plank'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'/and\b/'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;an'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'/ious\b/'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;i'us&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bdon't know\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;dinna&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bdidn't know\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;did nay know&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bhadn't\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;ha'nae&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bdidn't\b%&quot;</span><span style="color: #339933;">=&gt;</span>  <span style="color: #0000ff;">&quot;di'nae&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bwasn't\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;weren't&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bhaven't\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;ha'nae&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bfor\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'fer'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bbetween\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'betwixt'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\baround\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;aroun'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bto\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;t'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bit's\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;'tis&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bwoman\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'wench'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bwomen\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'wenches'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\blady\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'wench'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bwife\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lady'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bgirl\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lass'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bgirls\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lassies'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bguy\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lubber'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bman\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lubber'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bfellow\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lubber'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdude\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lubber'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bboy\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'lad'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bboys\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'laddies'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bchildren\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'little sandcrabs'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bkids\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minnows'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bhim\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'that scurvey dog'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bher\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'that comely wench'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bhim\.\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'that drunken sailor'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bHe\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'The ornery cuss'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bShe\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'The winsome lass'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bhe's\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'he be'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;%\bshe's\b%&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'she be'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bwas\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;were bein'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bHey\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Avast'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bher\.\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'that lovely lass'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bfood\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'chow'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bmoney\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dubloons'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdollars\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'pieces of eight'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bcents\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'shillings'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\broad\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'sea'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\broads\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'seas'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bstreet\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'river'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bstreets\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'rivers'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bhighway\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ocean'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bhighways\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'oceans'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\binterstate\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'high sea'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bprobably\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'likely'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bidea\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'notion'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bcar\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'boat'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bcars\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'boats'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\btruck\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'schooner'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\btrucks\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'schooners'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bSUV\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ship'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bairplane\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'flying machine'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bjet\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'flying machine'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bmachine\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'contraption'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdriving\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'sailing'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bunderstand\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'reckon'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdrive\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'sail'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'%\bdied\b%'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'snuffed it'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'/ing\b/'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;in'&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'/ings\b/'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;in's&quot;</span><span style="color: #339933;">,</span>
      <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$pattern_search</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$pattern_replace</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern_search</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pattern_replace</span><span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pirate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'pirate_talk_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Wrap any content you want to translate in <code>[pirate][/pirate]</code>.</p>
<h2>The sky&#8217;s the limit!</h2>

<p>Usin' shortcodes ye can write yer own functions an' output pretty much anythin' ye want. Go play!</p>
<p></p>
<p>The wordpress documentation for the <a href="http://codex.wordpress.org/Shortcode_API">shortcode API can be found here</a>. <a href="http://www.smashingmagazine.com/2009/02/02/mastering-wordpress-shortcodes/">Smashing magazine</a> also had a useful post on shortcodes you can read.<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=344&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/ehxWaeOP5aIz8-aMFbcxTSsNhko/0/da"><img src="http://feedads.g.doubleclick.net/~a/ehxWaeOP5aIz8-aMFbcxTSsNhko/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ehxWaeOP5aIz8-aMFbcxTSsNhko/1/da"><img src="http://feedads.g.doubleclick.net/~a/ehxWaeOP5aIz8-aMFbcxTSsNhko/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=gMNQkt-36JI:hYvcVFEDm1w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=gMNQkt-36JI:hYvcVFEDm1w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=gMNQkt-36JI:hYvcVFEDm1w:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=gMNQkt-36JI:hYvcVFEDm1w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=gMNQkt-36JI:hYvcVFEDm1w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=gMNQkt-36JI:hYvcVFEDm1w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=gMNQkt-36JI:hYvcVFEDm1w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=gMNQkt-36JI:hYvcVFEDm1w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/gMNQkt-36JI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/8-fun-useful-shortcode-functions-for-wordpress/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Download Monitor 3.0 Beta Available</title>
		<link>http://blue-anvil.com/archives/download-monitor-30-beta-available</link>
		<comments>http://blue-anvil.com/archives/download-monitor-30-beta-available#comments</comments>
		<pubDate>Fri, 06 Mar 2009 17:12:24 +0000</pubDate>
		<dc:creator>Mike Jolley</dc:creator>
				<category><![CDATA[Out of the Blue]]></category>
		<category><![CDATA[download monitor]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blue-anvil.com/?p=342</guid>
		<description><![CDATA[The new version of the popular wordpress plugin &#8216;download monitor&#8217; is now available via wordpress.org (here). To try it download the development version.
This version has many new features such as daily download stats on the dashboard, a log of downloads, improved uploading (downloads are now organised into folders like images are), improved interface, new shortcode [...]]]></description>
			<content:encoded><![CDATA[<p>The new version of the popular wordpress plugin &#8216;download monitor&#8217; is now available via wordpress.org (<a href="http://wordpress.org/extend/plugins/download-monitor/download/">here</a>). To try it download the development version.</p>
<p>This version has many new features such as daily download stats on the dashboard, a log of downloads, improved uploading (downloads are now organised into folders like images are), improved interface, new shortcode tag system, and a new template tag so you can query anything. See readme.txt for instructions.</p>
<p>Version 3.0 requires at least wordpress 2.5. Please leave any feedback/bug reports here and if all goes smoothly Ill release it officially next week.<img src="http://blue-anvil.com/7dc46085/4a7d2c88/FeedBurner/1.0 (http://www.FeedBurner.com).gif" /></p>
<img src="http://blue-anvil.com/?ak_action=api_record_view&id=342&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/CYEzHeglNaz0XnEHCug55Au2tho/0/da"><img src="http://feedads.g.doubleclick.net/~a/CYEzHeglNaz0XnEHCug55Au2tho/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CYEzHeglNaz0XnEHCug55Au2tho/1/da"><img src="http://feedads.g.doubleclick.net/~a/CYEzHeglNaz0XnEHCug55Au2tho/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=rC-19z3HOTo:79oRynhxexQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=rC-19z3HOTo:79oRynhxexQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=rC-19z3HOTo:79oRynhxexQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=rC-19z3HOTo:79oRynhxexQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=rC-19z3HOTo:79oRynhxexQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=rC-19z3HOTo:79oRynhxexQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?i=rC-19z3HOTo:79oRynhxexQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/blueanvilblog?a=rC-19z3HOTo:79oRynhxexQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blueanvilblog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/blueanvilblog/~4/rC-19z3HOTo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blue-anvil.com/archives/download-monitor-30-beta-available/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
