<?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>FullThrottle Development</title>
	<atom:link href="http://fullthrottledevelopment.com/feed" rel="self" type="application/rss+xml" />
	<link>http://fullthrottledevelopment.com</link>
	<description>Custom WordPress Plugins</description>
	<lastBuildDate>Wed, 05 Dec 2012 21:03:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>BASH script for viewing unread GMail</title>
		<link>http://fullthrottledevelopment.com/bash-script-for-viewing-unread-gmail</link>
		<comments>http://fullthrottledevelopment.com/bash-script-for-viewing-unread-gmail#comments</comments>
		<pubDate>Tue, 22 Feb 2011 13:11:55 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1161</guid>
		<description><![CDATA[I spend most of my day in BASH lately. When my phone buzzes I know I have new mail but I don&#8217;t want to go check it. Placing the following function in your .bash_profile allows you to quickly view unread email and summaries from terminal by typing &#8216;gmail&#8217; and pressing enter. Thought I would share: [...]]]></description>
				<content:encoded><![CDATA[<p>I spend most of my day in BASH lately. When my phone buzzes I know I have new mail but I don&#8217;t want to go check it. Placing the following function in your .bash_profile allows you to quickly view unread email and summaries from terminal by typing &#8216;gmail&#8217; and pressing enter. Thought I would share:</p>
<pre style='width:600px;display:block;white-space:pre-wrap;'>
function gmail() {
    curl -u yourgamilusername --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '&lt;entry&gt;' '{for (i=2; i&lt;=NF; i++) {print $i}}' | perl -pe 's/^&lt;title&gt;(.*)&lt;\/title&gt;&lt;summary&gt;(.*)&lt;\/summary&gt;.*?&lt;name&gt;(.*?)&lt;\/name&gt;.*$/\n$3\n\t$1\n\t$2/'
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/bash-script-for-viewing-unread-gmail/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NETBibleTagger For WordPress</title>
		<link>http://fullthrottledevelopment.com/netbibletagger-for-wordpress</link>
		<comments>http://fullthrottledevelopment.com/netbibletagger-for-wordpress#comments</comments>
		<pubDate>Wed, 01 Dec 2010 15:31:40 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1147</guid>
		<description><![CDATA[I came across this nice little piece of JS today by Bible.org called NETBible Tagger when an elder at the church I attend requested that I add it to our web site. In short, it &#8220;Automatically Tag and Quote Scripture References on Your Site&#8221;. The developer has done a great job, adding several options to [...]]]></description>
				<content:encoded><![CDATA[<p>I came across this nice little piece of JS today by <a href="http://bible.org">Bible.org</a> called <a href="http://labs.bible.org/NETBibleTagger">NETBible Tagger</a> when an elder at the church I attend requested that I add it to our web site. In short, it &#8220;Automatically Tag and Quote Scripture References on Your Site&#8221;.</p>
<p>The developer has done a great job, adding several options to allow you to configure it as desired. While there are some widgets and modules for other CMS platforms out there, I didn&#8217;t see one for WordPress so I thought I&#8217;d draft one up real quick.</p>
<p>As always, this was created for a client and I don&#8217;t have a ton of time to keep up with most of my plugins right now. If you find a bug, let me know though.</p>
<p><strong>== Changelog ==</strong><br />
* 1.1 &#8211; Minor tweak to make work in all webkit browsers<br />
* 1.0 &#8211; Initial Release</p>
<p><strong>== Installation ==</strong><br />
1. Upload the entire `ft-netbible-tagger` folder to your `/wp-content/plugins/` folder.<br />
2. Go to the &#8216;Plugins&#8217; page in the menu and activate the plugin.<br />
3. Navigate to Settings -&gt; NETBible Tagger in your WordPress dashboard to customize the settings.</p>
<p><strong>== Download ==</strong><br />
You can <a href="http://fullthrottledevelopment.com/wp-content/uploads/2010/12/ft-netbible-tagger.zip">download it here</a> until its accepted at the WordPress plugin repo</p>
<p><strong>== Screenshot ==</strong><br />
<a href="http://fullthrottledevelopment.com/wp-content/uploads/2010/12/Screen-shot-2010-12-01-at-10.41.11-AM.png"><img class="aligncenter size-full wp-image-1152" title="ScreenShot" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/12/Screen-shot-2010-12-01-at-10.41.11-AM.png" alt="" width="840" height="660" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/netbibletagger-for-wordpress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raleigh WPHackathon Photos</title>
		<link>http://fullthrottledevelopment.com/raleigh-wphackathon-photos</link>
		<comments>http://fullthrottledevelopment.com/raleigh-wphackathon-photos#comments</comments>
		<pubDate>Wed, 25 Aug 2010 20:32:32 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1070</guid>
		<description><![CDATA[Photos from last night&#8217;s Hackathon I&#8217;ll be speaking on Custom Post Types and Custom Taxonomies October 5 at the Raleigh WordPress Meetup. Sign up here.]]></description>
				<content:encoded><![CDATA[<p>Photos from last night&#8217;s Hackathon</p>

<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0063' title='DSC_0063'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0063-150x150.jpg" class="attachment-thumbnail" alt="DSC_0063" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0064' title='DSC_0064'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0064-150x150.jpg" class="attachment-thumbnail" alt="DSC_0064" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0065' title='DSC_0065'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0065-150x150.jpg" class="attachment-thumbnail" alt="DSC_0065" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0066' title='DSC_0066'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0066-150x150.jpg" class="attachment-thumbnail" alt="DSC_0066" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0067' title='DSC_0067'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0067-150x150.jpg" class="attachment-thumbnail" alt="DSC_0067" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0068' title='DSC_0068'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0068-150x150.jpg" class="attachment-thumbnail" alt="DSC_0068" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0069' title='DSC_0069'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0069-150x150.jpg" class="attachment-thumbnail" alt="DSC_0069" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0070' title='DSC_0070'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0070-150x150.jpg" class="attachment-thumbnail" alt="DSC_0070" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0071' title='DSC_0071'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0071-150x150.jpg" class="attachment-thumbnail" alt="DSC_0071" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0072' title='DSC_0072'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0072-150x150.jpg" class="attachment-thumbnail" alt="DSC_0072" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0073' title='DSC_0073'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0073-150x150.jpg" class="attachment-thumbnail" alt="DSC_0073" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0074' title='DSC_0074'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0074-150x150.jpg" class="attachment-thumbnail" alt="DSC_0074" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0075' title='DSC_0075'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0075-150x150.jpg" class="attachment-thumbnail" alt="DSC_0075" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0076' title='DSC_0076'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0076-150x150.jpg" class="attachment-thumbnail" alt="DSC_0076" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0077' title='DSC_0077'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0077-150x150.jpg" class="attachment-thumbnail" alt="DSC_0077" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0078' title='DSC_0078'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0078-150x150.jpg" class="attachment-thumbnail" alt="DSC_0078" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0079' title='DSC_0079'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0079-150x150.jpg" class="attachment-thumbnail" alt="DSC_0079" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0080' title='DSC_0080'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0080-150x150.jpg" class="attachment-thumbnail" alt="DSC_0080" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0081' title='DSC_0081'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0081-150x150.jpg" class="attachment-thumbnail" alt="DSC_0081" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0082' title='DSC_0082'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0082-150x150.jpg" class="attachment-thumbnail" alt="DSC_0082" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0083' title='DSC_0083'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0083-150x150.jpg" class="attachment-thumbnail" alt="DSC_0083" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0084' title='DSC_0084'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0084-150x150.jpg" class="attachment-thumbnail" alt="DSC_0084" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0085' title='DSC_0085'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0085-150x150.jpg" class="attachment-thumbnail" alt="DSC_0085" /></a>
<a href='http://fullthrottledevelopment.com/raleigh-wphackathon-photos/dsc_0086' title='DSC_0086'><img width="150" height="150" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/DSC_0086-150x150.jpg" class="attachment-thumbnail" alt="DSC_0086" /></a>

<div style='width:525px;margin-left:25px;padding:10px;background-color:#D3F0FF;border:1px solid #0687C7;'>
<p>I&#8217;ll be speaking on Custom Post Types and Custom Taxonomies October 5 at the Raleigh WordPress Meetup. <a href='http://www.meetup.com/Raleigh-WordPress-Meetup-Group/calendar/14540699/'>Sign up here</a>.</p>
<p><a href='http://www.meetup.com/Raleigh-WordPress-Meetup-Group/calendar/14540699/'><img class="aligncenter size-full wp-image-1096" title="Raleigh WordPress Meetup" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/08/Screen-shot-2010-08-25-at-4.21.17-PM.png" alt="" width="481" height="273" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/raleigh-wphackathon-photos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quickly Add a Single 301 Permanent Redirect to WordPress</title>
		<link>http://fullthrottledevelopment.com/quickly-add-a-single-301-permanent-redirect-to-wordpress</link>
		<comments>http://fullthrottledevelopment.com/quickly-add-a-single-301-permanent-redirect-to-wordpress#comments</comments>
		<pubDate>Tue, 22 Jun 2010 20:28:54 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[301]]></category>
		<category><![CDATA[facepress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[redirect]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1055</guid>
		<description><![CDATA[Alan Knox, the developer of our FacePress plugin that automatically publishes WordPress posts to Facebook recently left FullThrottle to start his own Web Design company. We&#8217;re really excited about where he is going and about the sites that he already has in development. When he left, we mutually agreed to send his FacePress plugin with [...]]]></description>
				<content:encoded><![CDATA[<p>Alan Knox, the developer of our FacePress plugin that automatically publishes WordPress posts to Facebook recently left FullThrottle to start his own <a href='http://knoxwebdev.com'>Web Design</a> company. We&#8217;re really excited about where he is going and about the sites that he already has in development.</p>
<p>When he left, we mutually agreed to send his FacePress plugin with him (its his baby and he&#8217;s best qualified to support and enhance it). In doing so, we needed to create a permanent 301 redirect for the support page but we didn&#8217;t want to install a plugin that included an admin panel, etc. Instead, we elected to put this short code in our theme&#8217;s functions.php file.</p>
<p>Please feel free to take and modify as needed. Only one condition: if you have a way to improve this, please share in the comments!</p>
<pre name='code' class='php'>
// Permanantly Redirect FacePress Plugin
function permanent_301_redirect_facepress() {
	if ( isset( $_SERVER['REQUEST_URI'] ) &#038;&#038; '/facepress-ii' == $_SERVER['REQUEST_URI'] || '/facepress' == $_SERVER['REQUEST_URI'] ) {
		header( 'HTTP/1.1 301 Moved Permanently' );
		wp_redirect( 'http://knoxwebdev.com/facepress-ii' );
		exit();
	}
}
add_action( 'template_redirect', 'permanent_301_redirect_facepress' );

</pre>
<p>Test it by going to <a href='http://fullthrottledevelopment.com/facepress-ii'>http://fullthrottledevelopment.com/facepress-ii</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/quickly-add-a-single-301-permanent-redirect-to-wordpress/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Global 404 for WPMU or WP Multi Sites</title>
		<link>http://fullthrottledevelopment.com/global-404-for-wpmu-or-wp-multi-sites</link>
		<comments>http://fullthrottledevelopment.com/global-404-for-wpmu-or-wp-multi-sites#comments</comments>
		<pubDate>Tue, 22 Jun 2010 15:42:46 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1047</guid>
		<description><![CDATA[I quickly drafted the following code in response to this tweet: I really really really really want a MU universal 404 file.less than a minute ago via TweetDeckShelley KeithshelleyKeith function global_404() { if ( is_404() ){ wp_redirect( 'http://site.com/global404' ); die(); } } add_action( 'template_redirect', 'global_404' ); If placed inside a plugin that is activated on [...]]]></description>
				<content:encoded><![CDATA[<p>I quickly drafted the following code in response to this tweet:<br />
<!-- http://twitter.com/shelleyKeith/statuses/16778715711 --><br />
<style type='text/css'>.bbpBox16778715711 {background:url(http://s.twimg.com/a/1276197224/images/themes/theme20/bg.png) #BF1238;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox16778715711'>
<p class='bbpTweet'>I really really really really want a MU universal 404 file.<span class='timestamp'><a title='Tue Jun 22 15:25:52 +0000 2010' href='http://twitter.com/shelleyKeith/statuses/16778715711'>less than a minute ago</a> via <a href="http://www.tweetdeck.com" rel="nofollow">TweetDeck</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/shelleyKeith'><img src='http://a1.twimg.com/profile_images/828578980/twitterProfilePhoto_normal.jpg' /></a><strong><a href='http://twitter.com/shelleyKeith'>Shelley Keith</a></strong><br/>shelleyKeith</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<pre name='code' class="php">function global_404() {
	if ( is_404() ){
		wp_redirect( 'http://site.com/global404' );
		die();
	}
}
add_action( 'template_redirect', 'global_404' );</pre>
<p>If placed inside a plugin that is activated on every site in your network, the above code will do the following:</p>
<ol>
<li>Determine that the user looked for a page that didn&#8217;t exist.</li>
<li>Redirect to a URL of your choice, regardless of the site that they are currently viewing.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/global-404-for-wpmu-or-wp-multi-sites/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Tool Tips (Titles) from Category and Page lists</title>
		<link>http://fullthrottledevelopment.com/remove-tool-tips-titles-from-category-and-page-lists</link>
		<comments>http://fullthrottledevelopment.com/remove-tool-tips-titles-from-category-and-page-lists#comments</comments>
		<pubDate>Tue, 15 Jun 2010 19:38:38 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[titles]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1038</guid>
		<description><![CDATA[The following code, placed in your WordPress theme&#8217;s functions.php file will strip the title attribute from wp_list_categories, wp_list_pages. The custom menu widgets and code don&#8217;t seem to output titles. This request was made by a client. I have no idea how many people are interested in it, but here it is: function ft_rtt_remove_title_attribute( $output ){ [...]]]></description>
				<content:encoded><![CDATA[<p>The following code, placed in your WordPress theme&#8217;s functions.php file will strip the title attribute from wp_list_categories, wp_list_pages. The custom menu widgets and code don&#8217;t seem to output titles.</p>
<p>This request was made by a client. I have no idea how many people are interested in it, but here it is:</p>
<pre name='code' class="php">
function ft_rtt_remove_title_attribute( $output ){
$output = preg_replace('/title=\"(.*?)\"/','',$output);
return $output;
}
add_filter('wp_list_categories','ft_rtt_remove_title_attribute');
add_filter('wp_list_pages','ft_rtt_remove_title_attribute');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/remove-tool-tips-titles-from-category-and-page-lists/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plugin to Fold the Category Checklist Tree in WordPress</title>
		<link>http://fullthrottledevelopment.com/ft-fold-category-checklist-tree</link>
		<comments>http://fullthrottledevelopment.com/ft-fold-category-checklist-tree#comments</comments>
		<pubDate>Fri, 11 Jun 2010 15:27:54 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[categories]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1031</guid>
		<description><![CDATA[The category (as well as custom taxonomy) boxes on the write / edit post screen in WordPress can get pretty long if you have a large number of categories with children categories. This plugin allows you to hide and expand the children categories from view to make navigation a little less complicated. Goes great with [...]]]></description>
				<content:encoded><![CDATA[<p>The category (as well as custom taxonomy) boxes on the write / edit post screen in WordPress can get pretty long if you have a large number of categories with children categories.</p>
<p>This plugin allows you to hide and expand the children categories from view to make navigation a little less complicated.</p>
<p>Goes great with <a href="http://scribu.net/">Scribu&#8217;s</a> Category Checklist Tree plugin <a href="http://wordpress.org/extend/plugins/category-checklist-tree/">found here</a>.</p>
<p><a href="http://fullthrottledevelopment.com/wp-content/uploads/2010/06/ft-fold-category-checklist-tree.zip">Download it here</a> until I find time to submit it to the repository.</p>
<p>Here&#8217;s a screenshot of it in action on a custom taxonomy I happen to have created it for:</p>
<p><img class="alignleft size-full wp-image-1033" title="Example" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/06/Screen-shot-2010-06-11-at-11.17.40-AM.png" alt="" width="301" height="315" /></p>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/ft-fold-category-checklist-tree/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Contributing to WordPress Makes You a Better Developer</title>
		<link>http://fullthrottledevelopment.com/contributing-to-wordpress-makes-you-a-better-developer</link>
		<comments>http://fullthrottledevelopment.com/contributing-to-wordpress-makes-you-a-better-developer#comments</comments>
		<pubDate>Mon, 24 May 2010 20:19:38 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1015</guid>
		<description><![CDATA[I have been a passive member of the WordPress developer community for about two years now. Understandably, my familiarity with WordPress and my efficiently in developing for that platform have both increased with time. My first real tipping point in efficient development came with a better understanding of how the wp-content folder interacts with the [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1020" title="trac-logo" src="http://fullthrottledevelopment.com/wp-content/uploads/2010/05/trac-logo.png" alt="trac-logo" width="84" height="80" /> I have been a passive member of the WordPress developer community for about two years now. Understandably, my familiarity with WordPress and my efficiently in developing for that platform have both increased with time.</p>
<p>My first real tipping point in efficient development came with a better understanding of how the wp-content folder interacts with the rest of the core files. This was ground breaking for me and it almost immediately &#8216;powered up&#8217; my WordPress related development.</p>
<p>Over the past several months I have been experiencing a second surge in both my level of understanding and my efficiency in WordPress development. This is directly related to my involvement in the WordPress 3.0 development cycle. I wanted to quickly share four aspects of this process that have helped me increase efficiency in my overall WordPress development. It&#8217;s my hope that this encourages you to jump in and contribute as well.</p>
<p><strong>Familiarity with new tools and technologies<br />
</strong> WordPress.org manages their code base in a web application named Trac. Trac is an opensource software that integrates SVN and ticket based bug reporting. You can view the WordPress installation for the core files here: http://core.trac.wordpress.org. Although I had a basic understanding of what Trac was and knew where it existed online, my interactions with it were in the single digit range (and less than 1).</p>
<p><span style="text-decoration: underline;">Trac</span><br />
It is impossible to seriously contribute to WordPress core as a developer without diving into Trac. It was intimidating for me to do so at first, but has proven well worth the learning curve it took to become comfortable with the process of creating tickets, creating patches, and submitting them for review and possible inclusion into WordPress.</p>
<ul>
<li>Taking the time to understand how the WordPress community uses Trac in our development process has increased my efficiency in the following ways:</li>
<li>Comments in the individual tickets help me understand why specific changes were made in the code.</li>
<li>Milestones help me to better judge what features and bug fixes will be included in future releases.</li>
<li>The ability to browse existing tickets and submitted patches help me to determine legitimate bugs and discover possible solutions.</li>
<li>The ability to navigate revisions in an intelligent GUI using the power of Annotate helps me track down unresolved bugs more quickly.</li>
</ul>
<p><span style="text-decoration: underline;">SVN</span><br />
Although I was already familiar with SVN due to the plugin repository and other non-WordPress related projects, contributing to WP core has substationaly increased the frequency at which I find myself using it. Increased use inevitably leads to increased knowledge and efficiency with any tool.</p>
<p><strong>A better awareness of WordPress community</strong><br />
Possibly the greatest benefit I have gleaned from my involvement in contributing to WordPress is a greater awareness of who the WordPress community includes. Prior to contributing to comments and patches on Trac and finding a suitable IRC client, I didn&#8217;t know who <a href="http://www.andrewnacin.com/">Andrew Nacin</a>, <a href="http://ptahdunbar.com/">Ptah Dunbar</a>, <a href="http://austinmatzko.com/">Austin Matzko</a> even existed&#8230; let alone understand their contributions to WordPress. These are only a few names that immediately come to my mind&#8230; several more exist.</p>
<p>Its funny how you think you know &#8216;who&#8217; a community is because you&#8217;re following a couple mailing lists or a couple of opinionated talkers on Twitter. Getting plugged into the development process has opened me up to a whole new world of very intelligent individuals that I continue to learn from by listening in on their conversations. My coding has become more efficient due to the little tidbits of information I skim off of their public discussions every day.</p>
<p><strong>Familiarity with More of the Core Functionality</strong><br />
Troubleshooting your own code inevitably leads you to a greater understanding of the code surrounding it and supporting it… troubleshooting somebody else&#8217;s code multiplies this effect several times over. I&#8217;m pretty familiar with the WordPress core files, but diving into Trac and hunting down bugs that can only be reproduced by a remote set of users have taken me to places in the codebase that I never would have found otherwise. I can&#8217;t tell you the number of times I&#8217;ve been hunting down a specific bug and ran across an amazing function that I was previously unaware existed. Finding all these hidden jewels and obtaining a better understanding of how different functions work within WordPress has largely increased my development on a day to day basis.</p>
<p><strong>Coding Standards</strong><br />
I&#8217;m pretty anal about the way my code looks. I try to document as much as possible while I develop it. Additionally, all my code is formatted the same way to increase comprehension if I have to dive back into a file months or years after initially creating it. With this being said, I still have several habits that are less than productive in the long run&#8230; my guess is that you&#8217;re just as lazy.</p>
<p>WordPress has a guide sheet dictating what coding standards should be followed when contributing to the core software. Many of these standards are nothing more than the lead developers collaborative opinions. The standards are not &#8216;right&#8217; or &#8216;wrong&#8217; in any global or authoritative manner… rather, they&#8217;re simply the way that WordPress has determined to standardize its code base.</p>
<p>This has been helpful to me because it has encouraged me to clean up some less than standard areas in my own code. Once you work on a couple large patches it becomes natural to start applying those standards to your own work. Again, I&#8217;m not suggesting that you have to accept these standards as rule in your personal development… but I am reporting that once I got past the basic control issues I had with not doing things the way I previously did them, adopting many of the WordPress coding standards has actually increased my overall efficiency… a result that I am always happy to discover.</p>
<p><strong>Conclusion and Resources</strong><br />
When I first ventured into the world of WordPress Trac it was with a very utilitarian purpose… I had a problem and I needed it fixed. Two months later, I&#8217;m still there and its extremely addictive. Contributing to WordPress core has introduced me to new technologies, new friends, and it continues to increase my efficiency in day to day development. If you&#8217;re a WordPress developer and you&#8217;ve yet to jump into core contribution, I would highly encourage you to start today. Here are some resources to get you started:</p>
<ul>
<li><a href="http://core.trac.wordpress.org">WordPress Trac</a></li>
<li><a href="http://codex.wordpress.org/Reporting_Bugs">Trac Page on Codex</a></li>
<li><a href="http://markjaquith.wordpress.com/2005/11/02/my-wordpress-toolbox/">Mark Jaquith&#8217;s WordPress Toolbox (Mac/Linux)</a></li>
<li><a href="http://blog.ftwr.co.uk/archives/2005/11/03/windows-wordpress-toolbox/">Peter Westi&#8217;s WordPress Toolbox (Windows)</a></li>
<li><a href="http://codex.wordpress.org/WordPress_Coding_Standards">WordPress Coding Standards</a></li>
<li><a href="http://twitter.com/nacin/wordpress-committers">Twitter list of Core Commiters by Andrew</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/contributing-to-wordpress-makes-you-a-better-developer/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Remove Username Character Limit from WordPress Multi-Site / Multi-User</title>
		<link>http://fullthrottledevelopment.com/remove-username-character-limit-from-wordpress-multi-site-multi-user</link>
		<comments>http://fullthrottledevelopment.com/remove-username-character-limit-from-wordpress-multi-site-multi-user#comments</comments>
		<pubDate>Thu, 13 May 2010 16:30:04 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[character limit]]></category>
		<category><![CDATA[mu-plugins]]></category>
		<category><![CDATA[username]]></category>
		<category><![CDATA[wpmu]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=1000</guid>
		<description><![CDATA[I&#8217;ve been working on a pretty complex project with WordPress MultiUser (soon to be MultiSite). This client needs several sites with hundreds of users divided into each site. I will be integrating the backend authentication with LDAP and discovered that a small percentage of their users have usernames with fewer than four characters. WordPress MU [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been working on a pretty complex project with WordPress MultiUser (soon to be MultiSite). This client needs several sites with hundreds of users divided into each site. I will be integrating the backend authentication with LDAP and discovered that a small percentage of their users have usernames with fewer than four characters.</p>
<p>WordPress MU currently has a minimum limit of four characters set in its core. Unfortunately, this limit is still imposed in WordPress MS 3.0. The limit is probably there because usernames were used for the domain too and WP-Devs didn&#8217;t want to conflict with country codes. But that is not an issue for my client, so I wanted to kill the limit (without touching core).</p>
<p>Basically, I wrote a quick mu-plugin that unset the error message when someone tries to add a user with fewer than four characters. Doing this removes any halts that would stop processing the new user. Here is my code:</p>
<pre name="code" class="php">function remove_username_char_limit($result) {	
  if ( is_wp_error( $result[ 'errors' ] ) &#038;&#038; !empty( $result[ 'errors' ]->errors ) ) {

    // Get all the error messages from $result
    $messages = $result['errors']->get_error_messages();
    $i = 0;
    foreach ( $messages as $message ) {

      // Check if any message is the char limit message
      if ( 0 == strcasecmp("Username must be at least 4 characters", $message)) {
        // Unset whole 'user_name' error array if only 1 message exists
        // and that message is the char limit error
        if ( 1 == count($messages) ) {
          unset( $result['errors']->errors['user_name'] );
        } else {
          // Otherwise just unset the char limit message
          unset( $result['errors']->errors['user_name'][$i] );
        }
      }	

      $i++;
    }
  }

  return $result;	
}
add_action('wpmu_validate_user_signup', 'remove_username_char_limit');</pre>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/remove-username-character-limit-from-wordpress-multi-site-multi-user/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Embed an RSS/ATOM Feed into your WordPress Website</title>
		<link>http://fullthrottledevelopment.com/embed-an-rss-or-atom-feed-into-your-wordpress-website</link>
		<comments>http://fullthrottledevelopment.com/embed-an-rss-or-atom-feed-into-your-wordpress-website#comments</comments>
		<pubDate>Mon, 26 Apr 2010 23:00:48 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://fullthrottledevelopment.com/?p=936</guid>
		<description><![CDATA[One of our clients needs to pull an RSS feed from a real estate virtual tour provider and display it on one of their pages. I looked into a few plugins and could not find one that was easily customizable. After a quick google search I discovered that WordPress has some built-in functions based off [...]]]></description>
				<content:encoded><![CDATA[<p>One of our clients needs to pull an RSS feed from a real estate virtual tour provider and display it on one of their pages. I looked into a few plugins and could not find one that was easily customizable. After a quick google search I discovered that WordPress has some built-in functions based off of <a href="http://simplepie.org/">SimplePie</a>&#8216;s easy to use RSS API.</p>
<p>We also needed to customize the output a little bit, which required me to rely on PHP&#8217;s preg_match and preg_replace functions. Here is some simple example for embedding a feed into your WordPess website:</p>
<pre name="code" class="php">&lt;?php
include_once(ABSPATH.WPINC.'/rss.php'); // path to include script
$feed = fetch_feed('http://url.to.feed/'); // specify feed url
?&gt;

&lt;?php
if (!is_wp_error($feed)) : 
	$rss_items = $feed->get_items(); 
?&gt;

<ul>
	// Loop through each feed item and display each item as a hyperlink.
	&lt;?php foreach ( $rss_items as $item ) : ?&gt;

	<li>
		&lt;?php echo $item->get_title(); ?&gt;
	</li>

	&lt;?php endforeach; ?&gt;
</ul></pre>
<p>Check out the <a href="http://codex.wordpress.org/Function_Reference/fetch_feed">codex</a> for more information about WordPress&#8217; function feed_fetch()&#8230; and with a little extra coding you can format the feed any way you like, see our <a href="http://www.nccapitalhomes.com/featured-homes">example</a> at NC Capital Homes.</p>
]]></content:encoded>
			<wfw:commentRss>http://fullthrottledevelopment.com/embed-an-rss-or-atom-feed-into-your-wordpress-website/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
