<?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>Nerdaphernalia &#187; blogging</title>
	<atom:link href="http://striderweb.com/nerdaphernalia/tag/blogging/feed/" rel="self" type="application/rss+xml" />
	<link>http://striderweb.com/nerdaphernalia</link>
	<description>"It's All Geek To Me"</description>
	<lastBuildDate>Wed, 21 Dec 2011 18:51:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Virtual Multiblog and WordPress 2.6</title>
		<link>http://striderweb.com/nerdaphernalia/2008/07/attention-virtual-multiblog-users/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/07/attention-virtual-multiblog-users/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 16:25:42 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[On the Front Lines]]></category>
		<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[announcements]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[multiblog]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[upgrades]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/?p=76</guid>
		<description><![CDATA[This is an important note to anyone using my Virtual Multiblog system for WordPress: WordPress version 2.6 is going to be released very soon. Until I have had time to test Virtual Multiblog on WP 2.6, I recommend that you not upgrade WordPress past 2.5.1. I&#8217;ve always said that the VMB system is quite future-proof, [...]]]></description>
			<content:encoded><![CDATA[<p>This is an important note to anyone using my <a href="http://striderweb.com/nerdaphernalia/features/virtual-multiblog/">Virtual Multiblog system</a> for WordPress:</p>
<p>WordPress version 2.6 is going to be released very soon.  Until I have had time to test Virtual Multiblog on WP 2.6, I recommend that you <em><strong>not</strong></em> upgrade WordPress past 2.5.1.</p>
<p>I&#8217;ve always said that the VMB system is quite future-proof, &#8220;unless WordPress makes significant changes to wp-config.php&#8221;.  Well, WP 2.6 allows users to change the location of that critical file, <em>and</em> the <code>wp-content</code> folder.  Either one of these changes may have ramifications for Virtual Multiblog.</p>
<p>Hang Tight folks.  I&#8217;ll test it out and let you know.</p>
<p>if somebody daring does take the plunge, I would appreciate any problem reports. <img src='http://striderweb.com/nerdaphernalia/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/07/attention-virtual-multiblog-users/">Permalink to Virtual Multiblog and WordPress 2.6</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/07/attention-virtual-multiblog-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Anti-Spam &#8220;Quiz&#8221; beta test</title>
		<link>http://striderweb.com/nerdaphernalia/2008/06/anti-spam-quiz-beta-test/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/06/anti-spam-quiz-beta-test/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 15:48:59 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[GUI Goodness]]></category>
		<category><![CDATA[On the Front Lines]]></category>
		<category><![CDATA[Tha Interweb]]></category>
		<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[anti-spam]]></category>
		<category><![CDATA[beta test]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/?p=74</guid>
		<description><![CDATA[In the last couple weeks I have been working on a significant update to Andy Skelton&#8217;s Quiz plugin for WordPress. Andy gave me some feedback, which led to further fixes, and I think it&#8217;s working pretty well. As of this morning I have turned off the Spam Karma plugin, which has been protecting this blog [...]]]></description>
			<content:encoded><![CDATA[<p>In the last couple weeks I have been working on a significant update to Andy Skelton&#8217;s <a href="http://wordpress.org/extend/plugins/quiz/">Quiz plugin</a> for WordPress.  Andy gave me some feedback, which led to further fixes, and I think it&#8217;s working pretty well.</p>
<p>As of this morning I have turned <em>off</em> the Spam Karma plugin, which has been <a href="#fnote74_1" class="fnotelink">protecting this blog from comment spam<sup>1</sup></a> for a few years now.  In its place I have activated a beta version of Quiz.</p>
<p>What the plugin does is add a question to the Comments form, which must be answered correctly before a comment is submitted.  You can set a default question, set a different question per-post, or choose for a particular post to not have a question.</p>
<p>This is pretty close to a release version, I think, but I would appreciate some feedback from the community.  It requires (I think) WordPress 2.5.</p>
<p>You can download it here: <a href="/wp-content/docs/nerd/downloads/comment-quiz/quiz1_1_0_b5.zip">Quiz 1.1 beta 5</a></p>
<p>Note: If you have been using Andy&#8217;s version 1.0, the Q&#038;As you have entered previously should still work, but you will have to re-enter your settings on the new admin page (no more editing PHP files).  Also, rather than using pseudo-shortcodes, you now enter the Q&#038;A in a regular meta box on the Edit Post screen.  If there is demand, I may restore the ability to continue using the shortcode method, but for now it is gone.</p>
<p class="update">[Update: If upgrading from 1.0, you must deactivate it and reactivate once to set the default preferences.]</p>
<div class="fnote" id="fnote74_1">1: I am, however, still running Bad Behavior as well.</div>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/06/anti-spam-quiz-beta-test/">Permalink to Anti-Spam &#8220;Quiz&#8221; beta test</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/06/anti-spam-quiz-beta-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Give your WordPress plugin credit without cluttering the GUI</title>
		<link>http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 13:34:03 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[GUI Goodness]]></category>
		<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/?p=73</guid>
		<description><![CDATA[In a previous post I discussed the idea of locating your plugin&#8217;s Settings screen where it made sense within the Admin menus &#8212; giving an example of my own pull-quotes plugin&#8217;s Settings going under the Design menu. I briefly touched on a further aspect of this, when I suggested that authors not make their plugins [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="/nerdaphernalia/2008/06/on-plugin-design/">previous post</a> I discussed the idea of locating your plugin&#8217;s Settings screen where it made sense within the Admin menus &#8212; giving an example of my own pull-quotes plugin&#8217;s Settings going under the Design menu.  I briefly touched on a further aspect of this, when I suggested that authors not make their plugins scream &#8220;This is a plugin!&#8221;</p>
<p><img src="/wp-content/docs/nerd/images/holiday_inn_sign.jpg" alt="A massive neon Holiday Inn sign" title="Ah, the 70s..." style="float: right;" />I&#8217;m sure a lot of people reading that first thought &#8220;But wait!  I put a lot of time into my plugin &#8212; I <em>want</em> people to know that it&#8217;s a plugin!&#8221;  So we end up with an admin screen titled <strong>John&#8217;s Comment Filter Plugin 3.2</strong> or worse, a &#8220;<a href="http://en.wikipedia.org/wiki/Mystery_meat_navigation">mystery meat</a>&#8221; menu item that <a href="#fnote73_1" class="fnotelink">doesn&#8217;t identify what the plugin does at all<sup>1</sup></a>!  That first example is somewhat like having a store with a giant flashing neon sign up front &#8212; it certainly gets the information across, but it&#8217;s not all that attractive, and very obtrusive on the surrounding landscape.</p>
<p>I admit that we&#8217;re riding a line here &#8212; we all want credit for our hard work; but awkward plugin integration, spread out over multiple plugins, can end up making WordPress itself look awfully kludgy.  <span class="pullquote pqLeft"><!-- Our plugins deserve better -->Our blogs, and our plugins, deserve better than that!</span></p>
<p>So, we&#8217;re looking for a way to give credit where credit is due, while maintaining a clean integrated interface that looks as though it were a part of WordPress from the beginning.  First, name the menu item for what the screen is for, not what the plugin is called.  Ditto the page &lt;title&gt; and header.  By way of example, my pull-quotes plugin is called &#8220;JavaScript Pull-Quotes&#8221;, but the Admin screen is under Design -&gt; Pull-Quotes, and the page title and header read &#8220;Pull-Quote Settings&#8221;.  The menu item and page header do <em>not</em> have to match the name of the plugin!</p>
<p>Okay, so&#8230; what if you still want to show the plugin name, and maybe have a link back to the plugin&#8217;s homepage?  Simply allow your eyes to drift downward to the bottom of the admin screen&#8230;</p>
<p><img src="/wp-content/docs/nerd/images/discreet_plugin_attribution.png" height="146" width="469" alt="screenshot" title="" /></p>
<p>There&#8217;s the name of the plugin, the version number, and a link back to the home page; but it&#8217;s discreet and unobtrusive &#8212; it looks as though it belongs there.  The information is there if you&#8217;re interested, but it doesn&#8217;t get in your way if you&#8217;re not; giving us a good balance between giving credit and keeping the GUI clean.  Of course, if enough plugin authors start doing it on all their plugins, people will come to expect that bit of extra info, and that little slice of screen real estate will be as good as gold.</p>
<p>Here&#8217;s how I do it:</p>
<ul>
<li>Within the function that creates the content of the Admin page itself, put the following line (probably best at the very beginning or very end of the function):
<pre><code>add_action( 'in_admin_footer', 'myplugin_admin_footer' );</code>
</pre>
<p>This attaches a function to the page footer that will insert our attribution text.
</li>
<li>Then of course we have to add the footer function itself:
<pre><code>function myplugin_admin_footer() {
	$plugin_data = get_plugin_data( __FILE__ );
	printf('%1$s plugin | Version %2$s&lt;br /&gt;', $plugin_data['Title'], $plugin_data['Version']);
}</code>
</pre>
</li>
</ul>
<p>That&#8217;s pretty straightforward &#8212; all we&#8217;re doing is outputting a line of HTML &#8212; but I should point out a couple of things.  <del datetime="2008-07-02T04:35:59+00:00" title="Removed -- see update note at bottom of article">First, we&#8217;re wrapping it in an <code>if()</code> and checking against <code>$_SERVER['REQUEST_URI']</code> because we don&#8217;t want our plugin&#8217;s attribution showing up on every page.  (Of course, you&#8217;ll have to change the URL string in that <code>if()</code> so it&#8217;s right for your particular page.)</del>  You can use <code>in_admin_footer</code> to insert anything you like, of course, but in the interests of creating something resembling a standard, I hope you consider sticking to the format I give above.  (One alternate that comes to mind, however, is that some people might prefer to use something like &#8220;Comments Filter Plugin | Version 3.2 | By John Smith&#8221;.  Go for it. <img src='http://striderweb.com/nerdaphernalia/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )  I definitely recommend the <code >&lt;br /&gt;</code> at the end of the text you&#8217;re inserting &#8212; otherwise it will be clumped on the same line as the existing text, which will look cluttered and will diminish your own plugin&#8217;s attribution.</p>
<p>We&#8217;ve just torn down the ugly neon sign, and replaced it with an engraved brass plaque next to the door.  Not too bad, that.  In the longer run, this is something that might be nice to roll into core WordPress code, which would <em>really</em> make it a consistent standard.  Until then, it&#8217;s quite easy to give your own plugins credit in a way that cleanly and elegantly integrates with WordPress.</p>
<p class="update">[Update: Ozh improved upon my code a bit by moving the <code>add_action()</code> into the function that creates the Admin page itself.  It simplified things quite nicely, and the code above has been adjusted accordingly.]</p>
<p class="update">[There are updates to this topic <a href="http://striderweb.com/nerdaphernalia/2008/07/wordpress-plugin-attribution-footer-update/">here</a> and <a href="http://striderweb.com/nerdaphernalia/2008/07/on-attribution-and-plugin-priorities-in-wordpress/">here</a>.]</p>
<p class="note">Previously: <a href="/nerdaphernalia/2008/06/wp-use-action-links/">Use Action Links to direct users straight to your WordPress plugin&#8217;s admin page</a></p>
<p class="note">Coming next: <a href="/nerdaphernalia/2008/07/consolidate-options-with-arrays/">Consolidating your plugin&#8217;s settings so you don&#8217;t clutter up users&#8217; <code>wp_options</code> tables</a></p>
<div class="fnote" id="fnote73_1">1: I didn&#8217;t originally intend to name names, but a good example jumped out at me recently.  Under the &#8220;Manage&#8221; menu I have an item called &#8220;<a href="http://joelstarnes.co.uk/pagemash/">pageMash</a>&#8220;.  Quick (no peeking!) &#8212; what does it do???  It&#8217;s an <em>amazing</em> plugin, by the way, just poorly integrated in the menus.</div>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/">Permalink to Give your WordPress plugin credit without cluttering the GUI</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Virtual Multiblog v2.3 for WordPress</title>
		<link>http://striderweb.com/nerdaphernalia/2008/06/virtual-multiblog-v23-for-wordpress/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/06/virtual-multiblog-v23-for-wordpress/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 14:50:24 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[multiblog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/?p=70</guid>
		<description><![CDATA[I&#8217;ve released a new version of the Virtual Multiblog system for WordPress. Version 2.3 is mostly under-the-hood improvements, but it might fix some of the issues people have. Additionally, I&#8217;ve made a few updates so it fits more seamlessly within the WordPress 2.5 Admin section. I&#8217;ve also managed to abstract the optional Multiblog Support plugin [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released a new version of the Virtual Multiblog system for WordPress.</p>
<p>Version 2.3 is mostly under-the-hood improvements, but it might fix some of the issues people have.  Additionally, I&#8217;ve made a few updates so it fits more seamlessly within the WordPress 2.5 Admin section.</p>
<p>I&#8217;ve also managed to abstract the optional Multiblog Support plugin to such a point that after this update you may never have to update it again!  All plugin functions are now within the <code>/multiblog/</code> folder, so changes down the road will happen within the main VMB system files instead of the separate plugin file.</p>
<p><a href="/nerdaphernalia/features/virtual-multiblogvirtual-multiblog/">Go get it</a>, and Enjoy!  <img src='http://striderweb.com/nerdaphernalia/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/06/virtual-multiblog-v23-for-wordpress/">Permalink to Virtual Multiblog v2.3 for WordPress</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/06/virtual-multiblog-v23-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Multiblog 2.2</title>
		<link>http://striderweb.com/nerdaphernalia/2008/03/virtual-multiblog-22/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/03/virtual-multiblog-22/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 08:20:14 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[Virtual Multiblog]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/2008/03/virtual-multiblog-22/</guid>
		<description><![CDATA[New version of Virtual Multiblog is up! Version 2.2 has a number of under the hood changes and bug fixes. It also includes an improved and clarified ReadMe, so if you&#8217;ve had problems, give it a look. NOTE TO UPGRADERS: If you have used a previous version of Virtual Multiblog, be aware that the wp-config.php [...]]]></description>
			<content:encoded><![CDATA[<p>New version of <a href="/nerdaphernalia/features/virtual-multiblog/">Virtual Multiblog</a> is up!</p>
<p>Version 2.2 has a number of under the hood changes and bug fixes.  It also includes an improved and clarified ReadMe, so if you&#8217;ve had problems, give it a look.</p>
<p>NOTE TO UPGRADERS: If you have used a previous version of Virtual Multiblog, be aware that the wp-config.php file has changed &#8212; you must replace the one in your main WordPress directory with the new version (included).</p>
<p>Also note &#8212; if any of you have been adventurous enough to use the functions in templates and such, there has been a change there as well.  Where they were previously called as <code>vmb::function()</code>, they are now called through the <code>$vmb</code> object, like so:  <code>$vmb-&gt;function()</code>.  I&#8217;ve tried very hard to make this system &#8220;future proof&#8221;, and I apologize if this change messes anybody up.  I do believe that the new setup is going to remain very stable going forward.</p>
<p>I put a LOT of time into this one, folks.  There was actually a version 2.1.2 that I was going to release, but I kept rolling along with &#8220;Well, I should fix this too.  And I wanted to add that thing.  Oh, wait, what about&#8230;.&#8221;  And here we are. <img src='http://striderweb.com/nerdaphernalia/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You know, kind of like the <a href="http://wordpress.org/development/2008/03/wordpress-25-brecker/">just-released WordPress <del>2.4</del> <ins>2.5</ins></a>.  (And yes, the timing relative to that was just a coincidence!)</p>
<p><a href="/nerdaphernalia/features/virtual-multiblog/">Go get it!</a></p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/03/virtual-multiblog-22/">Permalink to Virtual Multiblog 2.2</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/03/virtual-multiblog-22/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tags vs. Categories</title>
		<link>http://striderweb.com/nerdaphernalia/2008/03/tags-vs-categories/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/03/tags-vs-categories/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 14:26:24 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[GUI Goodness]]></category>
		<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[categories]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[the Internet]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/2008/03/tags-vs-categories/</guid>
		<description><![CDATA[A question that comes up in blogging circles from time to time is what the difference is between Comments and Tags. Most blogging software allows you to mark posts with both, and the distinction is often times not clear. I like to think of it as like walking into a supermarket. Categories are the big [...]]]></description>
			<content:encoded><![CDATA[<p>A question that comes up in blogging circles from time to time is what the difference is between Comments and Tags.  Most blogging software allows you to mark posts with both, and the distinction is often times not clear.</p>
<p>I like to think of it as like walking into a supermarket. Categories are the big signs over the aisles, and tags are the contents labels on the products.  Thus: Categories = broad sweeps; Tags = details.</p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/03/tags-vs-categories/">Permalink to Tags vs. Categories</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/03/tags-vs-categories/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automated Indexes and wp_reset_query()</title>
		<link>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes-and-wp_reset_query/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes-and-wp_reset_query/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 20:47:46 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress functions]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/2008/01/automated-indexes-and-wp_reset_query/</guid>
		<description><![CDATA[I&#8217;ve made a code change to the WordPress indexing system outlined in my previous post. If you had problems with the template, try the new code. What I&#8217;ve done is add the wp_reset_query() function to the end of the loop that gathers the pages. This can avoid conflicts with other code that may be running [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made a code change to the WordPress indexing system outlined in <a href="/nerdaphernalia/2008/01/automated-indexes/">my previous post</a>.  If you had problems with the template, try the new code.</p>
<p>What I&#8217;ve done is add the <code>wp_reset_query()</code> function to the end of the loop that gathers the pages.  This can avoid conflicts with other code that may be running in your templates.</p>
<p>In general, it&#8217;s good advice to any of you WordPress coders out there who use the <code>query_posts()</code> function, or in general run custom instances of the <code>$wp_query</code> object in plugins or templates.  When you&#8217;re done with whatever you&#8217;re doing, put things back the way you found them by following it up with a call to <code>wp_reset_query()</code>.</p>
<p>(By the way &#8212; it isn&#8217;t terribly well documented yet, but the original discussion leading to the function&#8217;s creation can be found at <a href="http://trac.wordpress.org/ticket/4741">http://trac.wordpress.org/ticket/4741</a>.)</p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/01/automated-indexes-and-wp_reset_query/">Permalink to Automated Indexes and wp_reset_query()</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes-and-wp_reset_query/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automated Indexes</title>
		<link>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes/</link>
		<comments>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 16:20:17 +0000</pubDate>
		<dc:creator>Stephen R</dc:creator>
				<category><![CDATA[GUI Goodness]]></category>
		<category><![CDATA[Webcraft]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://striderweb.com/nerdaphernalia/2008/01/automated-indexes/</guid>
		<description><![CDATA[This site has several areas where there is a page that serves as an index for a bunch of sub-pages. Some good examples seen from this page are the &#8220;Features&#8221; and &#8220;Webcraft&#8221; sections of Nerdaphernalia. If you look at those pages they are simply lists of various articles with a short description for each. Originally [...]]]></description>
			<content:encoded><![CDATA[<p>This site has several areas where there is a page that serves as an index for a bunch of sub-pages.  Some good examples seen from this page are the &#8220;<a href="/nerdaphernalia/features/">Features</a>&#8221; and &#8220;<a href="/nerdaphernalia/webcraft/">Webcraft</a>&#8221; sections of Nerdaphernalia.  If you look at those pages they are simply lists of various articles with a short description for each.</p>
<p>Originally I was simply hand-crafting those lists within the normal Page editor screen in WordPress.  More recently I&#8217;ve been tinkering with a better system, and I&#8217;ve finally gotten it working.  (It would have worked a <em>lot</em> more quickly, but a third-party plugin involved had a bug, which I had to fix myself &#8212; more on that in a moment&#8230;.)  The end result is <span class="pullquote">a straightforward system for fully automated section index pages</span>.</p>
<p>The first thing that needs to be done is to make a page template for the sections.  I made a copy of the <code>page.php</code> file in my theme and renamed it <code>section_index.php</code>.  Just below the code that displays the main content, I put the following:</p>
<pre><code >&lt;ul class="section_index"&gt;
&lt;?php
	query_posts('child_of='.$post-&gt;ID.'&amp;static=true&amp;posts_per_page=-1&amp;order=ASC');
	if(have_posts()) : while (have_posts()) : the_post(); ?&gt;
		&lt;li&gt;&lt;a href="&lt;?php the_permalink();?&gt;"&gt;&lt;?php the_title();?&gt;&lt;/a&gt;&lt;br /&gt;
		&lt;?php the_excerpt(); ?&gt;&lt;/li&gt;
	&lt;?php endwhile; endif; wp_reset_query(); ?&gt;
&lt;/ul&gt;</code>
</pre>
<p>Just below that, I removed the Comments code.  Depending on your theme, you may or may not have to do that too.</p>
<p>One more thing &#8212; in order for WordPress to recognize our new template as a Page Template, we need to put the following up at the top of the file, just inside the opening&nbsp;&#8221;<code>&lt;?php</code>&#8221; :</p>
<pre>
<code >/*
Template Name: Section Index
*/</code>
</pre>
<p>Having done that, our new template will now show up in the Edit Page screen in the &#8220;Page Template&#8221; list.  Not so fast, though!  It won&#8217;t work quite yet &#8212; there&#8217;s a bit more we need to do.  Let&#8217;s back up for a moment and take a look at one line of our template code:</p>
<pre>
<code >query_posts('child_of='.$post-&gt;ID.'&amp;static=true&amp;posts_per_page=-1&amp;order=ASC');</code>
</pre>
<p>See that &#8220;child_of&#8221; parameter?  That&#8217;s not something that WordPress recognizes.  <span class="pullquote">If you run a page with that template now, your blog will have an attack of the vapors</span>!  We need to teach it a new trick first.</p>
<p>We&#8217;re going to need two plugins, which just so happen to be A) highly complementary, and B) programmed by the same person:  Peter &#8220;westi&#8221; Westwood.  Go download and install these two plugins:</p>
<ul>
<li><a href="http://blog.ftwr.co.uk/wordpress/page-excerpt/">PJW Page Excerpt</a></li>
<li><a href="http://blog.ftwr.co.uk/wordpress/query-child-of-page/">PJW Query Child Of</a></li>
</ul>
<p><code>PJW Page Excerpt</code> is a very straightforward plugin.  You know how a blog post can have a custom &#8220;excerpt&#8221;?  Once you activate this plugin, Pages can have them too.</p>
<p><code>PJW Query Child Of</code> is going to teach WordPress that new trick we were just talking about a minute ago.  Once you activate this plugin, the <code>query_posts()</code> function in WordPress will know what to do with the <code>child_of</code> parameter.  (As a side note, this was the plugin with the bug I fixed.  Peter had accidentally uploaded an earlier version of the file&#8230;.)</p>
<p>Once you have those both activated, you need to go into the edit screen for each Page in the section, and add a bit of &#8220;summary&#8221; text in the Excerpt field.  This text is going to appear below the Page title in the index.</p>
<p>One last step and we&#8217;re done:  Go the the edit screen for the section index Page, and set the template to (you guessed it) &#8220;Section Index&#8221;.  You might want to also change the text in the main content area &#8212; that will appear above the Page listing itself.  For an example of the end result, take a look at the <a href="/nerdaphernalia/features/">Features</a> page on this site.</p>
<p>After you&#8217;ve set this up, making new sections is simple: when you make the section&#8217;s main page, set the template to &#8220;Section Index&#8221;.  Then, when making new Pages, remember to write a short description in the Excerpt section.  The index Page will automatically populate with new sub-pages as you add them.</p>
<p>One final note:  if you don&#8217;t want page descriptions in your index, and just want a raw list of Page titles, you can use the pre-existing <code><a href="http://codex.wordpress.org/wp_list_pages">wp_list_pages</a>()</code> function.  It&#8217;s part of WordPress already, so you don&#8217;t need the plugins to use it.  I think the method I describe here is a lot more flexible, but you can save some steps if your needs are simpler than mine.</p>
<p class="note">But Wait!  There&#8217;s More!  Here&#8217;s a free bonus tip for you:  Copy the following and paste it into your Section Index template file between the <code >&lt;?php the_title();?&gt;&lt;/a&gt;</code> and the <code >&lt;br /&gt;</code>.  See what happens!  <img src='http://striderweb.com/nerdaphernalia/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<pre>
<code >&lt;?php edit_post_link(__('Edit', 'sandbox'),'&lt;span class="edit-link"&gt;','&lt;/span&gt;') ?&gt;</code>
</pre>
<p>Good luck!</p>
<p class="update">[Update: added <code >wp_reset_query();</code> to the template code above.  This is a reset that might avoid some conflicts with other code running on your site.]</p>
<hr />
© <a href="http://striderweb.com/">Stephen Rider</a> 2008
<p>This article was originally published at <a href="http://striderweb.com/nerdaphernalia">Nerdaphernalia</a>.  <a href="http://planetwordpress.planetozh.com/" rel="nofollow">Planet WordPress</a> is authorized to reproduce WordPress-related entries.  <em>If you're reading this at any other web site, the site owner is stealing copyrighted work.  Please visit the original page:</em></p>

<small><a href="http://striderweb.com/nerdaphernalia/2008/01/automated-indexes/">Permalink to Automated Indexes</a></small>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://striderweb.com/nerdaphernalia/2008/01/automated-indexes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

