<?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>Fuel Your Coding &#187; Plugins / Add-Ons</title>
	<atom:link href="http://fuelyourcoding.com/category/devtools/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://fuelyourcoding.com</link>
	<description></description>
	<lastBuildDate>Mon, 09 Aug 2010 14:40:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Set Rails Logging on Fire</title>
		<link>http://fuelyourcoding.com/set-rails-logging-on-fire/</link>
		<comments>http://fuelyourcoding.com/set-rails-logging-on-fire/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 17:10:14 +0000</pubDate>
		<dc:creator>Jerod Santo</dc:creator>
				<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=842</guid>
		<description><![CDATA[Rails 2.3+ and Rails 3 rely on Rack, a minimal (and awesome) interface between Ruby and webservers. This has many advantages, one of which is the ability to easily swap Rack applications (middlewares) in &#038; out of your Rails app. Modularity FTW!
One fun (and useful) example of a Rack middleware is a Firebug logger written [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/set-rails-logging-on-fire/">Set Rails Logging on Fire</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Rails 2.3+ and Rails 3 rely on <a href="http://rack.rubyforge.org/">Rack</a>, a minimal (and awesome) interface between Ruby and webservers. This has many advantages, one of which is the ability to easily swap Rack applications (middlewares) in &#038; out of your Rails app. Modularity FTW!</p>
<p>One fun (and useful) example of a Rack middleware is a Firebug logger written by <a href="http://sjjdev.com">Simon Jefford</a> for the <a href="http://coderack.org/">CodeRack</a> competition. This middleware allows you to send arbitrary messages directly to <a href="http://getfirebug.com/">Firebug</a>. Why? Since you&#8217;re already debugging much of your Rails app in a browser anyway, sending debug output to your browser&#8217;s console (instead of tailing a log file) makes a lot of sense.</p>
<p><em>NOTE: FirebugLogger plays nice with WebKit&#8217;s Web Inspector as well.</em></p>
<p>Simon also released a <a href="http://github.com/simonjefford/rack_firebug_logger">Rails plugin</a> that you can install to set up the middleware for you, but it&#8217;s more fun (and informative) to set it up yourself. Here&#8217;s how:</p>
<h2>Setup</h2>
<p>The goal is to be able to send arbitrary messages to Firebug from any controller or view.</p>
<p>Rails autoloads (and namespaces) any code placed in the <tt>lib</tt> directory, so that is where we&#8217;ll place our FirebugLogger code. Grab the code from <a href="http://gist.github.com/252575">my gist</a>, which is a fork of <a href="http://gist.github.com/210069">Simon&#8217;s original</a> with minor improvements, and place it inside your Rails app in:</p>
<pre class="brush: plain;">
lib/rack/firebug_logger.rb
</pre>
<p>Rails will load the code for us, but we need to manually activate the middleware. Since this bit of code is only useful during development, we&#8217;ll load it up in that environment only.</p>
<pre class="brush: ruby;">
# config/environments/development.rb
# ... other stuff ...
config.middleware.use ::Rack::FirebugLogger
</pre>
<h2>Using FirebugLogger</h2>
<p>Using the middleware is pretty straight forward. It will process an array of arrays, each of which has a log level and a message. Add a single line like the one below to an existing controller action and load up the page:</p>
<pre class="brush: ruby;">
# app/controllers/posts_controller.rb
class PostsController &lt; ApplicationController
  def index
    @posts = Post.all
    request.env['firebug.logs'] = [[:info, &quot;hello from rack!&quot;]]
  end
  # ... other actions ...
end
</pre>
<p>Open Firebug and you should see &#8220;hello from rack!&#8221; glaring back at you. You can do the same thing in views:</p>
<pre class="brush: ruby;">
# app/views/posts/index.html.erb
&lt;% request.env['firebug.logs'] = [[:warn, &quot;inside a view!&quot;]] %&gt;
</pre>
<h2>Adding a Helper</h2>
<p>Using the logger like this is a bit tedious, and it&#8217;s not easy to create multiple messages for a single request. Let&#8217;s wrap the functionality up into a method that we can call. This method should be placed in the application controller so that all other controllers inherit it.</p>
<pre class="brush: ruby;">
# app/controllers/application_controller.rb
class ApplicationController &lt; ActionController::Base
# ... other stuff ...
helper_method :firebug

  private

  def firebug(message,type = :debug)
    request.env['firebug.logs'] ||= []
    request.env['firebug.logs'] &lt;&lt; [type.to_sym, message.to_s]
  end
end
</pre>
<p>This method will initialize an empty array the first time it is called and then push new messages on to the array on subsequent calls. Notice that it calls <tt>to_s</tt> on the <tt>message</tt> variable before passing it on. This means you can send the method a string or any object that responds to <tt>to_s</tt> and it will just work. Specifying a log type is optional, the method is private and it is explicitly added as a <tt>helper_method</tt> so that you can access it from views as well.</p>
<p>Now writing logs to Firebug is as easy as:</p>
<pre class="brush: ruby;">
firebug &quot;woop woop!&quot;
# optionally specify a log level
firebug &quot;it's a trap!&quot;, :warning
</pre>
<p>Here are a few ideas of helpful messages to send to Firebug:</p>
<pre class="brush: ruby;">
# inspect the attributes of an object
firebug @posts.first.inspect
# dump the session
firebug session
# check a user's roles
firebug current_user.roles.inspect
</pre>
<p>I highly encourage you to try this in one of your Rails apps. It has proven a useful addition to my toolkit. Let me know how it works for you by leaving a comment!</p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/set-rails-logging-on-fire/">Set Rails Logging on Fire</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/set-rails-logging-on-fire/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Table of Contents jQuery Plugin</title>
		<link>http://fuelyourcoding.com/table-of-contents-jquery-plugin/</link>
		<comments>http://fuelyourcoding.com/table-of-contents-jquery-plugin/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 17:35:12 +0000</pubDate>
		<dc:creator>Douglas Neiner</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[table of contents]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=578</guid>
		<description><![CDATA[This is just a short Friday post to announce a new jQuery plugin for you to use, fork and adapt for your projects! This plugin takes either a part of a web page, or the entire page, and builds a table of contents based on the H1 through H6 tags. Additionally, it can add &#8220;Top&#8221; links [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/table-of-contents-jquery-plugin/">Table of Contents jQuery Plugin</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is just a short Friday post to announce a new jQuery plugin for you to use, <a href="http://github.com/dcneiner/TableOfContents/tree/master">fork</a> and adapt for your projects! This plugin takes either a part of a web page, or the entire page, and builds a table of contents based on the H1 through H6 tags. Additionally, it can <a href="/scripts/toc/examples/example2.html">add &#8220;Top&#8221; links to the headers</a>, be styled as nested &lt;ol&gt; or &lt;ul&gt; list, be styled as a straight list of links, and it even supports a <a href="/scripts/toc/examples/example3.html">proportionate spacing style </a>that matches the actual distance between the headers.</p>
<div class="post_buttons"><a href="http://fuelyourcoding.com/scripts/toc/jquery.toc.zip"><img class="size-full wp-image-24 alignnone" style="margin-left: 30px" src="http://fuelyourcoding.com/files/download-button.gif" alt="Download zipped archive" width="229" height="68" /></a><a href="http://fuelyourcoding.com/scripts/toc/"><img class="size-full wp-image-25 alignnone" style="margin-left: 30px" src="http://fuelyourcoding.com/files/example-button.gif" alt="View the example" width="229" height="68" /></a></p>
</div>
<p>All this was inspired yesterday by Janko&#8217;s article yesterday, &#8220;<a href="http://www.jankoatwarpspeed.com/post/2009/08/20/Table-of-contents-using-jQuery.aspx">Automatically generate table of contents using jQuery</a>.&#8221; Start by reading his article to get a background on the topic, then head over to the <a href="/scripts/toc/index.html">documentation page</a> for the download link as well as three different examples of usage.</p>
<p>This plugin is version 0.8, so please comment on any bugs you find. Feel free to <a href="http://github.com/dcneiner/TableOfContents/tree/master">follow or fork the project on github</a> as well! Keep in mind I didn&#8217;t spend ages getting the CSS on the example pages to be cross-browser ready, though the plugin itself has full cross-browser support.</p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/table-of-contents-jquery-plugin/">Table of Contents jQuery Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/table-of-contents-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>In-Field Labels: A Better Way + jQuery Plugin</title>
		<link>http://fuelyourcoding.com/in-field-labels/</link>
		<comments>http://fuelyourcoding.com/in-field-labels/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 14:45:18 +0000</pubDate>
		<dc:creator>Douglas Neiner</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[textarea]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=465</guid>
		<description><![CDATA[Last week I was dealing with a unique problem. I needed to set focus to a username field, but the field had an in-field label. The script was set to clear out the helper text (label) when the user entered the field. Hmm&#8230;. that won&#8217;t work! I remember seeing a nicer implementation on Mobile Me [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/in-field-labels/">In-Field Labels: A Better Way + jQuery Plugin</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Last week I was dealing with a unique problem. I needed to set focus to a username field, but the field had an in-field label. The script was set to clear out the helper text (label) when the user entered the field. Hmm&#8230;. that won&#8217;t work! I remember seeing a nicer implementation on <a href="http://me.com" target="_blank">Mobile Me</a> for their login. Basically the label stays over the input element even after it had focus. Only after typing began did it totally disappear. Inspired by that implementation, today I am releasing the In-Field Labels jQuery Plugin so you can use this new method as well. The plugin is open source and available for <a href="http://fuelyourcoding.com/scripts/infield/InFieldLabels.zip">download</a> or on <a href="http://github.com/dcneiner/In-Field-Labels-jQuery-Plugin/tree">Github</a>. If you can make it better, please fork it and send a pull request when you have finished your changes!</p>
<div class="post_buttons"><a href="http://fuelyourcoding.com/scripts/infield/InFieldLabels.zip"><img class="size-full wp-image-24 alignnone" style="margin-left: 30px" src="http://fuelyourcoding.com/files/download-button.gif" alt="Download zipped archive" width="229" height="68" /></a><a href="http://fuelyourcoding.com/scripts/infield/"><img class="size-full wp-image-25 alignnone" style="margin-left: 30px" src="http://fuelyourcoding.com/files/example-button.gif" alt="View the example" width="229" height="68" /></a></div>
<h2><span style="font-weight: normal">Benefits</span></h2>
<ul>
<li>The input element or textarea never really has content, so validation can proceed without first checking for the field value.</li>
<li>It uses standard markup for form elements</li>
<li>It is under 1KB when minified and gzipped</li>
<li>It takes one line of jQuery code to implement.</li>
<li>The overlay can contain images and other HTML elements</li>
<li>Its compatible with all modern browsers (And even IE6, the &#8220;not-so-modern&#8221; browser).</li>
</ul>
<h2><span style="font-weight: normal">Issues</span></h2>
<p><span style="font-weight: normal">Like all in-field label implementations, this plugin still has problems when the browser tries to pre-fill the fields. When Safari and Firefox pre-fills the fields for the user, it never sends a &#8220;change&#8221; event to hook into. You can get around this by adding autocomplete=&#8221;off&#8221; to the input elements, but this is undesirable for longer forms. I am looking for a fix, but for now, this plugin is still usable for shorter forms!</span></p>
<h2><span style="font-weight: normal">Quick Overview</span></h2>
<p><span style="font-weight: normal">The effect is achieved by overlaying the label element over the input, password, or textarea and making it semi-transparent when the field has focus. Once a keystroke is detected the label disappears entirely until the field loses focus. If it is empty on blur, then the label fades back in. Clicking on the label auto sets focus on the field.</span></p>
<h2><span style="font-weight: normal">Download It</span></h2>
<p><span style="font-weight: normal">Head over to the <a href="http://fuelyourcoding.com/scripts/infield/">Sample Page</a> to read more about the plugin and to download it. Let me know your thoughts and suggestions in the comments below!</span></p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/in-field-labels/">In-Field Labels: A Better Way + jQuery Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/in-field-labels/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>Plugin Review: Wordpress Console</title>
		<link>http://fuelyourcoding.com/plugin-review-wordpress-console/</link>
		<comments>http://fuelyourcoding.com/plugin-review-wordpress-console/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 17:38:41 +0000</pubDate>
		<dc:creator>Douglas Neiner</dc:creator>
				<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=439</guid>
		<description><![CDATA[This is not your average plugin for the weak of heart. This plugin is for hardcore WordPress developers who need that extra interaction with the code. WordPress Console provides exactly that: A console interface into the WordPress back end. It provides interactive testing and coding against the entire WP core, complete with all active plugins. [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/plugin-review-wordpress-console/">Plugin Review: Wordpress Console</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is not your average plugin for the weak of heart. This plugin is for hardcore WordPress developers who need that extra interaction with the code. WordPress Console provides exactly that: A console interface into the WordPress back end. It provides interactive testing and coding against the entire WP core, complete with all active plugins. You can quickly test small portions of your plugin without the continual &#8220;Save &gt; Refresh &gt; <tt>print_r($var); die();</tt> &gt; Refresh&#8221; cycle we get so accustomed to using.</p>
<p><a href="http://wordpress.org/extend/plugins/wordpress-console/" target="_blank">Download Wordpress Console from Wordpress.org</a></p>
<p>As as a WordPress Developer myself, I am not easily wowed by plugins. If they work, I often will use them. If they don&#8217;t, I build my own. That is not the case with this plugin! I was truly stunned by the features this plugin boasted. Lets look at a few:</p>
<h2>Interactive Prompt</h2>
<p>In its most basic usage, it works like you would expect a console app to function. You can type any valid line of php, and see the response.</p>
<pre class="brush: php;">
&gt;&gt; 'hi';
 =&gt; hi
&gt;&gt; print 'hi';
  hi
</pre>
<p>It supports variable placement and references:</p>
<pre class="brush: php;">
&gt;&gt; $greetings = 'Hello';
 =&gt; Hello
&gt;&gt; print $greetings;
  Hello
</pre>
<p>Finally, it supports multi-line statements:</p>
<pre class="brush: php;">
&gt;&gt; $coolness = true;
 =&gt; true
&gt;&gt; if( true == $coolness ) {
.. echo 'This is cool!';
.. }
  This is cool!
</pre>
<h2>Command History</h2>
<p>Just like in DOS or Mac/&#8217;nix Terminal, hitting the up arrow retrieves the previous command for reuse. Hitting it again gets the previous command, and so forth. Hitting down cycles through the history states the other direction.</p>
<h2>Quick Shortcuts</h2>
<ul>
<li><strong>reload</strong>, or <strong>r</strong> and enter resets the environment</li>
<li><strong>clear</strong>, or <strong>c</strong> and enter clears the console screen</li>
<li><strong>help</strong>, or <strong>?</strong> prints out the help text.</li>
</ul>
<h2>Tab Completion</h2>
<p>Ok, so I saved to coolest feature to describe last: Tab Completion. This is what makes this console so incredibly useful. Want a quick listing of all the WordPress <tt>the_</tt>  functions? Just type <tt>the_</tt> and hit tab. The console quickly prints out all the functions available (even those from plugins) starting with <tt>the_</tt>.</p>
<p>Forget a specific WordPress constant? Type <tt>WP_</tt> and hit tab.</p>
<p>You really have to try it out for yourself to see how much this will affect your development with WordPress.</p>
<h2>Behind the Plugin: Jerod Santo</h2>
<p><img class="size-full wp-image-440" title="Jerod Santo" src="http://fuelyourcoding.com/files/jerod.jpg" alt="Jerod Santo" width="600" height="150" /></p>
<p>I was so impressed with this plugin, I got on a Skype call with its creator, Jerod Santo. Jerod is a super nice guy that is just really good at what he does. He started in computer scripting and gradually moved into heavier programming. He is a Ruby, Rails, and Sinatra guy that also does a lot of development with WordPress.</p>
<p>Having gotten used to the Rails console, and IRB for Ruby, Jerod wanted something similar for WordPress. The CLI for PHP just didn&#8217;t cut it for him. He searched the internet for a tool like this that he was sure someone had built, only to find that it didn&#8217;t exist yet! After doing without for a bit longer, he decided to give it a shot, and Wordpress Console was born.</p>
<p>He has since gotten some contributions from others on <a href="http://github.com/sant0sk1/wordpress-console/tree/master" target="_blank">Github</a> (I actually contributed a few small changes myself!).</p>
<h2>About Little More About Jerod</h2>
<p>I asked Jerod what he does for fun, and the type of hobbies he enjoys. Jerod described himself as a Christian who enjoys church activities; a family guy who likes spending time with his wife and little girl; and a Geek, who enjoys extremely geeky things.</p>
<p>Being self-taught, Jerod is constantly learning and teaching himself new technologies. He loves jQuery, Ruby, WordPress, and is dabbling in iPhone App development.</p>
<p>I really appreciate Jerod for building such a great plugin, and for taking the time to give me some background into its creation and use.</p>
<p>Be sure to <a href="http://blog.jerodsanto.net/" target="_blank">subscribe to his blog</a>,  and follow <a href="http://twitter.com/sant0sk1" target="_blank">Jerod on twitter</a> and <a href="http://github.com/sant0sk1" target="_blank">on Github</a>.</p>
<h2>Video Overview</h2>
<p>Here is a quick screencast Jerod made available on Vimeo. It does not demonstrate tab completion, but it is a great watch nonetheless.</p>
<p><object width="600" height="345"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5300607&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5300607&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="345"></embed></object>
<p><a href="http://vimeo.com/5300607">WordPress Console Introduction</a> from <a href="http://vimeo.com/sant0sk1">Jerod Santo</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<h2>A Word of Caution</h2>
<p><strong>Read the disclaimer when installing and ONLY use this plugin in development. Though steps have been taken to make this plugin secure, Jerod still warns that using this plugin in production could create a huge security problem.</strong></p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/plugin-review-wordpress-console/">Plugin Review: Wordpress Console</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/plugin-review-wordpress-console/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>WordPress hack: Adding a bio block to a post</title>
		<link>http://fuelyourcoding.com/wordpress-hack-adding-a-bio-block-to-a-post/</link>
		<comments>http://fuelyourcoding.com/wordpress-hack-adding-a-bio-block-to-a-post/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 18:10:55 +0000</pubDate>
		<dc:creator>Gaya Kessler</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[bio]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=217</guid>
		<description><![CDATA[If you have multiple writers on your blog or if you are accepting guest articles and you want to give this person some exposure, a little box containing a short bio will do perfectly.
The only problem is that bios are not standard in WordPress. This article will tell you how to hack your own bio [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/wordpress-hack-adding-a-bio-block-to-a-post/">WordPress hack: Adding a bio block to a post</a></p>
]]></description>
			<content:encoded><![CDATA[<p>If you have multiple writers on your blog or if you are accepting guest articles and you want to give this person some exposure, a little box containing a short bio will do perfectly.</p>
<p>The only problem is that bios are not standard in WordPress. This article will tell you how to hack your own bio box into WordPress without using a single plugin! A great way to start developing in WordPress.</p>
<h2>Hack your template</h2>
<p>First thing we need to do is to hack a file in your theme&#8217;s template. The file we want to edit is called &#8220;single.php&#8221; in most WordPress themes.</p>
<p>Open up this file.</p>
<p>This is the template file that shows a single post. Typically the template file has the following code somewhere &#8220;the_content()&#8221; looks for this.<br />
Beneath this line of code paste the following:</p>
<pre class="brush: php;">
&lt;?php
if (get_post_custom_values(&quot;bio&quot;)) {
?&gt;

&lt;div class='writer_bio'&gt;
&lt;img src='&lt;?php the_author_aim(); ?&gt;' alt='' /&gt;
&lt;?php the_author_description(); ?&gt;
&lt;/div&gt;
&lt;?php
}
?&gt;
</pre>
<h2>Adding a bio to a writer</h2>
<p>We now want to add / edit writers, you can create them in the user panel of WordPress. I am guessing you are already using this to display the author&#8217;s name on your blog. We can use the fields available per user to set the bio.</p>
<p>Go and edit an existing user that has an article posted (You can change the user that posted the article when you edit an article.)<br />
Now fill in the &#8220;Biographical Info&#8221; text area with the HTML to go into the bio block.</p>
<p>My bio, for example is: &#8220;Gaya Kessler is a 21 year old web developer writing about a kinds of thing. He&#8217;s the editor of &lt;a href=&#8221;http://www.fuelyourcoding.com&#8221;&gt;Fuel Your Coding&lt;/a&gt; and owner of &lt;a href=&#8221;http://www.gayadesign.com&#8221;&gt;Gaya Design&lt;/a&gt;. You can also &lt;a href=&#8221;http://www.twitter.com/gayadesign&#8221;&gt;catch him on twitter&lt;/a&gt;.&#8221;</p>
<p>To add the avatar we need to fill in the &#8220;aim&#8221; field. I am not using this field anywhere in the theme, but now I am going to use it in the bio. Put the absolute path to the image here, eg: &#8220;http://fuelyourcoding.com/files/writer-rob.png&#8221;.</p>
<p>Now all there is left to do is enable the bio on a post. To do this you only need to add a custom field to a post.<br />
Go to a post you want to add bio to and create a name custom field called &#8220;bio&#8221; and give it the value &#8220;1&#8243;.</p>
<p>If all went well the bio should now be visible in that post!</p>
<h2>Is that all?</h2>
<p>Jep! The hacking is done.</p>
<p>You might want to add some styling though, to make it more appealing to the eye.</p>
<p>Good luck with this easy hack!</p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/wordpress-hack-adding-a-bio-block-to-a-post/">WordPress hack: Adding a bio block to a post</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/wordpress-hack-adding-a-bio-block-to-a-post/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Getting Started Writing WordPress Plugins</title>
		<link>http://fuelyourcoding.com/getting-started-writing-wordpress-plugins/</link>
		<comments>http://fuelyourcoding.com/getting-started-writing-wordpress-plugins/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:41:29 +0000</pubDate>
		<dc:creator>Douglas Neiner</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=189</guid>
		<description><![CDATA[Why WordPress?
For those who use WordPress on a daily basis, this is a no-brainer. However, as everyone seems to have their own pet CMS, it is sometimes hard for them to understand why anyone would use WordPress for something other than just a blogging platform. I am sure there are many pros and cons, but [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/getting-started-writing-wordpress-plugins/">Getting Started Writing WordPress Plugins</a></p>
]]></description>
			<content:encoded><![CDATA[<h2>Why WordPress?</h2>
<p>For those who use WordPress on a daily basis, this is a no-brainer. However, as everyone seems to have their own pet CMS, it is sometimes hard for them to understand why anyone would use WordPress for something other than just a blogging platform. I am sure there are many pros and cons, but I will just give my personal answer: I feel very comfortable using and pushing the limits of WordPress for projects because of the huge install and developer base, the active development work being done, the amount of documentation available to my client, and the extensibility and integration my code has with the WordPress core.</p>
<h2>Why WordPress Plugins?</h2>
<p>A WordPress plugin can be a single PHP file or a complex collection of PHP, CSS, JS and images all used together to add new or enhanced functionality to the WordPress core.</p>
<p>Since almost everything you can put in a plugin you can also just dump into a functions.php file in your theme directory, why should you bother building a plugin? Here are a few reasons I find important:</p>
<ul>
<li>Plugins are focused pieces of code structured to accomplish one task. The very nature of a plugin makes it easy to maintain.</li>
<li>Because of the modular nature of a plugin, it makes your code instantly reusable on other projects (Depending on your code ownership agreements with your clients, of course.)</li>
<li>If over time it grows into a truly helpful collection of code, having it in a plugin allows you to release it to the public quickly and easily.</li>
<li>Having large chunks of functionality split into plugins makes changes to the PHP and related files easier to make later.</li>
</ul>
<p>I think WordPress plugins should be especially important to anyone running a web application that could benefit from direct integration into the WordPress platform. This could include a WordPress sidebar widget that pulls information from your website, a shortcode for quickly embedding your site content in WordPress posts, etc.</p>
<p><img src="http://fuelyourcoding.com/files/wordpress_plugins.jpg" alt="wordpress_plugins" title="wordpress_plugins" width="606" height="464" class="aligncenter size-full wp-image-190" /></p>
<h2>Getting Started</h2>
<h3>File Naming</h3>
<p>The first choice you should make is whether you need a single PHP file or a folder with multiple files and assets. Here are some questions help you think through this:</p>
<ul>
<li>Am I going to have associated images, CSS, or JS related to this plugin</li>
<li>Will I have more than one admin panel needed for users to manage this plugin</li>
<li>Will there be multiple distinct pieces to this plugin (i.e. widgets, template tags, etc).</li>
</ul>
<p>If you are building anything more than a simple plugin with a few methods and no associated files, you should go with a directory structure for your plugin.</p>
<p>If we were going to build a plugin called &#8220;Fancy Plugin,&#8221; your file would look like this:</p>
<pre>wp-content/plugins/fancy_plugin.php</pre>
<p>or</p>
<pre>wp-content/plugins/fancy_plugin/fancy_plugin.php</pre>
<p><em>Keep in mind when you name your plugin file that it is unique to what your plugin is and does. Since two plugins cannot both be installed if they have the same file name, be sure to run a Google search and check the <a href="http://wordpress.org/extend/">Extend section of WordPress.org</a> before settling on a name.</em></p>
<h3>Folder Structure</h3>
<p>For complex plugins, I follow this format for my directory structure:</p>
<pre class="brush: plain;">
plugin_folder/
-- plugin_file.php  &lt;= Primary Plugin File
-- css/             &lt;= All CSS
-- images/          &lt;= All Images
-- js/              &lt;= All JS
-- php/             &lt;= Supporting PHP Files
-- views/           &lt;= All Administrative Panels and Metaboxes
</pre>
<h3>Plugin Metadata</h3>
<p>The very first thing you need in your plugin is the metadata block that is used by WordPress to both activate your plugin and notify the user of pertinent information. It should look like this (Taken directly from <a href="http://codex.wordpress.org/Writing_a_Plugin">&#8220;Writing a Plugin&#8221;</a>:</p>
<pre class="brush: php;">&lt;?php
/*
	Plugin Name: Name Of The Plugin
	Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
	Description: A brief description of the Plugin.
	Version: The Plugin's Version Number, e.g.: 1.0
	Author: Name Of The Plugin Author
	Author URI: http://URI_Of_The_Plugin_Author
*/
?&gt;
</pre>
<p>This metadata block is a simple cut and paste into your primary plugin PHP file.</p>
<h2>Extending WordPress With Your Plugin</h2>
<h3>Template Tags</h3>
<p>One of the most simple things your plugin can do, is offer custom template tags for use in your themes. Template tags are just PHP functions. A good rule of thumb is to follow the direction of the WP team by prefixing functions that return data with <strong>get_</strong>, and functions that echo out directly with <strong>the_</strong>. For example:</p>
<pre class="brush: php;">
function get_map_widget_code(){
	return &quot;&lt;script src='...'&gt;My really long widget code...&lt;/script&gt;&quot;;
}

function the_map_widget_code(){
	echo get_map_widget_code();
}
</pre>
<p>These functions could then be used in any theme like this:</p>
<pre class="brush: xml;">
&lt;p&gt;The two ways to use these template tags are echo it myself:&lt;/p&gt;
&lt;?php echo get_map_widget_code() ?&gt;
&lt;p&gt; or let the function echo it (cleaner): &lt;/p&gt;
&lt;?php the_map_widget_code() ?&gt;
</pre>
<p>Template Tags, like all top level functions, have to be unique across the entire set of plugins, WP Core, and theme files. Be sure to choose names that are unique enough as not to conflict with existing method names.</p>
<h3>Shortcodes</h3>
<p>Shortcodes were introduced in WordPress 2.5 and allows the programmer to solve some complex HTML problems in an extremely easy way. Perhaps you want to provide an easy way for a client to list a few products on any page or post. You could just give them the HTML, and tell them to be sure to copy it anywhere they want products&#8230; but we all know how well instructions like those work out. Instead, you should provide a simple short code for them to use:</p>
<pre class="brush: plain;">
[products]
[product name=&quot;My Special Product&quot; price=3.99]
[product name=&quot;An Amazing Book&quot; price=12.99]
[/products]
</pre>
<p>That is a lot easier for a client to remember than a bunch of nested HTML that they have to switch into HTML view to edit or create. Here is the PHP code that would allow this shortcode to function:</p>
<pre class="brush: php;">
function products_shortcode_callback( $atts, $content=null ){
	// Set a blank return by default
	$ret = &quot;&quot;;

	// If there is content between the shortcodes
	// then add our wrapping tags
	if($content){
		$ret = '&lt;ul class=&quot;products in-post-products&quot;&gt;';

		// Nested shortcodes are not processed by default
		// be sure to make this call if you want
		// to process nested shortcodes
		$ret .= do_shortcode($content);

		$ret .= '&lt;/ul&gt;';
	}

	// Never echo output from a shortcode function!!!
	return $ret;
}

function product_shortcode_callback( $atts ){
	// Get the attributes and filter out
	// unwanted attributes
	$a = shortcode_atts( array(
		'name' =&gt; 'Product Name',
		'price' =&gt; 'No Price'), $atts );

	// Prepend a $ sign if price is supplied
	if ($a['price'] != 'No Price') $a['price'] = '$' . $a['price'];

	// Build HTML
	$ret = &quot;&lt;li&gt;&lt;span class='product-name'&gt;&quot;;
	$ret .= $a['name'] . &quot;&lt;/span&gt;&lt;br /&gt;&quot;;
	$ret .= '&lt;span class=&quot;price&quot;&gt;' . $a['price'];
	$ret .= '&lt;/span&gt;&lt;/li&gt;';

	// Again, return NOT echo:
	return $ret;
}

// Finally, add the shortcodes to the system
// So WordPress knows about them
add_shortcode( &quot;products&quot;, &quot;products_shortcode_callback&quot; );
add_shortcode( &quot;product&quot;, &quot;product_shortcode_callback&quot; );
</pre>
<p>As you have seen twice in the comments of the previous code example, <strong>NEVER echo output from a shortcode!</strong> Be sure to always return the content so it can be inserted in the correct place.</p>
<p>The previous code example would replace the shortcodes with this HTML (lines split for clarity):</p>
<pre class="brush: xml;">
&lt;ul class=&quot;products in-post-products&quot;&gt;
&lt;li&gt;&lt;span class=&quot;product-name&quot;&gt;My Special Product&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;price&quot;&gt;$3.99&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;product-name&quot;&gt;An Amazing Book&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;price&quot;&gt;$12.99&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p><strong>Reference Links</strong></p>
<ul>
<li><a title="WordPress Codex: Shortcode API" href="http://codex.wordpress.org/Shortcode_API">Shortcode API</a></li>
</ul>
<h3>Filters and Actions</h3>
<p>Much of your extensions to the WordPress core will happen with Filters and Actions. Thankfully, they are pretty easy to understand! A filter simply sends you content at the appropriate time, and expects content in return. Be sure to check the documentation on WordPress.org when creating filters because certain filters will pass you more than one parameter. The following code will add text before and after each post title:</p>
<pre class="brush: php;">
function add_text_to_title( $title ){
	return 'Text Before &lt;&lt; ' . $title . ' &gt;&gt; And After';
}
// Register filter with WP
add_filter( &quot;the_title&quot;, &quot;add_text_to_title&quot; );
</pre>
<p>Actions are called when certain actions are about to happen or have just happened. Actions allow you to execute your code at the appropriate time. The following code adds a javascript file to each page of the front-end site:</p>
<pre class="brush: php;">
function add_special_scripts(){
	wp_2_enqueue_script(
		'special_script',
		plugins_url('/test/special.js'),
		array( 'jquery' ), // require jquery
		'0.1' // Helps with cacheing
	);
}
// Register the action with WP
add_action(&quot;wp_2_print_scripts&quot;, &quot;add_special_scripts&quot;);
</pre>
<p><strong>Reference Links</strong></p>
<ul>
<li><a title="WordPress Codex: Plugin API/Action Reference" href="http://codex.wordpress.org/Plugin_API/Action_Reference">Plugin API/Action Reference</a></li>
<li><a title="WordPress Codex: Plugin API/Filter Reference" href="http://codex.wordpress.org/Plugin_API/Filter_Reference">Plugin API/Filter Reference</a></li>
</ul>
<h3>Widgets, Pluggable Functions, Settings, and User Interaction</h3>
<p>Some of the more advanced techniques of building plugins, including user interaction through admin menus, storing settings in the database, and writing a sidebar widget will be covered in an upcoming article.</p>
<h2>Closing Advice</h2>
<ol>
<li>When you begin to extend WordPress through plugins or theme additions, make the <a title="WordPress Codex" href="http://codex.wordpress.org/Main_Page">Codex</a> your best friend. The amount of developer documentation availible is amazing and extremely helpful.</li>
<li>If you cannot find documentation on a particular function or hook, do a global search of your WordPress installation (Cmd+Shift+F in TextMate) to look for the definition of the function. Often looking at the source will give you an idea how it works.</li>
<li>Make sure you have PHP errors turned on locally, or have access to your PHP error log to troubleshoot your development. Not being able to catch small PHP errors can make your life miserable.</li>
</ol>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/getting-started-writing-wordpress-plugins/">Getting Started Writing WordPress Plugins</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/getting-started-writing-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Wordpress theme frameworks</title>
		<link>http://fuelyourcoding.com/wordpress-theme-frameworks/</link>
		<comments>http://fuelyourcoding.com/wordpress-theme-frameworks/#comments</comments>
		<pubDate>Tue, 26 May 2009 23:20:16 +0000</pubDate>
		<dc:creator>Gaya Kessler</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Plugins / Add-Ons]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[hybrid]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[thematic]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://fuelyourcoding.com/?p=172</guid>
		<description><![CDATA[You got to love Wordpress theme frameworks when trying to put together a theme for Wordpress.
There are various reasons to use a framework. As you might know, frameworks provide you with convenience and code that you don&#8217;t have to write all over. Robin&#8217;s article about CakePHP is about a PHP Framework which will speed up [...]<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/wordpress-theme-frameworks/">Wordpress theme frameworks</a></p>
]]></description>
			<content:encoded><![CDATA[<p>You got to love <a href="http://codex.wordpress.org/Theme_Frameworks">Wordpress theme frameworks</a> when trying to put together a theme for Wordpress.</p>
<p>There are various reasons to use a framework. As you might know, frameworks provide you with convenience and code that you don&#8217;t have to write all over. <a href="http://fuelyourcoding.com/getting-to-know-cakephp-part-1">Robin&#8217;s article about CakePHP</a> is about a PHP Framework which will speed up your development.</p>
<p>A few reasons you should use Wordpress Frameworks:</p>
<ul>
<li>Save development time</li>
<li>Have the HTML layout ready to use and valid</li>
<li>Some SEO included</li>
<li>No need to make all the template pages yourself</li>
<li>You won&#8217;t forget to put in Wordpress features that quick</li>
<li>Loops are already written for most pages</li>
</ul>
<p>I&#8217;ve been using theme frameworks to get themes implemented for some time now and I must say I am very pleased with the results. I got the projects up and running in no time! It&#8217;s a real life saver if you have little time.</p>
<p>What it does is quite simple: being a basic template for your theme. You&#8217;ll only need to style the HTML and adjust anything in it.</p>
<p>It&#8217;s just a theme with nothing in it but HTML, template tags and some basic styling ready. You&#8217;ll have to download the theme, adjust it, upload it and use it in Wordpress. It&#8217;s as simple as that! No need for any special installation on your server or anything.</p>
<p>The following Wordpress theme frameworks are quite famous:</p>
<ul>
<li> <a href="http://www.plaintxt.org/themes/sandbox/">Sandbox</a><br />
The framework I&#8217;ve been using for a while now. Must say I am very pleased with how it&#8217;s put together.<br />
Uses very strong HTML and is really easy to adjust.</li>
</ul>
<p><a href="http://www.plaintxt.org/themes/sandbox/"></a><a href="http://www.plaintxt.org/themes/sandbox/"><img class="aligncenter size-full wp-image-178" title="Sandbox" src="http://fuelyourcoding.com/files/framework-sandbox.jpg" alt="Sandbox" width="606" height="300" /></a></p>
<ul>
<li> <a href="http://themeshaper.com/thematic/">Thematic</a><br />
Has a bit more going on with styling than Sandbox and might make it easier for beginners to work with. Great integration of widget areas and implementations of various plugins. Looks nice too!</li>
</ul>
<p><a href="http://themeshaper.com/thematic/"><img class="aligncenter size-full wp-image-179" title="Thematic" src="http://fuelyourcoding.com/files/framework-thematic.jpg" alt="Thematic" width="606" height="305" /></a></p>
<ul>
<li> <a href="http://themehybrid.com/themes/hybrid">Hybrid</a><br />
Even more themed than Sandbox and Themematic. Easy to configure and gets a beginner going in minutes! Really nice to try out and build your next theme on.</li>
</ul>
<p><a href="http://themehybrid.com/themes/hybrid"><img class="aligncenter size-full wp-image-180" title="Hybrid" src="http://fuelyourcoding.com/files/framework-hybrid.jpg" alt="Hybrid" width="606" height="249" /></a></p>
<p>Feel free to share your thoughts and experiences with theme frameworks in the comments. I&#8217;d love to hear your stories!</p>
<p><p><strong>Sponsored by</strong></p>
<a href='http://madebytinder.com' target='_blank'><img src='http://fuelbrand.s3.amazonaws.com/downloads/WhatisTinder250x250.jpg' border='0' alt='Made By Tinder' /></a>
<p><a href="http://www.fuelbrandnetwork.com/advertise/">Advertise on Fuel Brand Network</a>. <br />
  <a href="http://www.fuelbrandnetwork.com">Fuel Brand Network</a> 2010 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">cc</a> (creative commons license)
</p></p>
<p><a href="http://fuelyourcoding.com/wordpress-theme-frameworks/">Wordpress theme frameworks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fuelyourcoding.com/wordpress-theme-frameworks/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
