<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xavisys&#187; WordPress Plugins</title>
	<atom:link href="http://xavisys.com/category/wordpress-plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://xavisys.com</link>
	<description>WordPress Plugins and Custom WordPress Development</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:45:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://xavisys.com/?pushpress=hub'/>
		<item>
		<title>The Xavisys WordPress Plugin Framework</title>
		<link>http://xavisys.com/xavisys-wordpress-plugin-framework/</link>
		<comments>http://xavisys.com/xavisys-wordpress-plugin-framework/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 02:16:18 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[wordpress development]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=779</guid>
		<description><![CDATA[A few months ago I was chatting with Joost de Valk and he was talking about a new plugin toolkit that he was making. The basic idea was to make a flexible base that he could use to build on for all his plugins. It would handle all the tasks that are common to all [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I was chatting with <a href="http://yoast.com">Joost de Valk</a> and he was talking about a new plugin toolkit that he was making.  The basic idea was to make a flexible base that he could use to build on for all his plugins.  It would handle all the tasks that are common to all his plugins (options page, dashboard widget, etc) and still be easily extended so each plugin could handle more specific tasks as well.  Now his plugins (at least some of them) use his toolkit.</p>
<p>It was a great idea, and I finally got around to writing one for my own plugins.  I built it as an abstract class (and a tiny CSS file) that I extend for each plugin.  Here you&#8217;ll get to see a quick tour of what the framework does.  Let me know in the comments if you&#8217;re interested in seeing a walkthrough of how it was built, and feel free to download <a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts</a> to see it in action.</p>
<p><span id="more-779"></span></p>
<p>Here are some of the things it does:</p>
<ul>
<li>Stores plugin settings in a protected variable, making them easily available to all methods.</li>
<li>Registers the options for the plugin (making sure it works in WPMU and that options.php can handle updates to the options).</li>
<li>When an update to the plugin is available, it shows a changelog from the currently installed version to the newly available version (whether they&#8217;re one version apart or twenty).<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-changelog1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-changelog1-600x214.png" alt="Changelog" title="Changelog" width="600" height="214" class="alignnone size-large wp-image-795" /></a></li>
<li>Adds an options page for the WordPress plugin settings, complete with a page heading and a Xavisys icon.</li>
<li>Styles the options page as two columns with meta boxes (similar to the two column dashboard layout).<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-options-page1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-options-page1-600x587.png" alt="Options Page Screenshot" title="Options Page" width="600" height="587" class="alignnone size-large wp-image-797" /></a></li>
<li>Adds basic meta boxes to the sidebar of the options page, including one with a donate link, one with a link to the <a href="http://xavisys.com/support/forum/">support forums</a>, and one showing the latest news from Xavisys.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-sidebar1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-sidebar1.png" alt="Sidebar screenshot" title="Sidebar" width="276" height="506" class="alignnone size-full wp-image-799" /></a></li>
<li>It adds links to the plugin row on the plugins page.  One link to the support forums and one to the plugin options page.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-plugin-row1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-plugin-row1-600x57.png" alt="Plugin Row Image" title="Plugin Row Links" width="600" height="57" class="alignnone size-large wp-image-798" /></a></li>
<li>It adds a dashboard widget with a feed from Xavisys, complete with the Xavisys logo and a way to subscribe via RSS to the Xavisys site.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/dashboard-widget1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/dashboard-widget1-600x297.png" alt="Xavisys Dashboard Image" title="Xavisys Dashboard Feed" width="600" height="297" class="alignnone size-large wp-image-794" /></a><br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/dashboard-screen-options1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/dashboard-screen-options1-600x215.png" alt="Dashboard Screen Options Image" title="Dashboard Screen Options" width="600" height="215" class="alignnone size-large wp-image-793" /></a></li>
</ul>
<p>It does all this based on variables set in the extending class.  For example, the setup for Efficient Related Posts looks something like this:</p>
<pre class="brush: php; title: ; notranslate">
require_once('xavisys-plugin-framework.php');
class efficientRelatedPosts extends XavisysPlugin {
	protected function _init() {
		$this-&gt;_hook = 'efficientRelatedPosts';
		$this-&gt;_file = plugin_basename( __FILE__ );
		$this-&gt;_pageTitle = __( 'Efficient Related Posts', $this-&gt;_slug );
		$this-&gt;_menuTitle = __( 'Related Posts', $this-&gt;_slug );
		$this-&gt;_accessLevel = 'manage_options';
		$this-&gt;_optionGroup = 'erp-options';
		$this-&gt;_optionNames = array('erp');
		$this-&gt;_optionCallbacks = array();
		$this-&gt;_slug = 'efficient-related-posts';
		$this-&gt;_paypalButtonId = '9996714';
	}
}
</pre>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/google-summer-of-code-2010/' title='Google Summer of Code 2010'>Google Summer of Code 2010</a></li>
<li><a href='http://xavisys.com/10-great-wordpress-plugins/' title='10 Great WordPress Plugins'>10 Great WordPress Plugins</a></li>
<li><a href='http://xavisys.com/wordpress-widget/' title='How To Make Your Own WordPress Widget'>How To Make Your Own WordPress Widget</a></li>
<li><a href='http://xavisys.com/wordpress-core-canonical-plugins/' title='WordPress Core vs Canonical Plugins'>WordPress Core vs Canonical Plugins</a></li>
<li><a href='http://xavisys.com/gpl-themes-love-plugins-suffer/' title='GPL Themes Get Some Love, Plugins Suffer?'>GPL Themes Get Some Love, Plugins Suffer?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/xavisys-wordpress-plugin-framework/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>10 Great WordPress Plugins</title>
		<link>http://xavisys.com/10-great-wordpress-plugins/</link>
		<comments>http://xavisys.com/10-great-wordpress-plugins/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 08:00:23 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[Akismet]]></category>
		<category><![CDATA[Clean Slugs]]></category>
		<category><![CDATA[Google XML Sitemaps]]></category>
		<category><![CDATA[Headspace2]]></category>
		<category><![CDATA[Simple Trackback Validation]]></category>
		<category><![CDATA[Sociable]]></category>
		<category><![CDATA[Subscribe to Comments]]></category>
		<category><![CDATA[Twitter Tools]]></category>
		<category><![CDATA[Twitter Widget Pro]]></category>
		<category><![CDATA[WP Super Cache]]></category>

		<guid isPermaLink="false">http://wpinformer.com/?p=26</guid>
		<description><![CDATA[One of the greatest things about WordPress is how extensible it is through it&#8217;s plugin system. There&#8217;s a plugin for almost everything. There are more than 4,400 plugins just in the WordPress.org Plugin Directory and there are plenty more that aren&#8217;t in the directory. Unfortunately, sometimes there are so many plugins that it makes it [...]]]></description>
			<content:encoded><![CDATA[<p>One of the greatest things about WordPress is how extensible it is through it&#8217;s plugin system.  There&#8217;s a plugin for almost everything.  There are more than 4,400 plugins just in the <a href="http://wordpress.org/extend/plugins/">WordPress.org Plugin Directory</a> and there are plenty more that aren&#8217;t in the directory.  Unfortunately, sometimes there are so many plugins that it makes it hard to find the best WordPress plugins in the massive sea of options.  Here are some of my favorite overall plugins.</p>
<ol>
<li><a href="http://akismet.com/">Akismet</a></li>
<li><a href="http://sw-guide.de/wordpress/plugins/simple-trackback-validation/">Simple Trackback Validation</a></li>
<li><a href="http://urbangiraffe.com/plugins/headspace2/">Headspace2</a></li>
<li><a href="http://yoast.com/wordpress/">Clean Slugs</a></li>
<li><a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/">Google XML Sitemaps</a></li>
<li><a href="http://xavisys.com/2008/04/wordpress-twitter-widget/">Twitter Widget Pro</a></li>
<li><a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a></li>
<li><a href="http://yoast.com/wordpress/sociable/">Sociable</a></li>
<li><a href="http://txfx.net/code/wordpress/subscribe-to-comments/">Subscribe to Comments</a></li>
<li><a href="http://alexking.org/projects/wordpress">Twitter Tools</a></li>
</ol>
<p><span id="more-26"></span></p>
<h3><a href="http://wordpress.org/extend/plugins/akismet/">Akismet</a></h3>
<p>Akismet is the only useful plugin that ships with WordPress (so to speak).  It requires that you sign up for an API key, but it&#8217;s well worth it.  Comment spam is a huge problem on any site that allows comments.  The WordPress Akismet plugin checks your comments against the Akismet web service to see if they look like spam or not and lets you review the spam it catches under your blog&#8217;s &#8220;Comments&#8221; admin screen.  It&#8217;s actually quite effective, more than most (if not all) the other comment spam plugins I&#8217;ve tried.</p>
<h3><a href="http://wordpress.org/extend/plugins/simple-trackback-validation/">Simple Trackback Validation</a></h3>
<p>Fighting spam is the never ending task of anyone running a site that allows user content of any kind.  Akismet does a great job of handling the comment spam, but Simple Trackback Validation fills in the gaps and handles trackbacks.  Simple Trackback Validation Plugin performs a simple but very effective test on all incoming trackbacks in order to stop trackback spam.  Basically, it makes sure that the page claiming to be posting a trackback actually links to the page it&#8217;s posting that trackback to.</p>
<h3><a href="http://wordpress.org/extend/plugins/headspace2/">Headspace2</a></h3>
<p>WordPress is pretty good with search engine optimization right out of the box, just by turning on permalinks.  However, there&#8217;s definitely plenty of room for improvement.  HeadSpace2 is an all-in-one meta-data manager that allows you to fine-tune the SEO potential of your site.  Headspace will help you to better handle your tags/keywords, meta descriptions, and it does a great job of cleaning up and customizing your title tag.  No longer do you need a bunch of conditionals in your title tag.  A simple wp_title(&#8221;) will suffice, and the rest can be handled by Headspace2.</p>
<h3><a href="http://yoast.com/wordpress/">Clean Slugs</a></h3>
<p>Another plugin that will help you get a little better search engine optimization.  Joost&#8217;s Clean Slugs plugin looks for and removes more than 650 &#8220;stop words&#8221; from your post or page title when the slug is created.  These are words that most search engines ignore because they are inconsequential, so removing them will help your raking.  Unlike all the other plugins on this list, this plugin can&#8217;t be downloaded from the WordPress.org repository.  To get this plugin, simply sign up for Joost&#8217;s WordPress Newsletter.</p>
<h3><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemaps</a></h3>
<p>While it&#8217;s true that search engines can spider or crawl your site by following links, having a proper XML sitemap allows you to make sure that every post/page is properly indexed, as well as letting you specify a priority level for each.  This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog. It supports all of the WordPress generated pages as well as custom ones. Everytime you edit or create a post, your sitemap is updated and all major search engines that support the sitemap protocol, like ASK.com, Google, MSN Search and YAHOO, are notified about the update.</p>
<h3><a href="http://wordpress.org/extend/plugins/twitter-widget-pro/">Twitter Widget Pro</a></h3>
<p>Twitter offer javascript widgets that display your latest tweets, but there are a couple problems.  First, you need to be able to modify your theme or put the code into a text widget.  Secondly, since it&#8217;s javascript, search engines don&#8217;t see the content.  Twitter Widget Pro is a widget that properly handles twitter feeds, including @username and link parsing. It supports displaying profiles images, and even lets you control whether to display the time and date of a tweet or how log ago it happened (about 5 hours ago, etc).  It does all this as a server-side widget, so the content can all be parsed by search engines.  Requires PHP5.</p>
<h3><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a></h3>
<p>WP Super Cache is a static caching plugin for WordPress. It generates html files that are served directly by Apache without processing comparatively heavy PHP scripts. By using this plugin you will speed up your WordPress blog significantly, reduce CPU/memory usage, and lessen database strain.  If you have a high-traffic WordPress site, this is absolutely necessary.</p>
<h3><a href="http://wordpress.org/extend/plugins/sociable/">Sociable</a></h3>
<p>Social marketing is a hot topic and many have found that it&#8217;s incredibly successful.  There are a few plugins for WordPress that will help you with this.  Add This, Share This, and Sociable are the most popular, and I think Sociable is the best.  It&#8217;s the only one that allows all content to be loaded from your site, no scipts or images to load from some other site.  The reason this is so important to me is that I don&#8217;t ever want my site to load slowly because of a different site.  Sociable automatically add links to your favorite social bookmarking sites on your posts, pages and in your RSS feed. You can choose from 99 different social bookmarking sites!</p>
<h3><a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">Subscribe to Comments</a></h3>
<p>Getting people to comment on your posts can be a challenge.  Even more difficult is getting people to come back to the same post and continue a discussion.  Subscribe to Comments is a robust plugin that enables commenters to sign up for e-mail notification of subsequent entries. The plugin includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts, block all notifications, or even change their notification e-mail address!</p>
<h3><a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a></h3>
<p>Twitter Tools is a plugin that creates a complete integration between your WordPress blog and your Twitter account.  The only part of it that I use is the ability to automatically notify Twitter of new posts.  The problem is that it prefaces all these Tweets with &#8220;New blog post:&#8221; and this text isn&#8217;t customizable.  Additionally, it uses tinyurl to shorten the URL for the post, and I would prefer that it let me use something like SnipUrl which lets me track the number of clicks.  Still, the fact that it&#8217;s all automatic saves a lot of time for me, especially on sites like <a href="http://webdevnews.net" title="News for Web Developers">Web Developer News</a> where people other than me post articles on a regular basis.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/xavisys-wordpress-plugin-framework/' title='The Xavisys WordPress Plugin Framework'>The Xavisys WordPress Plugin Framework</a></li>
<li><a href='http://xavisys.com/wordpress-plugins/wordpress-twitter-widget/' title='Twitter Widget Pro'>Twitter Widget Pro</a></li>
<li><a href='http://xavisys.com/gpl-themes-love-plugins-suffer/' title='GPL Themes Get Some Love, Plugins Suffer?'>GPL Themes Get Some Love, Plugins Suffer?</a></li>
<li><a href='http://xavisys.com/problem-related-post-plugins/' title='The Problem with Related Post Plugins'>The Problem with Related Post Plugins</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/10-great-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

