<?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>juust ~ php oddities &#187; widget</title>
	<atom:link href="http://www.juust.org/index.php/tag/widget/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juust.org</link>
	<description>Unordered list of one element</description>
	<lastBuildDate>Thu, 02 Sep 2010 16:58:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>monkey business</title>
		<link>http://www.juust.org/index.php/monkey-business/2008/07/</link>
		<comments>http://www.juust.org/index.php/monkey-business/2008/07/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 02:11:52 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[optimisation]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=70</guid>
		<description><![CDATA[monkey business
I cached my monkeys, so it don&#8217;t take so long to retrieve pictures every time, and added a size switch. where can you retrieve the width of the sidebar the widget instance is in ?
Anyways, when I figured the cache thing out, i reckoned hey, lets cache the serp, so then I cached the [...]]]></description>
			<content:encoded><![CDATA[<p class="note" style="text-align: center;">monkey business</p>
<p>I cached my monkeys, so it don&#8217;t take so long to retrieve pictures every time, and added a size switch. where can you retrieve the width of the sidebar the widget instance is in ?</p>
<p>Anyways, when I figured the cache thing out, i reckoned hey, lets cache the serp, so then I cached the serp, now it keeps a &#8216;current&#8217; file and an archive. works half.</p>
<p>at least my pages don&#8217;t take an aeon to load anymore.</p>
<p>tomorrow : more monkey business.</p>
<p><img src="http://www.juust.org/wp-content/images/2679639610_0055eec108_m.jpg" alt="ape beasty" width="375px" height="300px" rel="nofollow"/> &#8230;that is a cute ape</p>
<h4>tag links</h4>
<p><strong><em><a href="http://www.seoquake.com/" rel="nofollow" title="seoquake browser plugin seo tool kit">SeoQuake</a></em></strong> indicates my second blog has 52 inside links and 14 outbound, 66 links, but my blog is not ranking. </p>
<p>I ran a spider on the site that counts all the anchors (also double links), that reports 120 anchors. </p>
<p>Google  possibly exclude anything with 100+ anchors.</p>
<p>I just counted the links manually and found about 50 links, so i wondered &#8216;where are the other 70?&#8217;. So i counted the tag-cloud and realized &#8216;damn.. the tags&#8230;&#8217;. What causes it are the tags per post (the main cause) and the number of posts listed on the frontpage. If i use 10 posts per page I easily have (10*4) 40 tag-links, and if google counts &#8216;em all for onr link and ditches my page I loose the page linking the two blogs. The whole second blog becomes a closed ring with no way out so the entire blog is excluded from page ranking.</p>
<p>I turned the posts per page down to max 3 posts (<em>settings</em>, <em>reading</em>), and  removed the &#8216;recent posts&#8217; widget from the sidebar. Now its down to about 80 links.</p>
<p>If that is all true then tomorrow or by sunday both blogs should start ranking again.</p>
<p>A quick spidering shows the main blog is on 2.20, pages on 1.80, posts on 0.60, and the second blog on 0.60, only the rss feed still has the feed url on &#8216;follow&#8217; but that&#8217;s a minor detail.</p>
<p>That should score quite nicely.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/monkey-business/2008/07/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>wordpress serp widget serpent</title>
		<link>http://www.juust.org/index.php/serpent-wordpress-widget/2008/07/</link>
		<comments>http://www.juust.org/index.php/serpent-wordpress-widget/2008/07/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 03:37:30 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[serp]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=62</guid>
		<description><![CDATA[28-7
the permutation serp creates too much of a load and the results are 90% general so not very usefull per page.

 replaced it with a straight top-50 serp on the msn, yahoo, google engines
 using post_tags
 added a link to the search engine result pages themselves
 added a cache and a timer on 6000seconds, it [...]]]></description>
			<content:encoded><![CDATA[<p><strong>28-7</strong><br />
the permutation serp creates too much of a load and the results are 90% general so not very usefull per page.</p>
<ul>
<li> replaced it with a straight top-50 serp on the msn, yahoo, google engines</li>
<li> using post_tags</li>
<li> added a link to the search engine result pages themselves</li>
<li> added a cache and a timer on 6000seconds, it requeries every 1.5 hours when a page is opened and in the meantime dishes out cached results, to minimize queries and page load times</li>
<li> added before_widget and after_widget</li>
</ul>
<p>it needs</p>
<ul>
<li>specific options per engine (language etc.)</li>
<li>a dig option up to 1000 result</li>
<li>css hooks</li>
<li>max three keywords constraint</li>
<li>page keywords list (currently only posts&#8217; tags are used)</li>
<li>a mysql backend (I don&#8217;t want the nonsense in the wordpress db)</li>
<li>a counter for used queries (otherwise you get &#8216;no result&#8217;)</li>
<li>an archive report to see how the serp results develop</li>
</ul>
<p>but it&#8217;s a start</p>
<hr />
<p>the results are accurate but i need a once a day routine to grab the keyword of the index page and other pages (the &#8216;keywords&#8217; section is often dynamic and changes every day, most sites use plugins to either grab all tags of listed posts and put them in the meta-section as page-keywords, or use headspace to override it with a fixed set.)</p>
<p>querying the wordpress database and for all non-post page use get_meta_tags, put url and tags in a cached list and serp the lot once a day would solve that.</p>
<p>something like that.</p>
<hr />
once I got that fixed i&#8217;ll ask some people to test it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/serpent-wordpress-widget/2008/07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>scrape the ape three : sidebar zoo</title>
		<link>http://www.juust.org/index.php/scrape-the-ape-three-sidebar-zoo/2008/07/</link>
		<comments>http://www.juust.org/index.php/scrape-the-ape-three-sidebar-zoo/2008/07/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 16:16:04 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=53</guid>
		<description><![CDATA[&#8220;Scrape the Ape&#8221; plugin.
i ripped the widget code framework from Marcel Proulx http://www.district30.net and changed it a bit so it runs my Ape-Scrape. I&#8217;ll break my brains on the specifics of widget-codes later.



/*


Plugin Name: Scrape the Ape


Plugin URI: http://juust.org/


Description: How to scrape a zoo from Flickr onto the sidebar.


Version: 0.1


Author: Lord of Apes


Author URI: http://juust.org/


*/


&#160;


function [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Scrape the Ape&#8221; plugin.</p>
<p>i ripped the widget code framework from Marcel Proulx http://www.district30.net and changed it a bit so it runs my Ape-Scrape. I&#8217;ll break my brains on the specifics of widget-codes later.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Plugin Name: Scrape the Ape</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Plugin URI: http://juust.org/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Description: How to scrape a zoo from Flickr onto the sidebar.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Version: 0.1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Author: Lord of Apes</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Author URI: http://juust.org/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> disp_apes<span class="br0">&#40;</span> <span class="re1">$args</span><span class="sy0">,</span> <span class="re1">$widget_args</span> <span class="sy0">=</span> <span class="nu0">1</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">extract</span><span class="br0">&#40;</span> <span class="re1">$args</span><span class="sy0">,</span> EXTR_SKIP <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw3">is_numeric</span><span class="br0">&#40;</span><span class="re1">$widget_args</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$widget_args</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re1">$widget_args</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$widget_args</span> <span class="sy0">=</span> wp_parse_args<span class="br0">&#40;</span> <span class="re1">$widget_args</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">-1</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">extract</span><span class="br0">&#40;</span> <span class="re1">$widget_args</span><span class="sy0">,</span> EXTR_SKIP <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// Data should be stored as array: &nbsp;array( number =&amp;gt; data for that instance of the widget, &#8230; )</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$options</span> <span class="sy0">=</span> get_option<span class="br0">&#40;</span><span class="st0">&#39;widget_apes&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$number</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">return</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">extract</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$number</span><span class="br0">&#93;</span><span class="sy0">,</span> EXTR_SKIP<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//this is the scraper bit :</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$flikker</span> <span class="sy0">=</span> <span class="kw3">join</span><span class="br0">&#40;</span><span class="st0">&quot;&quot;</span><span class="sy0">,</span><span class="kw3">file</span><span class="br0">&#40;</span><span class="st0">&quot;http://api.flickr.com/services/feeds/photos_public.gne?tags=&quot;</span><span class="sy0">.</span><span class="re1">$apes_tags</span><span class="sy0">.</span><span class="st0">&quot;&amp;amp;format=rss&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$flikkerhits</span> <span class="sy0">=</span> <span class="kw3">preg_split</span><span class="br0">&#40;</span><span class="st0">&#39;/img src=&quot;<span class="es0">\;</span>/&#39;</span><span class="sy0">,</span> <span class="re1">$flikker</span><span class="sy0">,</span> <span class="nu0">-1</span><span class="sy0">,</span> PREG_SPLIT_OFFSET_CAPTURE<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$flikkerhits</span> <span class="kw1">as</span> <span class="re1">$flikkerhit</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$i</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$i</span><span class="sy0">&amp;</span>gt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="re1">$apes</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="kw3">substr</span><span class="br0">&#40;</span><span class="re1">$flikkerhit</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="kw3">strpos</span><span class="br0">&#40;</span><span class="re1">$flikkerhit</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="st0">&#39;width&#39;</span><span class="br0">&#41;</span><span class="nu0">-7</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$strgrid</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$currentcol</span><span class="sy0">=</span><span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$currentrow</span><span class="sy0">=</span><span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$columns</span><span class="sy0">=</span><span class="re1">$apes_cols</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$rows</span><span class="sy0">=</span><span class="re1">$apes_rows</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$strgrid</span> <span class="sy0">.=</span> <span class="st0">&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;div class=&quot;</span>\<span class="sy0">&amp;</span>quot<span class="sy0">;</span>ApesZoo\<span class="sy0">&amp;</span>quot<span class="sy0">;</span><span class="st0">&quot;&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;table border=&quot;</span><span class="nu0">0</span><span class="st0">&quot;&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;tbody&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;tr&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$a</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$a</span><span class="st0">&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; $strgrid .= &quot;</span><span class="sy0">&lt;</span>img src<span class="sy0">=</span><span class="st0">&quot;<span class="es0">\&quot;</span> alt=&quot;</span><span class="st0">&quot; width=&quot;</span><span class="nu0">45</span><span class="st0">&quot; height=&quot;</span><span class="nu0">45</span><span class="st0">&quot; /&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$strgrid</span> <span class="sy0">.=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$currentcol</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$currentcol</span><span class="sy0">&amp;</span>gt<span class="sy0">;</span><span class="re1">$columns</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$currentcol</span><span class="sy0">=</span><span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re1">$strgrid</span> <span class="sy0">.=</span> &nbsp;<span class="st0">&quot;&lt;/tr&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$currentrow</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$currentrow</span><span class="sy0">&amp;</span>gt<span class="sy0">;</span><span class="re1">$rows</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$strgrid</span> <span class="sy0">.=</span> &nbsp;<span class="st0">&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;tr&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$strgrid</span> <span class="sy0">.=</span> <span class="st0">&quot;&lt;/tr&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;/tbody&gt;&lt;/table&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;/div&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">echo</span> <span class="re1">$strgrid</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> apes_control<span class="br0">&#40;</span><span class="re1">$widget_args</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">global</span> <span class="re1">$wp_registered_widgets</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">static</span> <span class="re1">$updated</span> <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span> <span class="co1">// have we already updated the data after a POST submit</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw3">is_numeric</span><span class="br0">&#40;</span><span class="re1">$widget_args</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$widget_args</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re1">$widget_args</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$widget_args</span> <span class="sy0">=</span> wp_parse_args<span class="br0">&#40;</span> <span class="re1">$widget_args</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">-1</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">extract</span><span class="br0">&#40;</span> <span class="re1">$widget_args</span><span class="sy0">,</span> EXTR_SKIP <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// Data should be stored as array: &nbsp;array( number =&amp;gt; data for that instance of the widget, &#8230; )</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$options</span> <span class="sy0">=</span> get_option<span class="br0">&#40;</span><span class="st0">&#39;widget_apes&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="kw3">is_array</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$options</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// We need to update the data</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="re1">$updated</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> <span class="sy0">!</span><span class="kw3">empty</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;sidebar&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">// Tells us what sidebar to put the data in</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$sidebar</span> <span class="sy0">=</span> <span class="br0">&#40;</span>string<span class="br0">&#41;</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;sidebar&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$sidebars_widgets</span> <span class="sy0">=</span> wp_get_sidebars_widgets<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$sidebars_widgets</span><span class="br0">&#91;</span><span class="re1">$sidebar</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this_sidebar</span> <span class="sy0">=&amp;</span>amp<span class="sy0">;</span> <span class="re1">$sidebars_widgets</span><span class="br0">&#91;</span><span class="re1">$sidebar</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this_sidebar</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span> <span class="re1">$this_sidebar</span> <span class="kw1">as</span> <span class="re1">$_widget_id</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// Remove all widgets of this type from the sidebar. &nbsp;We&#39;ll add the new data in a second. &nbsp;This makes sure we don&#39;t get any duplicate data</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// since widget ids aren&#39;t necessarily persistent across multiple updates</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="st0">&#39;disp_apes&#39;</span> <span class="sy0">==</span> <span class="re1">$wp_registered_widgets</span><span class="br0">&#91;</span><span class="re1">$_widget_id</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;callback&#39;</span><span class="br0">&#93;</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$wp_registered_widgets</span><span class="br0">&#91;</span><span class="re1">$_widget_id</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;params&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;number&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$widget_number</span> <span class="sy0">=</span> <span class="re1">$wp_registered_widgets</span><span class="br0">&#91;</span><span class="re1">$_widget_id</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;params&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;number&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="kw3">in_array</span><span class="br0">&#40;</span> <span class="st0">&quot;apes-$widget_number&quot;</span><span class="sy0">,</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;widget-id&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="co1">// the widget has been removed. &quot;many-$widget_number&quot; is &quot;{id_base}-{widget_number}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$widget_number</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#41;</span> <span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;apes&#39;</span><span class="br0">&#93;</span> <span class="kw1">as</span> <span class="re1">$widget_number</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re1">$widget_apes_instance</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// compile data from $widget_random_image_instance</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$apes_tags</span><span class="sy0">=</span><span class="kw3">strip_tags</span><span class="br0">&#40;</span><span class="kw3">stripslashes</span><span class="br0">&#40;</span> <span class="re1">$widget_apes_instance</span><span class="br0">&#91;</span><span class="st0">&#39;apes_tags&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$apes_rows</span><span class="sy0">=</span><span class="kw3">strip_tags</span><span class="br0">&#40;</span><span class="kw3">stripslashes</span><span class="br0">&#40;</span> <span class="re1">$widget_apes_instance</span><span class="br0">&#91;</span><span class="st0">&#39;apes_rows&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$apes_cols</span><span class="sy0">=</span><span class="kw3">strip_tags</span><span class="br0">&#40;</span><span class="kw3">stripslashes</span><span class="br0">&#40;</span> <span class="re1">$widget_apes_instance</span><span class="br0">&#91;</span><span class="st0">&#39;apes_cols&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$widget_number</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw3">compact</span><span class="br0">&#40;</span><span class="st0">&#39;apes_tags&#39;</span><span class="sy0">,</span> <span class="st0">&#39;apes_cols&#39;</span><span class="sy0">,</span> <span class="st0">&#39;apes_rows&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; update_option<span class="br0">&#40;</span><span class="st0">&#39;widget_apes&#39;</span><span class="sy0">,</span> <span class="re1">$options</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$updated</span> <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span> <span class="co1">// So that we don&#39;t go through this more than once</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// Here we echo out the form</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="nu0">-1</span> <span class="sy0">==</span> <span class="re1">$number</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// We echo out a template for a form which can be converted to a specific form later via JS</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_tags</span> <span class="sy0">=</span> <span class="st0">&#39;apes&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_cols</span> <span class="sy0">=</span> <span class="nu0">3</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_rows</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$number</span> <span class="sy0">=</span> <span class="st0">&#39;%i%&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_tags</span> <span class="sy0">=</span> attribute_escape<span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$number</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;apes_tags&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_cols</span><span class="sy0">=</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$number</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;apes_cols&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$apes_rows</span><span class="sy0">=</span>attribute_escape<span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$number</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;apes_rows&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// The form has inputs with names like widget-many[$number][something] so that all data for that instance of</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// the widget are stored in one $_POST variable: $_POST[&#39;widget-many&#39;][$number]</span></div>
</li>
<li class="li1">
<div class="de1">?<span class="sy0">&amp;</span>gt<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>label <span class="kw1">for</span><span class="sy0">=</span><span class="st0">&quot;apes-apes_tags-&amp;lt;?php echo $number; ?&amp;gt;&quot;</span><span class="sy0">&gt;</span>Tags<span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input id<span class="sy0">=</span><span class="st0">&quot;apes-apes_tags-&amp;lt;?php echo $number; ?/&amp;gt;&quot;</span> style<span class="sy0">=</span><span class="st0">&quot;width: 200px;&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;apes[&amp;lt; ?php echo $number; ?&amp;gt;][apes_tags]&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&amp;lt; ?php echo $apes_tags; ?&amp;gt;&quot;</span> <span class="sy0">/&gt;&lt;/</span>label<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>label <span class="kw1">for</span><span class="sy0">=</span><span class="st0">&quot;apes-apes_cols-&amp;lt;?php echo $number; ?&amp;gt;&quot;</span><span class="sy0">&gt;</span>Colums<span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input id<span class="sy0">=</span><span class="st0">&quot;apes-apes_cols-&amp;lt;?php echo $number; ?/&amp;gt;&quot;</span> style<span class="sy0">=</span><span class="st0">&quot;width: 200px;&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;apes[&amp;lt; ?php echo $number; ?&amp;gt;][apes_cols]&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&amp;lt; ?php echo $apes_cols; ?&amp;gt;&quot;</span> <span class="sy0">/&gt;&lt;/</span>label<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>label <span class="kw1">for</span><span class="sy0">=</span><span class="st0">&quot;apes-apes_rows-&amp;lt;?php echo $number; ?&amp;gt;&quot;</span><span class="sy0">&gt;</span>rows<span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input id<span class="sy0">=</span><span class="st0">&quot;apes-apes_rows-&amp;lt;?php echo $number; ?/&amp;gt;&quot;</span> style<span class="sy0">=</span><span class="st0">&quot;width: 200px;&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;apes[&amp;lt; ?php echo $number; ?&amp;gt;][apes_rows]&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&amp;lt; ?php echo $apes_rows; ?&amp;gt;&quot;</span> <span class="sy0">/&gt;&lt;/</span>label<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&amp;</span>lt<span class="sy0">;</span> ?php</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/* Function: apes_register</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">**</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">** Registers the apes widgets with the widget page</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">**</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">** args: none</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">** returns: nothing</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> apes_register<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="re1">$options</span> <span class="sy0">=</span> get_option<span class="br0">&#40;</span><span class="st0">&#39;widget_apes&#39;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$options</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$widget_ops</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;classname&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="st0">&#39;widget_apes&#39;</span><span class="sy0">,</span> <span class="st0">&#39;description&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> __<span class="br0">&#40;</span><span class="st0">&#39;Displays Flickr Apes&#39;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$control_ops</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;apes_cols&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#39;apes_rows&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#39;apes_tags&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="st0">&#39;apes&#39;</span><span class="sy0">,</span> <span class="st0">&#39;id_base&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="st0">&#39;apes&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$name</span> <span class="sy0">=</span> __<span class="br0">&#40;</span><span class="st0">&#39;Scrape the Apes&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$registered</span> <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span> <span class="br0">&#40;</span> <span class="kw3">array_keys</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re1">$o</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">// Old widgets can have null values for some reason</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$options</span><span class="br0">&#91;</span><span class="re1">$o</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;apes_tags&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">continue</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">// $id should look like {$id_base}-{$o}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$id</span> <span class="sy0">=</span> <span class="st0">&quot;apes-$o&quot;</span><span class="sy0">;</span> <span class="co1">// Never never never translate an id</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$registered</span> <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; wp_register_sidebar_widget<span class="br0">&#40;</span> <span class="re1">$id</span><span class="sy0">,</span> <span class="re1">$name</span><span class="sy0">,</span> <span class="st0">&#39;disp_apes&#39;</span><span class="sy0">,</span> <span class="re1">$widget_ops</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re1">$o</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; wp_register_widget_control<span class="br0">&#40;</span> <span class="re1">$id</span><span class="sy0">,</span> <span class="re1">$name</span><span class="sy0">,</span> <span class="st0">&#39;apes_control&#39;</span><span class="sy0">,</span> <span class="re1">$control_ops</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re1">$o</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co1">// If there are none, we register the widget&#39;s existance with a generic template</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="re1">$registered</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">wp_register_sidebar_widget<span class="br0">&#40;</span> <span class="st0">&#39;apes-1&#39;</span><span class="sy0">,</span> <span class="re1">$name</span><span class="sy0">,</span> <span class="st0">&#39;disp_apes&#39;</span><span class="sy0">,</span> <span class="re1">$widget_ops</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">-1</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">wp_register_widget_control<span class="br0">&#40;</span> <span class="st0">&#39;apes-1&#39;</span><span class="sy0">,</span> <span class="re1">$name</span><span class="sy0">,</span> <span class="st0">&#39;apes_control&#39;</span><span class="sy0">,</span> <span class="re1">$control_ops</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;number&#39;</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="nu0">-1</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// This is important</span></div>
</li>
<li class="li1">
<div class="de1">add_action<span class="br0">&#40;</span> <span class="st0">&#39;widgets_init&#39;</span><span class="sy0">,</span> <span class="st0">&#39;apes_register&#39;</span> <span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>do not expect to see this on wordpress.org ;) when i figure out how the widget code  works i&#8217;ll make something proper.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/scrape-the-ape-three-sidebar-zoo/2008/07/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
