<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Smart Productivity</title>
	
	<link>http://www.smartproductivity.com</link>
	<description>Software, Productivity, and To-Do List Hacks from an ISV</description>
	<pubDate>Thu, 23 Apr 2009 02:44:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SmartProductivity" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Password Protect Your Big Goals</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/vdAmtxrtkVw/password-protect-your-big-goals</link>
		<comments>http://www.smartproductivity.com/password-protect-your-big-goals#comments</comments>
		<pubDate>Thu, 23 Apr 2009 02:38:12 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[GTD]]></category>

		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[lifehack]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=427</guid>
		<description><![CDATA[
Have a BIG goal that you would like to achieve?  How about password protecting that goal.  For instance, if you&#8217;d like to retire at the age of 45, you could make one of your online passwords Retire45.  If you need to lose 20 pounds your password could be LOSeTwenty.  I&#8217;m sure you get the idea.
I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/04/password-goals.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/04/password-goals-thumb.jpg" border="0" alt="Password_Goals" width="357" height="269" /></a></p>
<p>Have a BIG goal that you would like to achieve?  How about password protecting that goal.  For instance, if you&#8217;d like to retire at the age of 45, you could make one of your online passwords Retire45.  If you need to lose 20 pounds your password could be LOSeTwenty.  I&#8217;m sure you get the idea.</p>
<p>I learned from an article I read recently on the <a href="http://www.income.com/blog/2008/12/23/how-to-get-everything-you-want-in-24-hours/">Income.com</a> blog that one great way to achieve goals is with incremental success.  Using this technique to create your passwords is one small method to help incrementally achieve your goals by providing a constant reminder.  According to the author, John Reese:</p>
<blockquote><p>In order for you to accomplish anything in life you have to learn the power of INCREMENTAL SUCCESS.  Let me explain how it works…</p>
<p>It doesn’t matter what you want to accomplish… making a million dollars, losing 50 pounds, learning to speak French, etc.  In order for you to accomplish what it is that you want you MUST achieve your goal incrementally.</p></blockquote>
<p>This post was inspired by a comment (by commenter azpat) that I read on a <a href="http://lifehacker.com/5219926/twogoals-hones-your-focus-on-important-goals">Lifehacker.com</a> post.  Thank you for the inspiration.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=Password%20Protect%20Your%20Big%20Goals&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Fpassword-protect-your-big-goals"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/vdAmtxrtkVw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/password-protect-your-big-goals/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/password-protect-your-big-goals</feedburner:origLink></item>
		<item>
		<title>Reaching Peek Productivity</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/5xMRH1rGGHg/reaching-peek-productivity</link>
		<comments>http://www.smartproductivity.com/reaching-peek-productivity#comments</comments>
		<pubDate>Sun, 29 Mar 2009 03:22:35 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Gadget Review]]></category>

		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[Gadget]]></category>

		<category><![CDATA[Peek]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=416</guid>
		<description><![CDATA[
Over the past month or so I&#8217;ve had the opportunity to try out the Peek email device.  This device is billed as the first email only gadget and retails for only $49.95.  The best part is that there is no contract to sign.  Service is a flat $19.95 a month and you can stop it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.getpeek.com"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ReachingPeekProductivity_1415B/image.png" border="0" alt="image" width="213" height="334" /></a></p>
<p>Over the past month or so I&#8217;ve had the opportunity to try out the <a href="http://www.getpeek.com">Peek</a> email device.  This device is billed as the first email only gadget and retails for only $49.95.  The best part is that there is no contract to sign.  Service is a flat $19.95 a month and you can stop it whenever you&#8217;d like.</p>
<p>I have to tell you that I have been thoroughly impressed with this simple, elegant, and useful device.</p>
<p>As you can see from the images below the Peek is slightly shorter than the iPhone and thinner as well.</p>
<p><a href="http://www.getpeek.com"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ReachingPeekProductivity_1415B/image_3.png" border="0" alt="image" width="320" height="280" /></a></p>
<p><a href="http://www.getpeek.com"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ReachingPeekProductivity_1415B/image_4.png" border="0" alt="image" width="323" height="141" /></a></p>
<p>Setting up the device couldn&#8217;t be easier.  I simply entered my Gmail account name and password and that was all that I needed to do start receiving emails.</p>
<p>The number of things you can accomplish with the Peek is pretty impressive.  Here are some examples:</p>
<ul>
<li>Send text messages, just type the 10-digit number in instead of the email address.</li>
<li>Download all of your contacts from Gmail, Yahoo, Hotmail, or AOL.</li>
<li>Check the weather by sending an email to <a href="mailto:weather@getpeek.net">weather@getpeek.net</a> with your zip code in the subject line.</li>
<li>Use Ping.fm to update basically any social network.  This would work from any email account, but having this power at your finger tips at all times is great.  In case you didn&#8217;t know, Ping.fm will assign you a custom email address that you can email with special prefixes to post to various social networks.  For example, you can update Twitter, Facebook, MySpace, create a post on your Wordpress blog and many others.  For a complete list please visit <a href="http://ping.fm/tips/">Ping.fm</a>.</li>
</ul>
<p>The <a href="http://boards.getpeek.com/">discussion board</a> for the Peek is awesome and full of energetic users.  Here is a link to a constantly updated list of services that can be used from the Peek: <a title="http://boards.getpeek.com/comments.php?DiscussionID=465&amp;page=1#Item_0" href="http://boards.getpeek.com/comments.php?DiscussionID=465&amp;page=1#Item_0">http://boards.getpeek.com/comments.php?DiscussionID=465&amp;page=1#Item_0</a></p>
<p>I believe if you already have a device like the iPhone or a Blackberry, this isn&#8217;t for you.  The purpose of this device is to strip away the costs and complexity of these other devices.  The Peek does the one thing it was meant to do and it does it well, email.</p>
<p>One last thing, the latest Peek device has been introduced and will be available soon, the Peek Pronto.  This device will allow you to have unlimited text messages (same as the original), push email support (with Microsoft Exchange), up to 5 email accounts, and the ability to view PDFs and .doc (Microsoft Word) files.  This device is currently listed on pre-order at Amazon for $79.95.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=Reaching%20Peek%20Productivity&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Freaching-peek-productivity"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/5xMRH1rGGHg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/reaching-peek-productivity/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/reaching-peek-productivity</feedburner:origLink></item>
		<item>
		<title>The Movie Wedge Review</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/2RcsSosVd20/things-i-like-the-movie-wedge</link>
		<comments>http://www.smartproductivity.com/things-i-like-the-movie-wedge#comments</comments>
		<pubDate>Wed, 25 Mar 2009 03:09:49 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=414</guid>
		<description><![CDATA[
What is the Movie Wedge?  It&#8217;s a simple bean bag with an area to hold onto your iPhone.  The Movie Wedge is one of those &#8220;I didn&#8217;t realize I needed that&#8221; products that you really come to appreciate and miss when it&#8217;s not around.

This product is made to hold onto your device, whether it&#8217;s an [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/03/ThingsILikeTheMovieWedge_140DD/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ThingsILikeTheMovieWedge_140DD/image_thumb.png" border="0" alt="image" width="395" height="301" /></a></p>
<p>What is the <a href="http://www.moviewedge.com">Movie Wedge</a>?  It&#8217;s a simple bean bag with an area to hold onto your iPhone.  The Movie Wedge is one of those &#8220;I didn&#8217;t realize I needed that&#8221; products that you really come to appreciate and miss when it&#8217;s not around.</p>
<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/03/ThingsILikeTheMovieWedge_140DD/image_3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ThingsILikeTheMovieWedge_140DD/image_thumb_3.png" border="0" alt="image" width="405" height="288" /></a></p>
<p>This product is made to hold onto your device, whether it&#8217;s an iPhone, PSP, Zune, or iPod and give your hands a break.  If you&#8217;ve ever watched a movie or even an episode of a TV show with an iPhone then you know how annoying it is to hold onto the device while you&#8217;re watching it.  I usually end up trying to prop it up on something without a whole lot of success.</p>
<p>I used it on a recent trip (although the image above is from the Movie Wedge website) and was happy to be able to place my iPhone and Movie Wedge on the tray in front of me and eat my snack at the same time.</p>
<p><a href="http://www.moviewedge.com"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/ThingsILikeTheMovieWedge_140DD/image_4.png" border="0" alt="image" width="413" height="311" /></a></p>
<p>You can even wipe off the iPhone screen with the Movie Wedge since it&#8217;s made with a soft microsuede covering.  This simple item costs only $9.95 and is well worth the price.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=The%20Movie%20Wedge%20Review&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Fthings-i-like-the-movie-wedge"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/2RcsSosVd20" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/things-i-like-the-movie-wedge/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/things-i-like-the-movie-wedge</feedburner:origLink></item>
		<item>
		<title>TweetDeck Adds Facebook Integration</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/lKRUdBvFfIM/tweetdeck-adds-facebook-integration</link>
		<comments>http://www.smartproductivity.com/tweetdeck-adds-facebook-integration#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:29:18 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=409</guid>
		<description><![CDATA[
TweetDeck, the most popular Twitter application, has added Facebook integration.  This update allows you to use one simple application to interface with both your Twitter followers and Facebook friends.

After installing the application you can easily add your Facebook profile by clicking the icon shown above.  After you enter your Facebook credentials the status of your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tweetdeck.com/beta/"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image6.png" border="0" alt="image" width="380" height="65" /></a></p>
<p><a href="http://www.tweetdeck.com/beta/">TweetDeck</a>, <em>the</em> most popular <strong>Twitter</strong> application, has added <strong>Facebook</strong> integration.  This update allows you to use one simple application to interface with both your Twitter <em>followers</em> and Facebook <em>friends</em>.</p>
<p><a href="http://www.tweetdeck.com/beta/"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image7.png" border="0" alt="image" width="382" height="232" /></a></p>
<p>After installing the application you can easily add your Facebook profile by clicking the icon shown above.  After you enter your Facebook credentials the status of your Facebook friends will be added as a new column (third on the right below).</p>
<p><a href="http://tweetdeck.posterous.com/tweetdeck-v024-pre-release-facebook-integrati"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image8.png" border="0" alt="image" width="389" height="240" /></a></p>
<p>You can now post directly to Facebook or Twitter right from within TweetDeck.  From the <a href="http://tweetdeck.posterous.com/">TweetDeck blog</a>:</p>
<blockquote><p>The other element is the ability to direct your tweet/update to post to twitter or facebook or both directly within the tweet window.</p>
<p>&#8230;following pretty much unanimous yes vote on whether to auto block message which start with @username from posting to Facebook, v0.24.1 has this functionality and is now available</p></blockquote>
<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/03/image9.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image-thumb.png" border="0" alt="image" width="394" height="84" /></a></p>
<p>In order to post to Facebook you must check the Facebook checkbox shown above and then confirm the &#8220;Allow Status Updates from TweetDeck&#8221; shown below.</p>
<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/03/image10.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image-thumb1.png" border="0" alt="image" width="395" height="297" /></a></p>
<p>Success!</p>
<p><a href="http://www.smartproductivity.com/wp-content/uploads/2009/03/image11.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image-thumb2.png" border="0" alt="image" width="397" height="63" /></a></p>
<p>This new version is considered a pre-release but can be found at the following TweetDeck blog post:</p>
<p><a href="http://tweetdeck.posterous.com/tweetdeck-v024-pre-release-facebook-integrati"><strong>TweetDeck V0.24.1 Pre-Release: Facebook Integration</strong></a></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=TweetDeck%20Adds%20Facebook%20Integration&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Ftweetdeck-adds-facebook-integration"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/lKRUdBvFfIM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/tweetdeck-adds-facebook-integration/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/tweetdeck-adds-facebook-integration</feedburner:origLink></item>
		<item>
		<title>WordPress Plugin Development - Book Excerpt</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/He0GhfHlG2I/wordpress-plugin-development-book-excerpt</link>
		<comments>http://www.smartproductivity.com/wordpress-plugin-development-book-excerpt#comments</comments>
		<pubDate>Sun, 15 Mar 2009 03:00:56 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Book Review]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=388</guid>
		<description><![CDATA[Recently I was given the opportunity to review WordPress Plugin Development by Vladimir Prelovac.  I just received the book this past week, but the publisher and author were kind enough to allow me to post an excerpt from the book that details how to create your first WordPress plugin.  You can expect a full review [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was given the opportunity to review <a href="http://www.packtpub.com/wordpress-plug-in-development/book"><em><strong>WordPress Plugin Development</strong></em></a> by <a href="http://www.prelovac.com/vladimir">Vladimir Prelovac</a>.  I just received the book this past week, but the publisher and author were kind enough to allow me to post an excerpt from the book that details how to create your first WordPress plugin.  You can expect a full review from me within a couple weeks.</p>
<p>Chapter 2, Social Bookmarking with WordPress Plugin</p>
<p>In this article by <strong>Vladimir Prelovac</strong>, we will learn to create our first functional WordPress plugin and learn how to interact with the WordPress API (this is the WordPress interface to PHP) on the way. The knowledge you will gain in this article alone will allow you to write a lot of similar plugins. This article is extracted from the &#8220;<a href="http://www.packtpub.com/wordpress-plug-in-development/book" target="_blank">WordPress Plugin Development</a>&#8221; book.</p>
<p>Let&#8217;s get moving! In this article, you will learn:</p>
<ul>
<li><strong>Creating a new plugin</strong> and having it displayed in the plugins admin panel</li>
<li>Checking the <strong>WordPress version</strong> and <strong>control activation</strong> of the plugin</li>
<li><strong>Accessing API features</strong>—for example the title and permalink URL of each post</li>
<li>Using <strong>WordPress hooks</strong> to execute your plugin code when it&#8217;s needed</li>
<li>Using <strong>conditional tags</strong> to control the flow of your plugins</li>
</ul>
<p>You will learn these by creating a <strong>Social Bookmarking</strong> type of plugin that adds a <strong>Digg</strong> button to each post on your blog</p>
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image01.png" alt="" /></p>
<p><span id="more-388"></span>As you probably know, Digg is a very popular service for promoting interesting content on the Internet. The purpose of a <strong>Digg</strong> button on your blog is to make it easier for Digg users to vote for your article and also to bring in more visitors to your blog.</p>
<p>The plugin we&#8217;ll create in this article will automatically insert the necessary code to each of your posts. So let&#8217;s get started with WordPress plugin development!</p>
<h1>Plugging in your first plugin</h1>
<p>Usually, the first step in plugin creation is coming up with a plugin name. We usually want to use a name that is associated with what the plugin does, so we will call this plugin, <strong>WP Digg This</strong>. WP is a common prefix used to name WordPress plugins.</p>
<p>To introduce the plugin to WordPress, we need to create a standard plugin header. This will always be the first piece of code in the plugin file and it is used to identify the plugin to WordPress.</p>
<h3>Time for action – Create your first plugin</h3>
<p>In this example, we&#8217;re going to write the code to register the plugin with WordPress, describe what the plugin does for the user, check whether it works on the currently installed version of WordPress, and to activate it.</p>
<ol>
<li>Create a file called <em>wp-digg-this.php</em> in your favorite text editor. It is common practice to use the plugin name as the name for the plugin file, with dashes &#8216;-&#8217; instead of spaces.</li>
<li>Next, add a plugin information header. The format of the header is always the same and you only need to change the relevant information for every plugin:
<pre style="margin-left: 40px;">&lt;?php
/*
Plugin Name: WP Digg This
Version: 0.1
Description: Automatically adds Digg This button to your posts.
Author: Vladimir Prelovac
Author URI: http://www.prelovac.com/vladimir
Plugin URI: http://www.prelovac.com/vladimir/wordpress-plugins/
wp-digg-this
*/
?&gt;</pre>
</li>
<li>Now add the code to check the WordPress version:
<pre style="margin-left: 40px;">/* Version check */
global $wp_version;
$exit_msg='WP Digg This requires WordPress 2.5 or newer.
&lt;a href="http://codex.wordpress.org/Upgrading_WordPress"&gt;Please
update!&lt;/a&gt;';
if (version_compare($wp_version,"2.5","&lt;"))
{
exit ($exit_msg);
}
?&gt;</pre>
</li>
<li>Upload your plugin file to the <em>wp-content/plugins</em> folder on your server using your FTP client.</li>
<li>Go to your WordPress <strong>Plugins</strong> admin panel. You should now see your plugin listed among other plugins:
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image02.png" alt="" /></p>
</li>
<li>This means we have just completed the necessary steps to display our plugin in WordPress. Our plugin can be even activated now—although it does not do anything useful (yet).</li>
</ol>
<h3>What just happened?</h3>
<p>We created a working plugin template by using a plugin information header and the version check code. The plugin header allows the plugin to be identified and displayed properly in the plugins admin panel. The version check code will warn users of our plugin who have older WordPress versions to upgrade their WordPress installation and prevent compatibility problems.</p>
<h2>The plugin information header</h2>
<p>To identify the plugin to WordPress, we need to include a plugin information header with each plugin.</p>
<p>The header is written as a PHP comment and contains several fields with important information.</p>
<p>This code alone is enough for the plugin to be registered, displayed in the admin panel and readied for activation.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em>If your future plugin has more than one PHP file, the plugin information should be placed only in your main file, the one which will <em>include()</em> or <em>require()</em> the other plugin PHP files.</em></p>
<h2>Checking WordPress versions</h2>
<p>To ensure that our plugin is not activated on incompatible WordPress versions, we will perform a simple WordPress version check at the very beginning of our code.</p>
<p>WordPress provides the global variable <em>$wp_version</em> that provides the current WordPress version in standard format. We can then use PHP function <em>version_compare()</em> to compare this and our required version for the plugin, using the following code:</p>
<pre style="margin-left: 40px;">if (version_compare($wp_version,"2.6","&lt;"))
{
// do something if WordPress version is lower then 2.6
}</pre>
<p>If we want to stop the execution of the plugin upon activation, we can use the <em>exit()</em> function with the error message we want to show.</p>
<p>In our case, we want to show the required version information and display the link to the WordPress upgrade site.</p>
<pre style="margin-left: 40px;">$exit_msg='WP Digg This requires WordPress 2.6 or newer. &lt;a
href="http://codex.wordpress.org/Upgrading_WordPress"&gt;Please
update!&lt;/a&gt;';
if (version_compare($wp_version,"2.6","&lt;"))
{
exit ($exit_msg);
}</pre>
<p>While being simple, this piece of code is also very effective. With the constant development of WordPress, and newer versions evolving relatively often, you can use version checking to prevent potential incompatibility problems.</p>
<p>The version number of your current WordPress installation can be found in the footer text of the admin menu. To begin with, you can use that version in your plugin version check (for example, 2.6).</p>
<p>Later, when you learn about WordPress versions and their differences, you&#8217;ll be able to lower the version requirement to the minimal your plugin will be compatible with. This will allow your plugin to be used on more blogs, as not all blogs always use the latest version of WordPress.</p>
<h2>Checking the plugin</h2>
<p>You can go ahead and activate the plugin. The plugin will be activated but will do nothing at this moment.</p>
<h3>Time for Action – Testing the version check</h3>
<ol>
<li>Deactivate the plugin and change the version check code to a higher version. For example, replace 2.6 with 5.0.
<pre style="margin-left: 40px;">if (version_compare($wp_version,"5.0","&lt;"))</pre>
</li>
<li>Re-upload the plugin and try to activate it again. You will see a WordPress error and a message from the plugin:
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image03.png" alt="" /></p>
</li>
</ol>
<h3>What just happened?</h3>
<p>The version check fails and the plugin exits with our predefined error message. The same thing will happen to a user trying to use your plugin with outdated WordPress installation, requiring them to update to a newer version.</p>
<h3>Have a go Hero</h3>
<p>We created a basic plugin that you can now customize.</p>
<ul>
<li>Change the plugin description to include HTML formatting (add <strong>bold</strong> or links to the description).</li>
<li>Test your plugin to see what happens if you have two plugins with the same name (upload a copy of the file under a different name).</li>
</ul>
<hr size="1" noshade="noshade" />
<div class="header">WordPress Plugin Development (Beginner&#8217;s Guide)</div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="99" valign="top"><a href="http://www.packtpub.com/wordpress-plug-in-development/book/"><img class="left" title="WordPress Plugin Development (Beginner's Guide)" src="http://images.packtpub.com/images/100x123/1847193595.png" border="0" alt="WordPress Plugin Development (Beginner's Guide)" width="99" height="123" /></a></td>
<td valign="top">
<ul>
<li>Build powerful, interactive plug-ins for your blog and to share online</li>
<li>Everything you need to create and distribute your own plug-ins following WordPress coding standards</li>
<li>Walk through the development of six complete, feature-rich, real-world plug-ins that are being used by thousands of WP users</li>
<li>Written by Vladimir Prelovac, WordPress expert and developer of WordPress plug-ins such as Smart YouTube and Plugin Central</li>
<li>Part of Packt&#8217;s Beginners Guide series: expect step-by-step instructions with an emphasis on experimentation and tweaking code</li>
</ul>
<p><a href="http://www.packtpub.com/wordpress-plug-in-development/book/">http://www.packtpub.com/wordpress-plug-in-development/book</a></td>
</tr>
</tbody>
</table>
<hr size="1" noshade="noshade" />
<h1>Displaying a Digg button</h1>
<p>Now it&#8217;s time to expand our plugin with concrete functionality and add a <strong>Digg</strong> link to every post on our blog.</p>
<p>In order to create a link we will need to extract post&#8217;s permalink URL, title, and description. Luckily, WordPress provides us with a variety of ways to do this.</p>
<h3>Time for Action – Implement a Digg link</h3>
<p>Let&#8217;s create a function to display a <strong>Digg submit</strong> link using information from the post.</p>
<ol>
<li>Add a function to our plugin to display a <strong>Digg</strong> link:
<pre style="margin-left: 40px;">/* Show a Digg This link */
function WPDiggThis_Link()
{
global $post;
// get the URL to the post
$link=urlencode(get_permalink($post-&gt;ID));
// get the post title
$title=urlencode($post-&gt;post_title);
// get first 350 characters of post and strip it off
// HTML tags
$text=urlencode(substr(strip_tags($post-&gt;post_content),
0, 350));
// create a Digg link and return it
return '&lt;a href="http://digg.com/submit?url='.$link.'&amp;amp;
title='.$title.'&amp;amp;bodytext='.$text.'"&gt;Digg This&lt;/a&gt;';
}</pre>
</li>
<li>Open your theme&#8217;s single.php file and add a call to our function just below the line with <em>the_content()</em>. If you are not sure how to do this, see the forthcoming section on &#8220;Editing the theme files&#8221;.
<pre style="margin-left: 40px;">&lt;?php if (function_exists(WPDiggThis_Link)) echo WPDiggThis_
Link(); ?&gt;</pre>
</li>
<li>With the default WordPress theme, this change will look something like this (you can also refer to the following image):
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image04.png" alt="" /></p>
</li>
<li>After you save the theme file, your blog posts will now automatically have the <strong>Digg This</strong> link shown after the content:<img src="http://www.packtpub.com/files/images/wordpresspl_article1_image05.png" alt="" /></li>
<li>Clicking the link will take the user directly to the Digg site, with all the required information already filled in:
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image06.png" alt="" /></p>
</li>
</ol>
<p>Well done! You have created your first working WordPress plugin!</p>
<h3>What just happened?</h3>
<p>When WordPress loads a post, the <strong>single.php</strong> template file from the currently active WordPress theme is ran. We added a line to this file that calls our plugin function <em>WPDiggThis_Link()</em> just after the content of the post is displayed:</p>
<pre style="margin-left: 40px;">&lt;?php the_content('&lt;p class="serif"&gt;Read the rest of this entry
&amp;raquo;&lt;/p&gt;'); ?&gt;
&lt;b&gt;&lt;?php if (function_exists(WPDiggThis_Link)) echo WPDiggThis_
Link(); ?&gt;&lt;/b&gt;</pre>
<p>We use <em>function_exists()</em> to check our function because it exists only if our plugin is installed and activated. PHP will generate an error if we try to run a nonexistent function. But if we deactivate the plugin later, we don&#8217;t want to cause errors with our theme. So, we make sure that the function exists before we attempt to run it.</p>
<p>Assuming that the plugin is present and activated, the <em>WPDiggThis_Link()</em> function from our plugin is ran. The first part of the following function gets information about our post and assigns it to variables:</p>
<pre style="margin-left: 40px;">/* Show a Digg This link */
function WPDiggThis_Link()
{
global $post;
// get the URL to the post
$link=urlencode(get_permalink($post-&gt;ID));
// get the post title
$title=urlencode($post-&gt;post_title);
// get first 350 characters of post and strip it off HTML tags
$text=urlencode(substr(strip_tags($post-&gt;post_content),
0, 350));</pre>
<p>We use the <em>urlencode()</em> PHP function for all the parameters that we will pass to the final link. This will ensure that all the values are formatted properly.</p>
<p>The second part uses this information to construct a <strong>Digg submit</strong> link:</p>
<pre style="margin-left: 40px;">// create a Digg link and return it
return '&lt;a href="http://digg.com/submit?url='.$link.'&amp;amp;
title='.$amp;title.'&amp;bodytext='.$text.'"&gt;Digg This&lt;/a&gt;';
}</pre>
<p>It returns this HTML text so that it gets added to the WordPress output at the point where the function is called – just after the post is displayed. Therefore, the link appears right after each post—which is convenient for the user who has just finished reading the post.</p>
<h2>Using the Digg API</h2>
<p>Usually, when using the functionalities of third-party sites, as we are doing in our example with Digg, we would search for the API documentation first. Almost all the major sites have extensive documentation available to help developers use their services in an effective way.</p>
<p>Digg is no exception, and if you search the Internet for the <strong>digg button api</strong> you will find a page at <a href="http://digg.com/tools/integrate" target="_blank">http://digg.com/tools/integrate</a> that will have all the details we need in order to implement our Digg functionality.</p>
<p>Digg allows us to use several different ways of using their service.</p>
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image07.png" alt="" /></p>
<p>For the start, we will display just a <strong>Digg link</strong>. Later, we will expand it and also display a normal button.</p>
<p>Here is what the Digg documentation says about formatting a submit link.</p>
<h4>Submit URL:</h4>
<p>http://digg.com/submit?url=example.com&amp;title=TITLE&amp;bodytext=DESCRIPTION&amp;media=MEDIA&amp;topic=TOPIC</p>
<h4>Submit URL Details:</h4>
<ul>
<li><strong>url</strong>=example.com<br />
Maximum length is 255 characters<br />
Story URL should be unique and devoid of session or user-specific data<br />
Please URL-encode all strings as appropriate. For example:<br />
http%3A%2F%2Fyourwebsite%2Fyourstoryurl%2Fstorypagedetails.html</li>
<li><strong>title</strong>=TITLE<br />
Maximum length is 75 characters<br />
Please also URL-encode the story title</li>
<li><strong>bodytext</strong>=DESCRIPTION<br />
Maximum length is 350 characters<br />
Please also URL-encode the body text</li>
</ul>
<p>Using this information, we are able to create a valid link for the Digg service from the information available in our post.</p>
<h2>Acquiring post information</h2>
<p>WordPress provides a number of ways to get information about the current post.</p>
<p>One of them involves using the global variable <em>$post</em>, which stores all the relevant information for the current post. We have used it in our example to extract the post title and content, but it can also be used to get other information such as post category, status and so on.</p>
<p>WordPress also offers an array of functions we could have used to access post information such as <em>get_the_title()</em> and <em>get_the_content()</em>.</p>
<p>The main difference between using these functions and accessing post data directly using <em>$post</em> variable is in the end information we get. The <em>$post</em> variable contains raw information about the post, just as the user wrote it. The functions mentioned above take the same raw information as a starting point, but could have the final output modified by external factors such as other active plugins.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em> You can browse through the <em>wp-includes/post-template.php</em> file of your WordPress installation to get a better understanding of the differences between using the $post variable and the WordPress provided functions.</em></p>
<h3>Post permalink URL</h3>
<p>In order to obtain post URL we used the <em>get_permalink()</em> WordPress function. This function accepts the post ID as a parameter, and as a result, returns post&#8217;s actual URL on the blog. It will always return a valid URL to your post no matter what permalink structure your blog is using.</p>
<h2>Editing the theme files</h2>
<p>In our example, we had to edit our theme in order to place the Digg link under the post content. WordPress allows for easy theme editing through the built-in <strong>Theme Editor </strong>panel.</p>
<p>After selecting the theme you want to edit, you will be presented with a number of options. Every theme consists of various PHP template files, each covering different blog functionalities.</p>
<p>Here is a reference table detailing the most commonly used template files.</p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> <w:UseFELayout /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val=" " /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.TableColumnHeadingPACKT, li.TableColumnHeadingPACKT, div.TableColumnHeadingPACKT {mso-style-name:"Table Column Heading [PACKT]"; mso-style-unhide:no; margin-top:3.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:10.0pt; mso-bidi-font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:Arial; font-weight:bold;} p.TableContentPACKT, li.TableContentPACKT, div.TableContentPACKT {mso-style-name:"Table Content [PACKT]"; mso-style-unhide:no; mso-style-parent:"Table Column Heading [PACKT]"; margin-top:3.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:10.0pt; mso-bidi-font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:Arial; mso-bidi-font-weight:bold;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --><!--[if gte mso 10]> <mce:style><!    /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}  --> <!--[endif]--></p>
<div>
<table class="MsoNormalTable" style="border: medium none ; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableColumnHeadingPACKT"><span style="text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">File</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableColumnHeadingPACKT"><span style="text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">PAGE</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableColumnHeadingPACKT"><span style="text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">DESCRIPTION</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">index.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:index.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Main index file</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">This is the main theme file; it is used to render any page as a replacement if the &#8217;specialised&#8217; file listed below is missing</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">home.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:home.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Home page</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Used to display contents of the home page of the blog, which usually includes a list of recent posts.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">single.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:single.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Single post</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;Digg link:template files&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Called when you click on a single post to display post comments; usually includes comments template at the end.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">page.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:page.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Page Template</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Same as single post, but is used for displaying pages</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">archive.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:archive.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Archives</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Displays blog archives, such as earlier posts, posts by month or categories.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">comments.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:comments.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Comments</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Template responsible for showing user comments and the comment area for new comments</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">header.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:header.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Header</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Outputs the header for every page, usually containing information such as title and navigation, and includes theme style sheets and so on</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">footer.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:footer.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Footer</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">The footer of every page, usually containing copyright information and useful links</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">search.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:search.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Search results</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">This template is used to show search results for your blog; It is usually similar to archive.php but also includes information about the searched phrase</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">sidebar.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:sidebar.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Sidebar</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;Digg link:template files&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Shows the blog sidebar; if the theme supports widgets, it will also include widget support functions</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 98.85pt;" width="132" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">404.php</span><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""> XE &quot;template files, Digg link:404.php&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span></span><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>XE &quot;theme files, editing:template files&quot; </span><![endif]--><!--[if supportFields]><span lang=EN-GB style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"; mso-ansi-language:EN-GB"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 113.55pt;" width="151" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">404 file not found page</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 193.5pt;" width="258" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Default page for showing missing (404) pages on your blog</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Always be careful when editing the theme files as any kind of mistake in your syntax can cause an error in displaying the page. It is therefore good practice to first backup theme files, so you can safely revert to them afterwards.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em><strong>Quick reference</strong><br />
$post: A global WordPress variable containing information about the currently processed post.<br />
get_permalink($post_id) : Returns the full URL to the post given by its ID (for example $post-&gt;ID).<br />
function_exists($function): Helps the PHP function to check if the given function exists. It is useful in themes when we want to include our function.<br />
urlencode($string): Helps the PHP function to properly format the parameters to be used in a URL query.</em></p>
<h3>Have a go Hero</h3>
<p>Our plugin already has useful functionality. Try to customize it by:</p>
<ul>
<li>Calling our Digg link function from different places in the theme template, for example, before the content or after the tags are displayed (look for <em>the_tags()</em> line in the template).</li>
<li>Adding the function to other theme templates such as the main index file and archive pages to display the Digg links on the home page and blog archives as well.</li>
<li>Using the <em>get_the_title()</em> and <em>get_the_content()</em> functions to obtain post title and content instead of using the <em>$post</em> variable.</li>
</ul>
<hr size="1" noshade="noshade" />
<div class="header">WordPress Plugin Development (Beginner&#8217;s Guide)</div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="99" valign="top"><a href="http://www.packtpub.com/wordpress-plug-in-development/book/"><img class="left" title="WordPress Plugin Development (Beginner's Guide)" src="http://images.packtpub.com/images/100x123/1847193595.png" border="0" alt="WordPress Plugin Development (Beginner's Guide)" width="99" height="123" /></a></td>
<td valign="top">
<ul>
<li>Build powerful, interactive plug-ins for your blog and to share online</li>
<li>Everything you need to create and distribute your own plug-ins following WordPress coding standards</li>
<li>Walk through the development of six complete, feature-rich, real-world plug-ins that are being used by thousands of WP users</li>
<li>Written by Vladimir Prelovac, WordPress expert and developer of WordPress plug-ins such as Smart YouTube and Plugin Central</li>
<li>Part of Packt&#8217;s Beginners Guide series: expect step-by-step instructions with an emphasis on experimentation and tweaking code</li>
</ul>
<p><a href="http://www.packtpub.com/wordpress-plug-in-development/book/">http://www.packtpub.com/wordpress-plug-in-development/book</a></td>
</tr>
</tbody>
</table>
<hr size="1" noshade="noshade" />
<h1>WordPress plugin hooks</h1>
<p>Our plugin now works fine, but there is a problem. In order to use it, we also have to edit the theme. This can be a real pain for all sorts of reasons:</p>
<ul>
<li>If you want to change to a different theme, the plugin will stop working until you edit the new theme.</li>
<li>If you want to distribute your plugin to other people, they can&#8217;t just install it and activate it; they have to change their theme files too.</li>
<li>If you change the function name, you need to alter the theme files again.</li>
</ul>
<p>We need some way to make the plugin work on its own, without the users having to change their themes or anything else.</p>
<p><strong>Hooks</strong> come to the rescue, making it possible to display our <strong>Digg This</strong> button in our posts—without ever modifying our theme.</p>
<h3>Time for Action – Use a filter hook</h3>
<p>We will use the <em>the_content</em> filter hook to automatically add our <strong>Digg This</strong> link to the end of the post content. This will avoid the need for the users to edit their theme files if they want to use our plugin.</p>
<ol>
<li>Create a function that we will use to hook to the content filter:
<pre style="margin-left: 40px;">// create a Digg link and return it
return '&lt;a href="http://digg.com/submit?url='.$link.'&amp;amp;
title='.$title.'&amp;amp;bodytext='.$text.'"&gt;Digg This&lt;/a&gt;';
}
&lt;b&gt;/* Add Digg link to the end of the post */
function WPDiggThis_ContentFilter($content)
{
return $content.WPDiggThis_Link();
}&lt;/b&gt;</pre>
</li>
<li>Use the post content hook to automatically call our new function:
<pre style="margin-left: 40px;">add_filter('the_content', 'WPDiggThis_ContentFilter');</pre>
</li>
<li>Remove the references to our function from the theme template as we no longer need them. Leaving them would have the effect of showing the link twice.</li>
</ol>
<p>The end result is now the same, but we now control the appearance of the link directly from our plugin.</p>
<h3>What just happened?</h3>
<p>When we activate our plugin now, WordPress comes across and runs this line:</p>
<pre style="margin-left: 40px;">add_filter('the_content', 'WPDiggThis_ContentFilter');</pre>
<p>This tells WordPress that every time it&#8217;s going to display the content of a post or page, it should run it through our <em>WPDiggThis_ContentFilter()</em> function. We don&#8217;t need to modify the theme file anymore – WordPress will make sure that the function runs at the required time.</p>
<p>When we load a post now, WordPress will automatically call our function:</p>
<pre style="margin-left: 40px;">/* Add Digg link to the end of the post */
function WPDiggThis_ContentFilter($content)
{
&lt;b&gt;return $content.WPDiggThis_Link();&lt;/b&gt;
}</pre>
<p>This function receives the post&#8217;s content as a parameter, and returns the <strong>filtered</strong> content. In this case, our Digg link gets automatically appended to the end of the content.</p>
<h2>WordPress hooks</h2>
<p>WordPress provides a powerful mechanism for plugin functions to be called at the exact time when we need them. This functionality is accomplished by using the so called <strong>hooks</strong>.</p>
<p>Every time you call a page from your browser, the WordPress engine goes through every possible function it needs to render the requested page. Somewhere along the way, you can &#8220;hook&#8221; up your function and use it to affect the end result.</p>
<p>You do this by simply registering your function with a specified hook, allowing it to be called by WordPress at the right moment.</p>
<p>There are two types of WordPress hooks:</p>
<ul>
<li><strong>Action hooks</strong>: These are triggered by WordPress events, for example, when someone creates a post or writes a comment.</li>
<li><strong>Filter hooks</strong>: These are used to modify WordPress content on the fly, like title or content of the post as it is being served to the user.</li>
</ul>
<h3>Filter hooks</h3>
<p>We learned that filter hooks (also referred to as simply &#8216;filters&#8217;) are functions that process WordPress content, whether it is about to be saved in the database or displayed in the user&#8217;s browser. WordPress expects these functions to modify the content they get and return it.</p>
<p>In our case, we used <em>the_content</em> filter hook to modify the post content by appending a Digg link to it. We could also have placed the Digg link at the beginning of the post, or broken up the post and put it in the middle.</p>
<p>To set up a filter, we need to use the <em>add_filter</em> function:</p>
<pre style="margin-left: 40px;">add_filter ( 'filter_hook', 'filter_function_name' , [priority],
[accepted_args] );</pre>
<ul>
<li><em>filter_hook</em>: One of the filter hooks provided by WordPress.</li>
<li><em>filter_function_name</em>: A function used to process the content provided by the <em>filter_hook</em>.</li>
<li><em>priority</em>: An optional parameter, which specifies the execution order of functions. The default value is 10 if several functions apply to the same filter hook, functions with a lower priority number execute first, while the functions with the same priority will execute in the order in which they were added to the filter.</li>
<li><em>accepted_args</em>: An optional parameter, which specifies how many arguments your function can accept. The default value is 1. The <em>accepted_args</em> parameter is used for hooks that pass more than one argument.</li>
</ul>
<p>Here is an example list of filter hooks, which will help you to get a better understanding of what you can achieve using them.</p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val=" " /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-alt:Calibri; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} @font-face {font-family:"Courier Std"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Courier Std"; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:3 0 0 0 1 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-bidi-font-family:"Times New Roman";} p.Pa18, li.Pa18, div.Pa18 {mso-style-name:Pa18; mso-style-priority:99; mso-style-unhide:no; mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; mso-line-height-alt:9.05pt; mso-pagination:widow-orphan; mso-layout-grid-align:none; text-autospace:none; font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-bidi-font-family:"Times New Roman";} p.Pa61, li.Pa61, div.Pa61 {mso-style-name:Pa61; mso-style-priority:99; mso-style-unhide:no; mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; mso-line-height-alt:9.55pt; mso-pagination:widow-orphan; mso-layout-grid-align:none; text-autospace:none; font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-bidi-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt; mso-ascii-font-family:Calibri; mso-fareast-font-family:Calibri; mso-hansi-font-family:Calibri;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --><!--[if gte mso 10]> <mce:style><!    /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif";}  --> <!--[endif]--></p>
<div>
<table class="MsoNormalTable" style="border: medium none ; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 10.85pt;">
<td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 198.7pt; height: 10.85pt;" width="265" valign="top">
<p class="Pa61"><strong><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Filter</span></strong></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 10.85pt;" width="265" valign="top">
<p class="Pa61"><strong><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Description</span></strong></p>
</td>
</tr>
<tr style="height: 22.55pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">the_content</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the post content retrieved from the database prior to printing on the screen </span></p>
</td>
</tr>
<tr style="height: 11.15pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 11.15pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">the_content_rss</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 11.15pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the post content prior to including in an RSS feed</span></p>
</td>
</tr>
<tr style="height: 22.55pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">the_title</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the post title retrieved from the database prior to printing on the screen </span></p>
</td>
</tr>
<tr style="height: 23.05pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">wp_title</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the blog page title before sending to the browser in the </span><em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">wp_title</span></em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">function</span></p>
</td>
</tr>
<tr style="height: 23.05pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">comment_text</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the comment text before display on the screen by the </span><em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">comment_text</span></em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">function and in the admin menus</span></p>
</td>
</tr>
<tr style="height: 22.55pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">get_categories</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 22.55pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the category list generated by the </span><em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">get_categories</span></em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">function</span></p>
</td>
</tr>
<tr style="height: 23.65pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.65pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">the_permalink</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.65pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the permalink URL for a post prior to printing by </span><em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">the_permalink</span></em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">function</span></p>
</td>
</tr>
<tr style="height: 11.15pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 11.15pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">autosave_interval</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 11.15pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the interval for auto-saving posts</span></p>
</td>
</tr>
<tr style="height: 23.05pt;">
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">theme_root_uri</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 198.7pt; height: 23.05pt;" width="265" valign="top">
<p class="Pa61"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">Applied to the theme root directory URI returned by the </span><em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">get_theme_root_uri</span></em><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;">function</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Filter hooks can be removed using the <em>remove_filter()</em> function. It accepts the same arguments as <em>add_filter()</em>, and is useful if you want to replace some of the existing WordPress filters with your functions.</p>
<p>If you want to take a closer look at the default WordPress filters, you can find them in the <em>wp-includesdefault-filters.php</em> file of your WordPress installation.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em>It is important to remember that the filter function always receives some data and is responsible for returning the data, whether it modifies the data or not. Only if you want to disregard this data completely, can you return an empty value.</em></p>
<h3>Action Hooks</h3>
<p>We use action hooks when we need to include specific functionalities every time a WordPress event triggers, for example when the user publishes a post or changes the theme.</p>
<p>WordPress does not ask for any information back from the action function, it simply notifies it that a certain event has happened, and that a function should respond to it in a desired way.</p>
<p>Action hooks are used in a way similar to the filter hooks. The syntax for setting up an action hooks is:</p>
<pre style="margin-left: 40px;">add_action ( 'action_hook', 'action_function_name', [priority],
[accepted_args] );</pre>
<ul>
<li><em>action_hook</em>: The name of the hook provided by WordPress.</li>
<li><em>action_function_name</em>: The name of the function you want to use to handle the event.</li>
<li><em>priority</em>: An optional parameter, which specifies the execution order of functions. The default value is 10. If several functions apply to the same filter hook, then functions with lower priority numbers will execute first, while the functions with the same priority will execute in the order in which they were added.</li>
<li><em>accepted_args</em>: It is optional and specifies how many arguments your function can accept. The default value is 1 and is used for hooks that pass more than one argument.</li>
</ul>
<p>The following table presents example action hooks provided by WordPress.</p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> <w:UseFELayout /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val=" " /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="0" Name="HTML Typewriter" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-alt:Calibri; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} tt {mso-style-unhide:no; font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} p.TableColumnHeadingPACKT, li.TableColumnHeadingPACKT, div.TableColumnHeadingPACKT {mso-style-name:"Table Column Heading [PACKT]"; mso-style-unhide:no; margin-top:3.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:10.0pt; mso-bidi-font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:Arial; font-weight:bold;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --><!--[if gte mso 10]> <mce:style><!    /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-bidi-font-family:"Times New Roman";}  --> <!--[endif]--></p>
<div>
<table class="MsoNormalTable" style="border: medium none ; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><strong><span style="font-size: 10pt; line-height: 115%; text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Action</span></strong></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><strong><span style="font-size: 10pt; line-height: 115%; text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Description</span></strong></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">create_category</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when a new category is created</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">publish_post</span><!--[if supportFields]><span style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif"" mce_style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;action hooks:example&quot; </span><![endif]--><!--[if supportFields]><span style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif"" mce_style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when a post is published, or if it is edited and its status is &#8220;published&#8221;</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">wp_blacklist_check</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs to check whether a comment should be blacklisted</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">switch_theme</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when the blog&#8217;s theme is changed</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">activate_(plugin_file_name)</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when the plugin is first activated</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">admin_head</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs in the HTML </span><tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">&lt;head&gt;</span></tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;"> section of the admin panel</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">wp_head</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when the template calls the </span><tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">wp_head</span></tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;"> function. This hook is generally placed near the top of a page template between </span><tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">&lt;head&gt;</span></tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;"> and </span><tt><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">&lt;/head&gt;</span></tt></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">init</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs after WordPress has finished loading but before any headers are sent; it is useful for intercepting $_GET or $_POST triggers</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">user_register</span><!--[if supportFields]><span style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif"" mce_style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;action hooks:example&quot; </span><![endif]--><!--[if supportFields]><span style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif"" mce_style="font-size:10.0pt;line-height:115%;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Runs when a user&#8217;s profile is first created</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Just as with filters, you can use the <em>remove_action()</em> function to remove currently registered actions.</p>
<h3>Practical filters and actions examples</h3>
<p>Since understanding the power of filters and actions is very important for conquering WordPress plugin development, we will now examine a few more simple examples of their usage.</p>
<h4>Upper case titles</h4>
<p>The hook function can be any registered function. In this case, we will pass the title of the post to strtoupper making all titles appear in upper case.</p>
<pre style="margin-left: 40px;">add_filter('the_title', strtoupper);</pre>
<h4>Mailing list</h4>
<p>Actions provide a very powerful mechanism for automating tasks. Here is how to send a notification to a mailing list whenever there is an update on your blog.</p>
<pre style="margin-left: 40px;">function mailing_list($post_ID)
{
$list = 'john@somesite.com,becky@somesite.com';
mail($list, 'My Blog Update',
'My blog has just been updated: '.get_settings('home'));
}
// Send notification with every new post and comment
add_action('publish_post', 'mailing_list');
add_action('comment_post', 'mailing_list');</pre>
<h4>Changing core WordPress functionality</h4>
<p>Sometimes you may not be satisfied with the default WordPress functionalities. You may be tempted to modify the WordPress source code, but you should never do that. One of the main reason is that when you upgrade to a new version of WordPress the upgrade process could overwrite your changes.</p>
<p>Instead, try whenever possible to write a plugin and use actions and filters to change the desired functionality.</p>
<p>Let&#8217;s say we want to change WordPress post excerpt handling. WordPress uses the <em>wp_trim_excerpt()</em> function with the <em>get_the_excerpt</em> filter responsible for processing the post excerpt. No problem, let&#8217;s replace it with our own function, using the WordPress function as a starting point.</p>
<pre style="margin-left: 40px;">/* Create excerpt with 70 words and preserved HTML tags */
function my_wp_trim_excerpt($text)
{
if ( '' == $text )
{
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]&gt;', ']]&amp;gt;', $text);
$excerpt_length = 70;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words) &gt; $excerpt_length)
{
array_pop($words);
array_push($words, '[...]');
$text = implode(' ', $words);
}
}
return $text;
}
// remove WordPress default excerpt filter
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
// Add our custom filter with low priority
add_filter('get_the_excerpt', my_wp_trim_excerpt, 20);</pre>
<p>These were just a few practical examples. You can do almost anything that crosses your mind using action and filter hooks in WordPress.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em>Sometimes, you can achieve the same result by using either the action or the filter hook.<br />
For example, if you want to change the text of the post you can use publish_post action hook to change the post as it is being saved to the database. Alternatively, you can use the_content filter to change the text of the post as it is displayed in the browser window.<br />
Although the result is the same, we accomplish the goal in different ways. In the first case, when using the action hook, the post itself will remain permanently changed, whereas using the filter hook will change the text everytime it is displayed. You will want to use the functionality more suitable for your needs.</em></p>
<p style="margin-left: 40px; margin-right: 40px;"><em><strong>Quick reference</strong><br />
add_filter (&#8217;filter_hook&#8217;, &#8216;filter_function_name&#8217;, [priority], [accepted_args]): This is used to hook our function to the given filter.<br />
add_action (&#8217;action_hook&#8217;, &#8216;action_function_name&#8217;, [priority], [accepted_args]): This is used to hook our function to the given action.<br />
remove_filter() and remove_action(): This is used to remove already assigned filters and actions.<br />
the_content : This is a popular filter for the post content.(do not confuse with the_content() function, which is a template tag to display the content of a post in the theme)<br />
WordPress Filter Reference: <a href="http://codex.wordpress.org/Plugin_API/Filter_Reference" target="_blank">http://codex.wordpress.org/Plugin_API/Filter_Reference</a><br />
WordPress Action Reference : <a href="http://codex.wordpress.org/Plugin_API/Action_Reference" target="_blank">http://codex.wordpress.org/Plugin_API/Action_Reference</a></em></p>
<h3>Have a go Hero</h3>
<p>Our filter function now controls the behaviour of a Digg link. Try these exercises:</p>
<ul>
<li>Place a Digg link before the post content by prepending the output of our function to the content</li>
<li>Add the current date to your page title in the browser window by using the <em>wp_title</em> filter and the <em>date()</em> PHP function</li>
<li>Capitalize the first letter of the users&#8217; comments in case they forgot to do so. Use the <em>comment_text</em> filter and the <em>ucfirst()</em> PHP function</li>
</ul>
<hr size="1" noshade="noshade" />
<div class="header">WordPress Plugin Development (Beginner&#8217;s Guide)</div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="99" valign="top"><a href="http://www.packtpub.com/wordpress-plug-in-development/book/"><img class="left" title="WordPress Plugin Development (Beginner's Guide)" src="http://images.packtpub.com/images/100x123/1847193595.png" border="0" alt="WordPress Plugin Development (Beginner's Guide)" width="99" height="123" /></a></td>
<td valign="top">
<ul>
<li>Build powerful, interactive plug-ins for your blog and to share online</li>
<li>Everything you need to create and distribute your own plug-ins following WordPress coding standards</li>
<li>Walk through the development of six complete, feature-rich, real-world plug-ins that are being used by thousands of WP users</li>
<li>Written by Vladimir Prelovac, WordPress expert and developer of WordPress plug-ins such as Smart YouTube and Plugin Central</li>
<li>Part of Packt&#8217;s Beginners Guide series: expect step-by-step instructions with an emphasis on experimentation and tweaking code</li>
</ul>
<p><a href="http://www.packtpub.com/wordpress-plug-in-development/book/">http://www.packtpub.com/wordpress-plug-in-development/book</a></td>
</tr>
</tbody>
</table>
<hr size="1" noshade="noshade" />
<h1>Adding a Digg button using JavaScript code</h1>
<p>Our Digg link works fine for submitting the content, but isn&#8217;t very pretty, and does not show the number of Diggs we received. That is why we need to use a standard <strong>Digg </strong>button.</p>
<p>This is accomplished by using a simple piece of JavaScript code provided by Digg, and passing it the necessary information.</p>
<h3>Time for Action – Implement a Digg button</h3>
<p>Let us implement a <strong>Digg</strong> button, using information from the Digg API. We will use the newly created button on single posts, and keep the simple <strong>Digg</strong> link for all the other pages.</p>
<ol>
<li>Create a new function for displaying a nice <strong>Digg</strong> button using JavaScript code.
<pre style="margin-left: 40px;">/* Return a Digg button */
function WPDiggThis_Button()
{
global $post;
// get the URL to the post
$link=js_escape(get_permalink($post-&gt;ID));
// get the post title
$title=js_escape($post-&gt;post_title);
// get the content
$text=js_escape(substr(strip_tags($post-&gt;post_content),
0, 350));
// create a Digg button and return it
$button="
&lt;script type='text/javascript'&gt;
digg_url = '$link';
digg_title = '$title';
digg_bodytext = '$text';
&lt;/script&gt;
&lt;script src='http://digg.com/tools/diggthis.js'
type='text/javascript'&gt;&lt;/script&gt;"
return ($button);
}</pre>
</li>
<li>Modify our filter function to include the Digg button for single posts and pages, and a Digg link for all the other pages:
<pre style="margin-left: 40px;">/* Add Digg This to the post */
function WPDiggThis_ContentFilter($content)
{
// if on single post or page display the button
if (is_single() || is_page())
return WPDiggThis_Button().$content;
else
return $content.WPDiggThis_Link();
}</pre>
</li>
<li><strong>Digg</strong> button now shows at the beginning of the single post page.
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image08.png" alt="" /></p>
</li>
</ol>
<h3>What just happened?</h3>
<p>WordPress will parse our content filter function according to the conditional statement we have added:</p>
<pre style="margin-left: 40px;">function WPDiggThis_ContentFilter($content)
{
// if on single post or page display the button
if (is_single() || is_page())
return WPDiggThis_Button().$content;</pre>
<p>This means that if the current viewed page is a single post or page, we will append our <strong>Digg</strong> button at the beginning of that post.</p>
<p>If we are viewing all the other pages on the blog (like for example the home page or archives) we will show the <strong>Digg This</strong> link instead.</p>
<pre style="margin-left: 40px;">if (is_single() || is_page())
return WPDiggThis_Button().$content;
else
return $content.WPDiggThis_Link();
}</pre>
<p>The reason for doing so is that we do not want to clutter the home page of the blog with a lot of big yellow Digg buttons. So we just place a subtle link below the post instead. On single pages, we show the normal button using our new <em>WPDiggThis_Button()</em> function.</p>
<p>The first part is similar to our previous <em>WPDiggThis_Link()</em> function, and it acquires the necessary post information.</p>
<pre style="margin-left: 40px;">/* Return a Digg button */
function WPDiggThis_Button()
{
global $post;
// get the URL to the post
$link=js_escape(get_permalink($post-&gt;ID));
// get the post title
$title=js_escape($post-&gt;post_title);
// get the content
$text=js_escape(substr(strip_tags($post-&gt;post_content), 0, 350));</pre>
<p>However in this case, we are treating all the information through the <em>js_escape()</em> WordPress function, which handles formatting of content for usage in JavaScript code. This includes handling of quotes, double quotes and line endings, and is necessary to make sure that our JavaScript code will work properly.</p>
<p>We then create a code using Digg API documentation for a JavaScript button:</p>
<pre style="margin-left: 40px;">// create a Digg button and return it
$button="
&lt;script type='text/javascript'&gt;
digg_url = '$link';
digg_title = '$title';
digg_bodytext = '$text';
&lt;/script&gt;
&lt;script src='http://digg.com/tools/diggthis.js'
type='text/javascript'&gt;&lt;/script&gt;";</pre>
<h2>Conditional Tags</h2>
<p>We have used two functions in our example, <em>is_single()</em> and <em>is_page()</em>. These are WordPress conditional tags and are useful for determining the currently viewed page on the blog. We used them to determine if we want to display a button or just a link.</p>
<p>WordPress provides a number of conditional tags that can be used to control execution of your code depending on what the user is currently viewing.</p>
<p>Here is the reference table for some of the most popular conditional tags.</p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> <w:UseFELayout /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val=" " /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="0" Name="HTML Typewriter" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-alt:Calibri; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.TableColumnHeadingPACKT, li.TableColumnHeadingPACKT, div.TableColumnHeadingPACKT {mso-style-name:"Table Column Heading [PACKT]"; mso-style-unhide:no; margin-top:3.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:10.0pt; mso-bidi-font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:Arial; font-weight:bold;} p.TableContentPACKT, li.TableContentPACKT, div.TableContentPACKT {mso-style-name:"Table Content [PACKT]"; mso-style-unhide:no; mso-style-parent:"Table Column Heading [PACKT]"; margin-top:3.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:10.0pt; mso-bidi-font-size:12.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:Arial; mso-bidi-font-weight:bold;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --><!--[if gte mso 10]> <mce:style><!    /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-bidi-font-family:"Times New Roman";}  --> <!--[endif]--></p>
<div>
<table class="MsoNormalTable" style="border: medium none ; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableColumnHeadingPACKT"><span style="text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Tag</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableColumnHeadingPACKT"><span style="text-transform: uppercase; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">RETURNS TRUE IF USER IS VIEWING</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_home</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_home&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Blog home page</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_admin</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_admin&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Administration interface</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_single</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_single&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Single post page</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_page</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_page&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Blog page</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_category</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_category&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Archives by category</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_tag</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_tag&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Archives by tag</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_date</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_date&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Archives by date</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 149.4pt;" width="199" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">is_search</span><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span> XE &quot;conditional tags:is_search&quot; </span><![endif]--><!--[if supportFields]><span style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif"" mce_style="mso-bidi-font-size:10.0pt;font-family:"Verdana","sans-serif""><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
</td>
<td style="padding: 0in 5.4pt; width: 257.4pt;" width="343" valign="top">
<p class="TableContentPACKT"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;">Search results</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Conditional tags are used in a variety of ways. For example, <em>is_single(&#8217;15&#8242;)</em> checks whether the current page is a single post with ID <em>15</em>. You can also check by title. <em>is_page(&#8217;About&#8217;)</em> checks if we are on the page with the title &#8216;About&#8217;.</p>
<p style="margin-left: 40px; margin-right: 40px;"><em><strong>Quick reference</strong><br />
is_single(), is_page(): These are conditional tags to determine the nature of the currently viewed content<br />
js_escape(): A WordPress function to properly escape the strings to be used in JavaScript code<br />
WordPress Conditional Tags: <a href="http://codex.wordpress.org/Conditional_Tags" target="_blank">http://codex.wordpress.org/Conditional_Tags</a></em></p>
<h1>Styling the output</h1>
<p>Our <strong>Digg</strong> button looks like it could use a better positioning, as the default one spoils the look of the theme. So, we will use CSS to reposition the button.</p>
<p>Cascading Style Sheets or CSS for short (<a href="http://www.w3.org/Style/CSS/" target="_blank">http://www.w3.org/Style/CSS/</a>) are a simple but powerful tool that allows web developers to add different styles to web presentations. They allow full control over the layout, size, and color of elements on a given page.</p>
<h3>Time for Action – Use CSS to position the button</h3>
<p>Using CSS styles, we will move the button to the right of the post.</p>
<ol>
<li>We will accomplish this by first encapsulating the button in a <em>&lt;div&gt;</em> element. Then we will add a CSS style to this element stating that the button should appear on the right, with a left margin towards the text of 10 pixels.
<pre style="margin-left: 40px;">// create a Digg button and return it
$button="
&lt;script type='text/javascript'&gt;
digg_url = '$link';
digg_title = '$title';
digg_bodytext = '$text';
&lt;/script&gt;
&lt;script src='http://digg.com/tools/diggthis.js' type='text/
javascript'&gt;&lt;/script&gt;";
// encapsulate the button in a div
$button='
&lt;div style="float: right; margin-left:
10px; margin-bottom: 4px;"&gt;
'.$button.'
&lt;/div&gt;';
return $button;</pre>
</li>
<li>The result of applying this simple CSS code is that <strong>Digg</strong> Button now shows to the right of the post.</li>
</ol>
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image09.png" alt="" /></p>
<h3>What just happened?</h3>
<p>We used CSS to move the button to a desired position. CSS is extremely useful for these kinds of tasks and is commonly used in WordPress development to enhance the user experience.</p>
<pre style="margin-left: 40px;">// encapsulate the button in a div
$button='
&lt;div style="float: right; margin-left: 10px; margin-bottom:
4px;"&gt;
'.$button.'
&lt;/div&gt;';</pre>
<p>We have basically encapsulated our button in a <em>&lt;div&gt;</em> element and forced it to the right edge by using <em>float: right</em> CSS command inside a <em>style</em> tag.</p>
<p>We could further experiment with the placement of the button until we find the most satisfying solution.</p>
<p>For example, if we hook to <em>the_title</em> filter instead of <em>the_content</em>, and moved the button to the left , we would get the following result:</p>
<p style="text-align: center;"><img src="http://www.packtpub.com/files/images/wordpresspl_article1_image10.png" alt="" /></p>
<p>Certainly, having good CSS skills is a very valuable asset in WordPress plugin development.</p>
<h3>Have a go Hero</h3>
<p>Now that our button is finished, there are a lot of possible customizations you can make to the look or position of your button, using both built-in Digg options and CSS.</p>
<ul>
<li>You can use the <em>digg_bgcolor</em>, <em>digg_skin</em>, <em>digg_window</em> parameters of Digg JavaScript to control the appearance of the button (refer to <a href="http:/digg.com/tools/integrate" target="_blank">http://digg.com/tools/integrate</a>)</li>
<li>Use CSS to play with the layout of the button</li>
<li>Create similar plugins that will allow the user to submit content to sites such as Stumble Upon or Reddit</li>
</ul>
<h1>Summary</h1>
<p>In this article, we created a working, useful, and attractive WordPress plugin from scratch. Our plugin now displays a fully functional <strong>Digg</strong> button.</p>
<p>We learned how to extract information using WordPress API and how to use CSS to improve the appearance of our plugin. We also investigated some more advanced WordPress functionalities such as hooks.</p>
<p>Specifically, we covered:</p>
<ul>
<li><strong>Creating a plugin</strong>: How to fill in the informati on header and create a simple plugin template</li>
<li><strong>Checking WordPress version</strong>: How to check that our plugin is compatible with the user’s version of WordPress</li>
<li><strong>Modifying theme files</strong>: How to safely add functions to the theme files when we need to</li>
<li><strong>Accessing post information</strong>: Different ways of obtaining data from the post such as title, permalink and content</li>
<li><strong>Using WordPress hooks</strong>: How to use actions and filters to get things done from within our plugin (and not modifying the theme for instance)</li>
</ul>
<hr size="1" noshade="noshade" />
<div class="header">WordPress Plugin Development (Beginner&#8217;s Guide)</div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="99" valign="top"><a href="http://www.packtpub.com/wordpress-plug-in-development/book/"><img class="left" title="WordPress Plugin Development (Beginner's Guide)" src="http://images.packtpub.com/images/100x123/1847193595.png" border="0" alt="WordPress Plugin Development (Beginner's Guide)" width="99" height="123" /></a></td>
<td valign="top">
<ul>
<li>Build powerful, interactive plug-ins for your blog and to share online</li>
<li>Everything you need to create and distribute your own plug-ins following WordPress coding standards</li>
<li>Walk through the development of six complete, feature-rich, real-world plug-ins that are being used by thousands of WP users</li>
<li>Written by Vladimir Prelovac, WordPress expert and developer of WordPress plug-ins such as Smart YouTube and Plugin Central</li>
<li>Part of Packt&#8217;s Beginners Guide series: expect step-by-step instructions with an emphasis on experimentation and tweaking code</li>
</ul>
<p><a href="http://www.packtpub.com/wordpress-plug-in-development/book/">http://www.packtpub.com/wordpress-plug-in-development/book</a></td>
</tr>
</tbody>
</table>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=WordPress%20Plugin%20Development%20-%20Book%20Excerpt&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Fwordpress-plugin-development-book-excerpt"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/He0GhfHlG2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/wordpress-plugin-development-book-excerpt/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/wordpress-plugin-development-book-excerpt</feedburner:origLink></item>
		<item>
		<title>Smart To-Do List - Now with Due Dates</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/rp5vzmCdVvg/smart-to-do-list-now-with-due-dates</link>
		<comments>http://www.smartproductivity.com/smart-to-do-list-now-with-due-dates#comments</comments>
		<pubDate>Thu, 12 Mar 2009 03:24:27 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Smart To-Do List]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[GTD]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=379</guid>
		<description><![CDATA[
The latest version of Smart To-Do List has been posted to the server. If you’ve previously purchased Smart To-Do List you will be getting an email detailing where to download the latest version. This version adds the following functionality:


Due Dates!

Due dates are completely optional.
Due dates can be entered in many different ways:

03/10, 03/10/2009, 2009-03-10, or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smarttodolist.com"><img class="aligncenter size-full wp-image-382" title="due-date-to-do-list" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/due-date-to-do-list.png" alt="" width="411" height="458" /></a></p>
<p>The latest version of <a href="http://www.smarttodolist.com">Smart To-Do List</a> has been posted to the server. If you’ve previously purchased Smart To-Do List you will be getting an email detailing where to download the latest version. This version adds the following functionality:<br />
<span id="more-379"></span></p>
<ul>
<li>Due Dates!
<ul>
<li>Due dates are <strong>completely optional</strong>.</li>
<li>Due dates can be entered in many different ways:
<ul>
<li>03/10, 03/10/2009, 2009-03-10, or March 10 to name a few.</li>
</ul>
</li>
<li>Tasks can be sorted by due date.</li>
</ul>
</li>
<li>Keyboard shortcuts have been added
<ul>
<li>Ctrl-p: Show all projects</li>
<li>Ctrl-h: Show high priority items.</li>
<li>Ctrl-m: Show medium priority items.</li>
<li>Ctrl-l: Show low priority items.</li>
<li>Ctrl-r: Remove current filter.</li>
<li>Ctrl-n: New project.</li>
<li>Ctrl-b: Sort by priority.</li>
<li>Ctrl-d: Sort by due date.</li>
<li>Ctrl-t: Show items due today.</li>
</ul>
</li>
<li>When a project is selected the to-do item count is shown next to the project title above the to-do list.</li>
<li>New Keyword Shortcuts
<ul>
<li>&#8220;date&#8221; - sort by due date</li>
<li>&#8220;t&#8221; or &#8220;today&#8221; - show items due today</li>
</ul>
</li>
<li>The <a href="http://www.smarttodolist.com">To-Do</a> entry box grows as you type in your task.  This allows you to see the entire to-do as you type it no matter how long it gets.</li>
</ul>
<p><a href="http://www.smarttodolist.com"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image5.png" border="0" alt="image" width="461" height="263" /></a></p>
<p>Please let me know what you think!  I truly do welcome comments and many updates are based on customer requests.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=Smart%20To-Do%20List%20-%20Now%20with%20Due%20Dates&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Fsmart-to-do-list-now-with-due-dates"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/rp5vzmCdVvg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/smart-to-do-list-now-with-due-dates/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/smart-to-do-list-now-with-due-dates</feedburner:origLink></item>
		<item>
		<title>3 Useful, Productive and Free Adobe Air Applications</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/CxdHR8aBcZU/3-useful-productive-and-free-adobe-air-applications</link>
		<comments>http://www.smartproductivity.com/3-useful-productive-and-free-adobe-air-applications#comments</comments>
		<pubDate>Tue, 03 Mar 2009 04:14:26 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=372</guid>
		<description><![CDATA[The Adobe Air runtime allows developers to create rich Internet applications that run from the desktop on Windows, Mac OS X, as well as Linux.
From the Adobe Air Wikipedia entry:
AIR is intended to be a versatile runtime environment, as it allows existing Flash, Actionscript or HTML and JavaScript code to be used to construct a [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://get.adobe.com/air/">Adobe Air</a> runtime allows developers to create rich Internet applications that run from the desktop on Windows, Mac OS X, as well as Linux.</p>
<p>From the <a href="http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime">Adobe Air Wikipedia</a> entry:</p>
<blockquote><p>AIR is intended to be a versatile runtime environment, as it allows existing Flash, Actionscript or HTML and JavaScript code to be used to construct a more traditional desktop-like program. Adobe positions it as a browser-less runtime for rich Internet applications that can be deployed onto the desktop, rather than a fully-fledged application framework.</p></blockquote>
<p>Adobe provides a <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.home&amp;marketplaceid=1">marketplace</a> to find applications that have been developed using this framework.  Here are a few of the applications that I found looking through the productivity and creativity sections of the Adobe Air Marketplace.  All of these applications are free.</p>
<p><strong>1.</strong> <strong><a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;marketplaceid=1&amp;categoryid=11&amp;offeringid=10142">BetaDesigns Caliper</a></strong></p>
<p>This application provides a caliper on screen that can be used to measure anything that you have displayed on your monitor.  This is a really convenient little application for measuring the width of your webpage elements or parts of a user interface that you may be working on.</p>
<p>The caliper is draggable to anywhere on the screen you would like and it also rotates through 360°.</p>
<p><a href="http://www.betadesigns.co.uk/Blog/caliper/"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image.png" border="0" alt="image" width="334" height="256" /></a></p>
<p><span id="more-372"></span></p>
<p><strong>2. <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;marketplaceid=1&amp;categoryid=11&amp;offeringid=10034">Vertabase Timer</a></strong></p>
<p>Vertabase Timer is perfect for anyone that has to track their time spent on specific projects.  To use this application you simply enter the projects name in the <em>Track Time On</em> entry box (or select a previously entered project) and press the <em>Start</em> button.   When you press the <em>Stop</em> button an optional note can be added to the recorded time.</p>
<p><a href="http://timer.vertabase.com/"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image1.png" border="0" alt="image" width="338" height="300" /></a></p>
<p>Clicking the <em>Show Time</em> button allows you to view a breakdown of your time spent on each project.  The time can then be exported to XML and CSV.</p>
<p><a href="http://timer.vertabase.com/"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image2.png" border="0" alt="image" width="372" height="311" /></a></p>
<p><strong>3. <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?categoryid=6&amp;event=marketplace.offering&amp;marketplaceid=1&amp;offeringid=10037">Color Browser</a></strong></p>
<p>Color Browser is useful to anyone that develops webpages as well as other creative types that need to keep track of color palettes that they currently use or get inspired by.  This application allows you to create a color palette as well as import palettes from outside sources.</p>
<p>The first palette shown in the screen shot below is the palette that I based my website design on for <a href="http://www.smarttodolist.com">Smart To-Do List</a>.  I found this palette on <a href="http://www.colourlovers.com/palette/307224/Lost">ColourLovers.com</a>.  Colour Lovers allows you to export the palettes in a variety of formats, one of which is the ASE format which this application uses.</p>
<p><a href="http://levitationdesign.com/2008/color-browser/"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/03/image3.png" border="0" alt="image" width="460" height="240" /></a></p>
<p>If you know of any other useful Adobe Air applications, I&#8217;d love to hear about them.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=3%20Useful%2C%20Productive%20and%20Free%20Adobe%20Air%20Applications&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2F3-useful-productive-and-free-adobe-air-applications"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/CxdHR8aBcZU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/3-useful-productive-and-free-adobe-air-applications/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/3-useful-productive-and-free-adobe-air-applications</feedburner:origLink></item>
		<item>
		<title>Blog Blazers - Book Review</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/9fWS-jnFS2Y/blog-blazers-book-review</link>
		<comments>http://www.smartproductivity.com/blog-blazers-book-review#comments</comments>
		<pubDate>Sun, 22 Feb 2009 04:33:36 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Book Review]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=358</guid>
		<description><![CDATA[Recently I was given the opportunity to review the book Blog Blazers, by Stephane Grenier.
Stephane Grenier is a successful blogger as well as the founder of LandlordMax property management software.
The purpose of the book is to share the secrets behind the creation of a successful blog.  The contents of the book were gathered by interviewing [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was given the opportunity to <a href="http://www.blogblazers.com/"><img style="border-right: 0px; border-top: 0px; margin: 10px 0px 0px 10px; border-left: 0px; border-bottom: 0px" src="http://www.smartproductivity.com/wp-content/uploads/2009/02/image3.png" border="0" alt="image" width="260" height="404" align="right" /></a>review the book <a href="http://www.blogblazers.com/">Blog Blazers</a>, by <a href="http://www.followsteph.com">Stephane Grenier</a>.</p>
<p>Stephane Grenier is a successful blogger as well as the founder of <a href="http://www.landlordmax.com">LandlordMax</a> property management software.</p>
<p>The purpose of the book is to share the secrets behind the creation of a successful blog.  The contents of the book were gathered by interviewing 40 bloggers.  The bloggers were each asked the same group of questions.  Here are a few sample questions found in the book:</p>
<ul>
<li>What are your main avenues for marketing your blog?</li>
<li>What&#8217;s the most common mistake new bloggers can make?</li>
<li>What&#8217;s the best way to make money from your blog?</li>
<li>Which five blogs do you regularly read?</li>
</ul>
<p><span id="more-358"></span><br />
There were some top-notch bloggers interviewed for this book such as:</p>
<ul>
<li><a href="http://sethgodin.typepad.com">Seth Godin</a></li>
<li><a href="http://www.seobook.com/">Aaron Wall</a></li>
<li><a href="http://www.getrichslowly.org/blog/">J.D. Roth</a></li>
<li><a href="http://www.codinghorror.com">Jeff Atwood</a></li>
<li><a href="http://www.davidseah.com">David Seah</a></li>
</ul>
<p>Along with these names are bloggers that you may not have heard of but are none the less successful in their own specific niche.</p>
<p>As I read through the book, I marked specific interesting passages with Post-it page markers that I wanted to come back to.  By the time I finished, I had about 20 pages marked for review.  For instance, here are a couple of quotes on the <em>importance of headlines</em> that I found particularly interesting:</p>
<blockquote><p><em>Anita Campbell (</em><a href="http://www.smallbiztrends.com"><em>www.smallbiztrends.com</em></a><em>) :</em> &#8220;They can make or break an article.  If you only have time to learn one blogging technique, I&#8217;d say focus on learning how to write great titles that speak to your audience and their pain points or desires.&#8221;</p>
<p><em>Aaron Wall (</em><a href="http://www.SEOBook.com"><em>www.SEOBook.com</em></a><em>):  &#8220;</em>Headlines are critical.  They set the tone for the piece and a strong one can even change the mood of the reader before they even get to the content.  Some social media sites will vote up a story based on the headline, without even bothering to read the story.&#8221;</p></blockquote>
<p>This book is a super easy read that can be read at whatever pace you&#8217;d like without the risk of missing something.  The format of the book also allows you to easily skip around to whatever particular blogger that you&#8217;d like to learn from.</p>
<p>If you consider yourself a serious blogger I think you should consider adding this book to your library.  In my opinion, you can&#8217;t really go wrong purchasing this book with the low price of $12.95 for the ebook or $16.95 for the paperback.  You can purchase the book directly from the book website: <a href="http://www.blogblazers.com/">Blog Blazers</a> as well as Amazon.com.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=Blog%20Blazers%20-%20Book%20Review&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Fblog-blazers-book-review"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/9fWS-jnFS2Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/blog-blazers-book-review/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/blog-blazers-book-review</feedburner:origLink></item>
		<item>
		<title>Amazon Kindle 2.0 - The Highlights</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/6gJOSf2WYsU/amazon-kindle-2-the-highlights</link>
		<comments>http://www.smartproductivity.com/amazon-kindle-2-the-highlights#comments</comments>
		<pubDate>Mon, 09 Feb 2009 17:01:40 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[Kindle]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=346</guid>
		<description><![CDATA[I&#8217;m loving the new version of the Amazon Kindle.  Here are the highlights of what I&#8217;ve read on the Kindle 2.0 so far:

Released date: February 24, 2009.
Price: $359.00
25% longer battery life than the previous version
2GB internal storage (approximately 1.4GB available for user content).
Just over 1/3 of an inch (thinner than an iPhone)
Weighs 10.2 ounces
Can be [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m loving the new version of the <a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;tag=smartproduc-20">Amazon Kindle</a>.  Here are the highlights of what I&#8217;ve read on the Kindle 2.0 so far:</p>
<ul>
<li>Released date: February 24, 2009.</li>
<li>Price: $359.00</li>
<li>25% longer battery life than the previous version</li>
<li>2GB internal storage (approximately 1.4GB available for user content).</li>
<li>Just over 1/3 of an inch (thinner than an iPhone)</li>
<li>Weighs 10.2 ounces</li>
<li>Can be charged from a USB port (this was not available in the first version)</li>
<li>Wireless access to Wikipedia</li>
</ul>
<p><a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;tag=smartproduc-20"><img class="alignnone size-full wp-image-347" title="kindle" src="http://www.smartproductivity.com/wp-content/uploads/2009/02/kindle.jpg" alt="" width="500" height="385" /></a></p>
<p><span style="text-decoration: underline;"><strong>Other Features</strong></span>:</p>
<p><strong>5-Way Controller</strong><br />
- Used to select menu options or tho highlight text<br />
Next Page Button on Both sides</p>
<p><strong>Text-to-Speech Capabilities</strong><br />
- Reads aloud books, newspapers, blogs, etc.</p>
<p><strong>Includes <em>The New Oxford American Dictionary</em></strong>:<br />
- Look up a word from a document you are currently reading.  Just navigate the cursor to the word with the 5-way controller and a definition will appear at the bottom of the screen.</p>
<p><strong>Auto Delivery</strong>:<br />
Items such as periodicals are automatically delivered via the Whispernet network as soon as they are published.  For instance, if you read &#8220;The Wall Street Journal&#8221;, the latest edition will be delivered overnight so you can read it with breakfast!</p>
<p><strong>Clip Your Favorite Passages</strong>:<br />
You can select &#8220;clips&#8221; from what you are reading and save it for later referal.  The clips will be saved and can be transferred to you computer.  It looks like this is only available for text (not images).</p>
<p><strong>Add notes</strong>:<br />
Take notes and make comments while you are reading.  Any content on the Kindle can have notes added.<br />
<strong></strong></p>
<p><strong>Convert Your Documents</strong>:<br />
It doesn&#8217;t appear that PDF is natively supported yet.  You can email your documents to an asssigned Kindle email address and the document can be converted.  The file types include Microsoft Word, TXT, HTML, PDF, JPEGs, and GIFs.</p>
<p><a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;tag=smartproduc-20"><img class="alignnone size-full wp-image-348" title="kindle-layout" src="http://www.smartproductivity.com/wp-content/uploads/2009/02/kindle-layout.jpg" alt="" width="497" height="359" /></a></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=Amazon%20Kindle%202.0%20-%20The%20Highlights&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2Famazon-kindle-2-the-highlights"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/6gJOSf2WYsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/amazon-kindle-2-the-highlights/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/amazon-kindle-2-the-highlights</feedburner:origLink></item>
		<item>
		<title>4 Links to Improve Your Productivity</title>
		<link>http://feedproxy.google.com/~r/SmartProductivity/~3/n-fbTa02FUQ/4-links-to-improve-your-productivity</link>
		<comments>http://www.smartproductivity.com/4-links-to-improve-your-productivity#comments</comments>
		<pubDate>Sun, 08 Feb 2009 04:15:37 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
		
		<category><![CDATA[GTD]]></category>

		<category><![CDATA[Productivity Tip]]></category>

		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://www.smartproductivity.com/?p=341</guid>
		<description><![CDATA[1.) Two Attention-Focusing Apps Kill Distractions Dead
Mike Elgan of the Computer World Blog reviews two productive applications:

q10 - A Windows based application that blocks every other application, so you can focus on your writing.
NowDoThis - A web service that allows you to create a daily to-do list.


2.) 100 Blogs that Will Save You Time &#38; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1.) <a href="http://blogs.computerworld.com/two_attention_focusing_apps_kill_distractions" target="_blank">Two Attention-Focusing Apps Kill Distractions Dead</a></strong></p>
<blockquote><p>Mike Elgan of the Computer World Blog reviews two productive applications:</p>
<ul>
<li><a href="http://www.baara.com/q10/">q10</a> - A Windows based application that blocks every other application, so you can focus on your writing.</li>
<li><a href="http://nowdothis.com/">NowDoThis</a> - A web service that allows you to create a daily <a href="http://www.smarttodolist.com">to-do list</a>.</li>
</ul>
</blockquote>
<p><strong>2.) <a href="http://www.matchacollege.com/blog/2009/100-blogs-that-will-save-you-time-make-you-more-productive/" target="_blank">100 Blogs that Will Save You Time &amp; Make You More Productive</a></strong></p>
<blockquote><p>Alisa Miller has a great write-up of (you guessed it) 100 blogs that deal with GTD, lifehacking, and productivity.</p></blockquote>
<p><strong>3.) <a href="http://zenhabits.net/2009/01/how-to-get-things-done-with-twitter/" target="_blank">How to Get Things Done with Twitter</a></strong></p>
<blockquote><p>Leo Babauta of Zen Habits has written up a great post on how to use Twitter to be more productive.  Strange, every time I get on Twitter I end up wasting a lot of time <img src='http://www.smartproductivity.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
<p><strong>4.) <a href="http://www.organizeit.co.uk/2009/02/02/what-my-cat-taught-me-about-productivity/" target="_blank">What My Cat Taught Me About Productivity</a></strong></p>
<blockquote><p>Jay Frawley wrote up this post that describes his method for completing and organizing a to-do list.</p></blockquote>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Smart%20Productivity&amp;siteurl=http%3A%2F%2Fwww.smartproductivity.com%2F&amp;linkname=4%20Links%20to%20Improve%20Your%20Productivity&amp;linkurl=http%3A%2F%2Fwww.smartproductivity.com%2F4-links-to-improve-your-productivity"><img src="http://www.smartproductivity.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p><img src="http://feeds.feedburner.com/~r/SmartProductivity/~4/n-fbTa02FUQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smartproductivity.com/4-links-to-improve-your-productivity/feed</wfw:commentRss>
		<feedburner:origLink>http://www.smartproductivity.com/4-links-to-improve-your-productivity</feedburner:origLink></item>
	</channel>
</rss>
