<?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>the rabbit hole &#187; wordpress development</title>
	<atom:link href="http://bugssite.org/blog/category/wordpress/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://bugssite.org</link>
	<description>where you feel a little closer to home</description>
	<lastBuildDate>Wed, 02 Jun 2010 23:31:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>WordPress &amp; HTML5</title>
		<link>http://bugssite.org/blog/2010/05/02/wordpress-html5/</link>
		<comments>http://bugssite.org/blog/2010/05/02/wordpress-html5/#comments</comments>
		<pubDate>Sun, 02 May 2010 14:10:27 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=784</guid>
		<description><![CDATA[I am hoping a lot of you out there that read my blog are design and wordpress users because changing your site to conform to HTML5 will not be that hard. I have changed 3 lines. Index: E:/My Site/Code/trunk/header.php =================================================================== --- E:/My Site/Code/trunk/header.php    (revision 252) +++ E:/My Site/Code/trunk/header.php    (working copy) @@ -1,6 +1,6 @@ -&#60;!DOCTYPE [...]]]></description>
			<content:encoded><![CDATA[<p>I am hoping a lot of you out there that read my blog are design and wordpress users because changing your site to conform to HTML5 will not be that hard. I have changed 3 lines.</p>
<pre class="brush: php; highlight: [9,10,11];">
Index: E:/My Site/Code/trunk/header.php
===================================================================
--- E:/My Site/Code/trunk/header.php    (revision 252)
+++ E:/My Site/Code/trunk/header.php    (working copy)
@@ -1,6 +1,6 @@
-&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
-&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?php language_attributes(); ?&gt;&gt;
-&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
+&lt;!DOCTYPE html&gt;
+&lt;html &lt;?php language_attributes(); ?&gt;&gt;
+&lt;head&gt;
 &lt;title&gt;&lt;?php wp_title(' | ', true, 'right'); ?&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/title&gt;

 &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?php bloginfo('html_type'); ?&gt;; charset=&lt;?php bloginfo('charset'); ?&gt;&quot; /&gt;
@@ -59,7 +59,7 @@
 &lt;/div&gt;
 &lt;div id=&quot;content&quot;&gt;
 &lt;div id=&quot;logo&quot;&gt;
-        &lt;a id=&quot;site-link&quot; href=&quot;/&quot; title=&quot;&lt;?php bloginfo('name'); ?&gt; | &lt;?php bloginfo('description'); ?&gt;&quot; /&gt;
+        &lt;a id=&quot;site-link&quot; href=&quot;/&quot; title=&quot;&lt;?php bloginfo('name'); ?&gt; | &lt;?php bloginfo('description'); ?&gt;&quot;&gt;&lt;/a&gt;
 &lt;/div&gt;
 &lt;div id=&quot;header-navigation&quot;&gt;
 &lt;ul id=&quot;main-navigation&quot;&gt;
</pre>
<p>After that it was pretty much valid for HTML5 through out the entire site. Pretty sweet huh? Oh.. site validates now with HTML5. <img src='http://bugssite.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  You should still run your site through the vaildator to make sure that nothing else is messed up, but all my pages complied the first time and that was from XHTML 1.0 to HTML5.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/05/02/wordpress-html5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The difference of wp_ajax and wp_ajax_nopriv</title>
		<link>http://bugssite.org/blog/2010/04/13/the-difference-of-wp_ajax-and-wp_ajax_nopriv/</link>
		<comments>http://bugssite.org/blog/2010/04/13/the-difference-of-wp_ajax-and-wp_ajax_nopriv/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 23:58:45 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[wordpress plugins]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=770</guid>
		<description><![CDATA[When you are writing a plugin that uses Ajax in the front end, you must use: add_action( 'wp_ajax_nopriv_&#60;ACTION NAME&#62;', &#60;YOUR FUNCTION&#62; ); &#8230;as doing&#8230; add_action( 'wp_ajax_&#60;ACTION NAME&#62;', &#60;YOUR FUNCTION&#62; ); &#8230; is only for logged in users. So if you have a plugin that operates no matter which way users interface with the plugin, you [...]]]></description>
			<content:encoded><![CDATA[<p>When you are writing a plugin that uses Ajax in the front end, you must use:</p>
<pre class="brush: php;">
add_action( 'wp_ajax_nopriv_&lt;ACTION NAME&gt;', &lt;YOUR FUNCTION&gt; );
</pre>
<p>&#8230;as doing&#8230;</p>
<pre class="brush: php;">
add_action( 'wp_ajax_&lt;ACTION NAME&gt;', &lt;YOUR FUNCTION&gt; );
</pre>
<p>&#8230; is only for logged in users. So if you have a plugin that operates no matter which way users interface with the plugin, you must provide <strong>both</strong> action calls to make sure it all gets processed. Helpful tip. <img src='http://bugssite.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Will be back shortly&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/04/13/the-difference-of-wp_ajax-and-wp_ajax_nopriv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So it&#8217;s been a while since I posted something</title>
		<link>http://bugssite.org/blog/2010/04/04/so-its-been-a-while-since-i-posted-something/</link>
		<comments>http://bugssite.org/blog/2010/04/04/so-its-been-a-while-since-i-posted-something/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 14:20:00 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[movie reviews]]></category>
		<category><![CDATA[on the mind]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[minnesota]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=760</guid>
		<description><![CDATA[So I thought I give you all an update. I am still traveling back and forth between NY to MN for work, working on web design and other related Best Buy/Geek Squad issues. It has been frustrating to say the least to fly back every two weeks. I am meeting tons of new people while [...]]]></description>
			<content:encoded><![CDATA[<p>So I thought I give you all an update. I am still traveling back and forth between NY to MN for work, working on web design and other related Best Buy/Geek Squad issues. It has been frustrating to say the least to fly back every two weeks. I am meeting <em>tons</em> of new people while in Minnesota. Starting tomorrow I will be staying for an entire month, but I was allowed to have the entire week off from April 30 through May 10th. It just so happens that it falls during my birthday. I also have a wedding to attend to in Boston that week, so it works out perfectly.</p>
<p><span id="more-760"></span></p>
<p>Remember the monitor <a href="http://bugssite.org/blog/2009/12/15/on-the-5th-day-of-hanukkah/">I ordered</a>? After finding out from the local retailer that they did not like that I wanted to order 1 monitor (they never got back to me&#8230;), Best Buy Business Division (totally separate from the store level) did sell it. The wait was also unbearable since I wasn&#8217;t ordering in bulk, but it was worth the wait. It&#8217;s going to arrive tomorrow in my store. Where am I going to be? Minnesota! Do&#8217;h! Well.. I guess I will have fun using it during the week that I am here. If it has shipped one day earlier, I would have had it Friday. The model of the monitor is the <a href="http://www.samsung.com/us/consumer/office/monitors/premium/LS27EMNKUY/ZA/index.idx?pagetype=prd_detail">Samsung P2770HD</a>.</p>
<p>WordPress Version 3.01 is at Beta 1. Download, Use (On Production), and Report any errors. I pretty much have taken a back seat in active development, but I stay updated to what is going on.</p>
<p>Movie report. I seen <strong>How to train your Dragon</strong> in IMAX 3D. The IMAX theater that we went to was 6 stories tall. That&#8217;s as big as our building at Best Buy Corporate that I work in. The movie was very cute and funny and the IMAX was definitely the way to experience it. Stony Brooke IMAX&#8230; your so outdated. :p</p>
<p>Places been too so far in MN:</p>
<ul>
<li>Fogo De Chao: Brazilian Steakhouse</li>
<li>Mall of America (Temped to go on some of the rides. <img src='http://bugssite.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</li>
</ul>
<p>That&#8217;s about it! I&#8217;ll try to post some updates while I am in MN! Be sure to follow me on twitter (@Bugs5382) as this is the way to follow my musings while I am up there.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/04/04/so-its-been-a-while-since-i-posted-something/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 is not out yet, but it&#8217;s running here!</title>
		<link>http://bugssite.org/blog/2010/02/12/wordpress-3-0-is-not-out-yet-but-its-running-here/</link>
		<comments>http://bugssite.org/blog/2010/02/12/wordpress-3-0-is-not-out-yet-but-its-running-here/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 05:09:46 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=692</guid>
		<description><![CDATA[I took the dive today and moved this site into WordPress 3.0 Development trunk way ahead of the feature freeze date. I been monitoring the commits, and while I haven&#8217;t done much except for the few patches I have submitted the code is very stable. For those daring, go ahead and run the trunk. You&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>I took the dive today and moved this site into WordPress 3.0 Development trunk way ahead of the feature freeze date. I been monitoring the commits, and while I haven&#8217;t done much except for the few patches I have submitted the code is very stable.</p>
<p>For those daring, go ahead and run the trunk. You&#8217;ll notice a speed difference with everything including the jQuery. Backup your site for when something fails or you need to revert!</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/02/12/wordpress-3-0-is-not-out-yet-but-its-running-here/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Testing Solution</title>
		<link>http://bugssite.org/blog/2010/02/10/wordpress-testing-solution/</link>
		<comments>http://bugssite.org/blog/2010/02/10/wordpress-testing-solution/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 04:39:17 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[release candidates]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=685</guid>
		<description><![CDATA[One of the problems the core developers have of WordPress is the amount of testing that goes on. Since this is free/open source software, users usually do not try software that they can get free. When its paid software they fell like it&#8217;s an obligation to make sure that they are getting their&#8217;s money worth [...]]]></description>
			<content:encoded><![CDATA[<p>One of the problems the core developers have of WordPress is the amount of testing that goes on. Since this is free/open source software, users usually do not try software that they can get free. When its paid software they fell like it&#8217;s an obligation to make sure that they are getting their&#8217;s money worth before having it officially released as the &#8216;offical&#8217; version.</p>
<p>It doesn&#8217;t work that way for WordPress. <a href="http://www.scratch99.com/">Stephen Cronin</a> has posted up some ideas on <a href="http://www.scratch99.com/2010/02/the-solution-to-the-lack-of-wordpress-beta-testing/">his website</a> and one stands out that could work for WordPress.<br />
<span id="more-685"></span><br />
The <strong>Staged Released</strong> version from Stephen&#8217;s is a version that I like to see adapted for WordPress. This would allow more people to get in the testing without having the entire WordPress user base feeling any remaining issues.</p>
<p>What would it take to get this implemented? It would have to go in after 3.0.x. The update API would have to be re-written to allow this kind of update. This kind of update might be beneficial for users who also might want ignore plugin updates.</p>
<p>Ignore options would be stored and could be restored in the future if the user would like to come back into the testing and/or see plugin updates.</p>
<p>I think this is a really good idea and should be implemented in WordPress 3.1.x.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/02/10/wordpress-testing-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 and WordPress 3.0</title>
		<link>http://bugssite.org/blog/2010/01/18/jquery-1-4-and-wordpress-3-0/</link>
		<comments>http://bugssite.org/blog/2010/01/18/jquery-1-4-and-wordpress-3-0/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 06:32:04 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=666</guid>
		<description><![CDATA[Right now there is no plans to have jQuery updated to 1.4.0 in WordPress 3.0. It is not impossible, but very unlikely due to fact that it does not cover the WordPress 3.0 Scope of Work. Use jQuery at your own risk and if you do use it, unload jQuery 1.3 first before registering jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>Right now there is no plans to have jQuery updated to 1.4.0 in WordPress 3.0. It is not impossible, but very unlikely due to fact that it does not cover the WordPress 3.0 Scope of Work.</p>
<p>Use jQuery at your own risk and if you do use it, unload jQuery 1.3 <strong><em>first</em></strong> before registering jQuery 1.4.</p>
<pre class="brush: php;">
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', '&lt;Location of jQuery 1.4&gt;', false, '' );
</pre>
<p>I will <a href="http://wpdevel.wordpress.com/2010/01/14/suggest-agenda-items-for-january-21-201/comment-page-1/#comment-4539">bring this up at the next dev meeting</a>, but as of right now there is no jQuery 1.4 in WordPress 3.0.x.</p>
<ul>
<li>WPRecipes &#8211; <a href="http://www.wprecipes.com/how-to-use-jquery-1-4-by-default-on-your-wordpress-blog?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Wprecipes+%28WpRecipes.com%3A+Daily+recipes+to+cook+with+WordPress%29">Prompted me to post this &#8216;warning&#8217;</a>.</li>
<li><a href="http://www.seanhayes.biz/wordpress/integrating-wordpress-and-google-hosted-jquery-1-4/">Sean Hayes</a> for the original tip.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/01/18/jquery-1-4-and-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theme is now widgetized with a twist.</title>
		<link>http://bugssite.org/blog/2010/01/12/theme-is-now-widgetized-with-a-twist/</link>
		<comments>http://bugssite.org/blog/2010/01/12/theme-is-now-widgetized-with-a-twist/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 14:30:14 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=654</guid>
		<description><![CDATA[So I been working on behind the scenes on a new Widget version of my theme. It&#8217;s now live and it works great, but I had to make a number of modifications to the Widget system for it to work correctly. Back story: The first post in this series is located here. The way the [...]]]></description>
			<content:encoded><![CDATA[<p>So I been working on behind the scenes on a new Widget version of my theme. It&#8217;s now live and it works great, but I had to make a number of modifications to the Widget system for it to work correctly.</p>
<p>Back story: The first post in this series is <a href="../blog/2009/12/09/widget-customization-theme-controlled/">located here</a>. The way the widget system is built right now is that when a Widget is outputted and you have custom design you want shown, you have to pass your design through the register_widget function inside functions.php, which then wraps around the widget output. I thought this was a very messy way to do it especially since it removes the ability for plugin author and user to make all the formatting look the same when the theme is updated or if the widget has custom formatting needed.</p>
<p>Since then, I published a trac ticket (<a href="http://core.trac.wordpress.org/ticket/11387">#11387</a>) that includes the entire patch of this system. (Some of the code has been moved to another trac ticket for version 3.0 feature.)</p>
<p>This <em>new</em> enhancement to the Widget API system allows two things:</p>
<ol>
<li>Allows theme authors to specify a &#8220;Widget Walker&#8221; that will output of the design/css/code of all widgets that a user will use look the same.</li>
<li>Gives widget authors more control over their content not being manipulated as much.</li>
</ol>
<p>On my site I had to create a new theme file called &#8216;widget.php&#8217; just to override the Widget System that is officially in 2.9.1, but it&#8217;s working fine and I had seen no problems since I did this major update a few days ago. I am going to see if we can implement this in after 3.0.x because this will be a great feature for all those WordPress Muliuser sites that need all types of customization including sites that have different formatting for different pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2010/01/12/theme-is-now-widgetized-with-a-twist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.9, Official</title>
		<link>http://bugssite.org/blog/2009/12/19/wordpress-2-9-official/</link>
		<comments>http://bugssite.org/blog/2009/12/19/wordpress-2-9-official/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 16:10:05 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=627</guid>
		<description><![CDATA[Wow. That was fast. Not less than 72 hours ago we released RC1 of 2.9 and we got such a good response from testing that we decided to skip the two week testing period for a release of WordPress 2.9 &#8220;Carmen&#8221;. Early Holiday Present. So get it today using the automatic upgrade feature. Expect WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>Wow. <a href="http://bugssite.org/blog/2009/12/16/wordpress-2-9-rc/">That was fast.</a> Not less than 72 hours ago we released RC1 of 2.9 and we got such a good response from testing that we decided to skip the two week testing period for a release of <a href="http://wordpress.org/development/2009/12/wordpress-2-9/">WordPress 2.9 &#8220;Carmen&#8221;.</a> Early Holiday Present. So get it today using the automatic upgrade feature.</p>
<p>Expect WordPress 3.0 released around the spring time because of the large changes to the core including WPMU integration and more media stuff (yay!).</p>
<p>Have a very safe holidays!</p>
<p>A quick note: If you run a stand-alone version, not hosted on WordPress.com, be sure you have at least <strong>MySQL version 4.1.2</strong>.  All backwards compatibility was taken out of 2.9.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2009/12/19/wordpress-2-9-official/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.9 RC</title>
		<link>http://bugssite.org/blog/2009/12/16/wordpress-2-9-rc/</link>
		<comments>http://bugssite.org/blog/2009/12/16/wordpress-2-9-rc/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 19:34:13 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress 2.9]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=625</guid>
		<description><![CDATA[WordPress 2.9 RC1 is out and ready for use and abuse! Please update all live sites using WordPress to this version so we can now get a huge sampling on any other errors before we mark it &#8216;GOLD&#8217;!. Be sure to submit tickets to the trac site so we know about them. The faster we [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.9 RC1 is out and ready for use and abuse! Please update <strong>all live</strong> sites using WordPress to this version so we can now get a huge sampling on any other errors before we mark it &#8216;GOLD&#8217;!. Be sure to <a href="https://core.trac.wordpress.org/">submit tickets to the trac site</a> so we know about them.</p>
<p>The faster we can get reports back, the faster we can give you an early present for the holidays and for the New Year!</p>
<p>Translators: You have two weeks to get your translations into the system before Gold. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2009/12/16/wordpress-2-9-rc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Widget Customization, Theme Controlled</title>
		<link>http://bugssite.org/blog/2009/12/09/widget-customization-theme-controlled/</link>
		<comments>http://bugssite.org/blog/2009/12/09/widget-customization-theme-controlled/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 23:34:24 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bugssite.org/?p=618</guid>
		<description><![CDATA[I wished I used widgets. Why havn&#8217;t it? Because the coding around them is mostly hardcoded. Lets take a common scenario that I see all the time and from other people: User A downloads Plugin A. Plugin A has a widget which has hardcoded data output. User A has a custom theme (or a downloaded [...]]]></description>
			<content:encoded><![CDATA[<p>I wished I used widgets. Why havn&#8217;t it? Because the coding around them is mostly hardcoded. Lets take a common scenario that I see all the time and from other people:</p>
<blockquote><p><strong>User A</strong> downloads <em>Plugin A</em>. <em>Plugin A</em> has a widget which has hardcoded data output. <strong>User A</strong> has a custom theme (or a downloaded theme.) and <em>Plugin A</em> does not conform to the theme&#8217;s design making <strong>User A</strong> scramble for help. They check the WordPress.org forums for help in getting Widget of <em>Plugin A</em> changed. User A gets no help. Uninstalls the <em>Plugin A</em> and then is one less user that Author has their plugin installed.</p></blockquote>
<p>Now my way of what might be coming to a WordPress enabled site soon (3.x.x would be the earliest):</p>
<blockquote><p><strong>User A</strong> downloads <em>Plugin A</em>. <em>Plugin A</em> has a widget. <strong>User A</strong> has a custom theme (or a downloaded theme) and that theme has a class that extends <em><strong>Walker_Widget</strong></em> called <em><strong>My_</strong></em><em><strong>Walker_Widget</strong></em><em>. </em>User A enables that Widget and it looks nice and pretty with their theme. They smile. <img src='http://bugssite.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When the theme author updates their theme, all <strong>User&#8217;s A</strong> widgets will look like they belong there.</p></blockquote>
<p><span id="more-618"></span></p>
<p>The Walker Widget is based of the original walker which controls the design of the output of either pages and categories. This time it&#8217;s for Widget design purposes.</p>
<p>I have <a href="http://core.trac.wordpress.org/ticket/11387">started a ticket with a first version of a  patch</a> on the WordPress trac site for people to test out. Currently I have change the formatting of all 12 default WordPress plugins to use the new system with the extended classes doing all the formatting. <strong>Things can still change between this patch and another.</strong> Also in the ticket is an example of my own &#8216;Walker_Widget_Rabbit&#8217; design class that I have done for my development version of this theme with the Widget changes, but below is an updated version that I worked on including some custom functions I added to the design class.</p>
<pre class="brush: php;">
class Walker_Widget_Rabbit extends Walker_Widget {

 /*
 *
 */
 function start_widget($args, &amp;$output) {
 global $rabbithole;

 $output .= do_action('sidebar_before_module', $args['classname']);
 $output .= do_action('sidebar_before_module_' . $args['classname']);

 if ($this-&gt;scrollable($args) &amp;&amp; (bool) $rabbithole-&gt;get_option('scrolling'))
 $output .= $this-&gt;scrollable($args, 'javascript');

 $output .= sprintf( &quot;&lt;div class='module widget %s'&gt;&quot;, $args['classname'] );
 }

 /*
 *
 */
 function title_widget($args, &amp;$output) {
 global $rabbithole;

 $output .= &quot;&lt;div class='head'&gt;&quot;;
 $output .= &quot;&lt;h3&gt;&quot; . $args['title'] . &quot;&lt;/h3&gt;&quot;;

 if ($this-&gt;scrollable($args) &amp;&amp; (bool) $rabbithole-&gt;get_option('scrolling'))
 $output .= &quot;&lt;div class='desc'&gt;&quot; . sprintf( __(&quot;navi: &lt;a id=\&quot;prev_%s\&quot;&gt;prev&lt;/a&gt;&amp;nbsp;/&amp;nbsp;&lt;a id=\&quot;next_%s\&quot;&gt;next&lt;/a&gt;&quot;), $args['classname'], $args['classname']) . &quot;&lt;/div&gt;&quot;;

 $output .= &quot;&lt;/div&gt;&quot;;

 }

 /*
 *
 */
 function content_widget($args, &amp;$output) {
 $output .= &quot;&lt;div class='wrap'&gt;&quot; . $this-&gt;scrollable($args, 'style') . &quot;&lt;/div&gt;&quot;;
 }

 function end_widget($args, &amp;$output) {
 $output .= &quot;&lt;/div&gt;&quot;;
 $output .= do_action('sidebar_after_module', $args['classname']);
 $output .= do_action('sidebar_after_module_' . $args['classname']);
 }

 /** Customer Functions of the Widget Walker **/

 function scrollable($args, $area = 'enabled') {
 global $rabbithole;

 if ( $area == 'enabled' ) {
 switch ($args['classname']) {
 case 'widget_categories':
 case 'widget_archive': return true;
 default: return false;
 }
 }

 if ( $area == 'style' ) {
 switch ($args['style']) {
 case 'none':
 break;
 default:
 $args['output'] = &quot;&lt;ul class='dash-strip'&gt;&quot; . $args['output'] . &quot;&lt;/ul&gt;&quot;;
 }

 if ($this-&gt;scrollable($args) &amp;&amp; (bool) $rabbithole-&gt;get_option('scrolling'))
 $args['output'] = $this-&gt;scrollable($args, 'style_wrap');

 return $args['output'];
 }

 if ( $area == 'style_wrap' ) {

 switch ($args['classname']) {
 case 'widget_categories': return &quot;&lt;div class='content-scroll'&gt;&quot; . $args['output'] . &quot;&lt;/div&gt;&quot;;
 case 'widget_archive': return &quot;&lt;div class='content-scroll-large'&gt;&quot; . $args['output'] . &quot;&lt;/div&gt;&quot;;
 }

 }

 if ( $area == 'javascript' ) {

 $obj = $args['classname'];
 switch ($obj) {
 case 'widget_categories': $size = 5;
 case 'widget_archive': $size = 6;
 }

 return &quot;&lt;script type='text/javascript'&gt;
 /* &lt;![CDATA[ */
 jQuery(document).ready(function() {
 jQuery(\&quot;.&quot;.$obj.&quot;\&quot;).scrollable({
 vertical: true,
 size: &quot;.$size.&quot;,
 keyboard: false,
 items: '.dash-strip',
 easing: 'linear',
 prevPage: '#prev_&quot;.$obj.&quot;',
 nextPage: '#next_&quot;.$obj.&quot;',
 disabledClass: 'disabled_Scroll',
 clickable: false
 });
 });
 /* ]]&gt; */
 &lt;/script&gt;&quot;;
 }

 }

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://bugssite.org/blog/2009/12/09/widget-customization-theme-controlled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
