<?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>Austin Matzko&#039;s Blog</title>
	<atom:link href="http://austinmatzko.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://austinmatzko.com</link>
	<description>A blog about philosophy, Christianity, web development and whatever else I feel like writing about.</description>
	<lastBuildDate>Wed, 16 Mar 2011 17:14:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2-RC4-18391</generator>
		<item>
		<title>New Plugin: WordPress Appearance Date</title>
		<link>http://austinmatzko.com/2010/05/19/plugin-wps-appearance-date/</link>
		<comments>http://austinmatzko.com/2010/05/19/plugin-wps-appearance-date/#comments</comments>
		<pubDate>Thu, 20 May 2010 02:55:57 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wp-appearance-date]]></category>

		<guid isPermaLink="false">http://austinmatzko.com/?p=660</guid>
		<description><![CDATA[I created this plugin because I needed a way to show posts earlier than their scheduled publish date. The client wanted posts to be scheduled for March, with everything that entails: March dates, appearing the March archives, etc., except appearing a week earlier. WP Appearance Date lets you set arbitrary dates for your posts to [...]]]></description>
			<content:encoded><![CDATA[<p>I created this plugin because I needed a way to show posts earlier than their scheduled publish date.  The client wanted posts to be scheduled for March, with everything that entails: March dates, appearing the March archives, etc., except appearing a week earlier.</p>
<p><a href="http://austinmatzko.com/wordpress-plugins/wp-appearance-date/">WP Appearance Date</a> lets you set arbitrary dates for your posts to appear, whether early or late.</p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2010/05/19/plugin-wps-appearance-date/feed/</wfw:commentRss>
		<slash:comments>156</slash:comments>
		</item>
		<item>
		<title>New Plugin: WP Delayed Email</title>
		<link>http://austinmatzko.com/2010/05/14/new-plugin-wp-delayed-email/</link>
		<comments>http://austinmatzko.com/2010/05/14/new-plugin-wp-delayed-email/#comments</comments>
		<pubDate>Fri, 14 May 2010 16:03:30 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wp-delayed-mail]]></category>
		<category><![CDATA[wp_mail]]></category>

		<guid isPermaLink="false">http://austinmatzko.com/?p=647</guid>
		<description><![CDATA[I needed a way to send an email in the future, so I came up with WP Delayed Email. Activate the plugin, and you can call wp_delayed_mail() just like you would wp_mail(), except that you pass a timestamp argument for the time you want the email to be sent.]]></description>
			<content:encoded><![CDATA[<p>I needed a way to send an email in the future, so I came up with <a href="/wordpress-plugins/wp-delayed-mail/">WP Delayed Email</a>.  Activate the plugin, and you can call <code>wp_delayed_mail()</code> just like you would <code>wp_mail()</code>, except that you pass a timestamp argument for the time you want the email to be sent.</p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2010/05/14/new-plugin-wp-delayed-email/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Middle Tennessee Flooding</title>
		<link>http://austinmatzko.com/2010/05/01/nashville-flooding/</link>
		<comments>http://austinmatzko.com/2010/05/01/nashville-flooding/#comments</comments>
		<pubDate>Sun, 02 May 2010 00:39:28 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Nashville]]></category>
		<category><![CDATA[Flooding]]></category>

		<guid isPermaLink="false">http://ilfilosofo.com/?p=626</guid>
		<description><![CDATA[We&#8217;ve had a crazy amount of rain today. Here are a few pictures from the interstate traffic camera just a few miles from our house. We live on a hill, and still there&#8217;s some water coming up through cracks in the basement floor and flowing through the garage.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve had a crazy amount of rain today.  Here are a few pictures from the interstate traffic camera just a few miles from our house.  </p>
<p>We live on a hill, and still there&#8217;s some water coming up through cracks in the basement floor and flowing through the garage.</p>
<p>
<a href='http://austinmatzko.com/2010/05/01/nashville-flooding/cam83_21/' title='Flooding near Briley Parkway'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/cam83_21-150x150.jpg" class="attachment-thumbnail" alt="Flooding near Briley Parkway" title="Flooding near Briley Parkway" /></a>
<a href='http://austinmatzko.com/2010/05/01/nashville-flooding/24-flooding-3/' title='Looking west on I-24'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/24-flooding-3-150x150.jpg" class="attachment-thumbnail" alt="Picture of cars and trucks in floodwaters of Interstate 24" title="Looking west on I-24" /></a>
<a href='http://austinmatzko.com/2010/05/01/nashville-flooding/24-flooding-2/' title='Flooding on I-24 in Nashville'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/24-flooding-2-150x150.jpg" class="attachment-thumbnail" alt="Trucks and cars stranded on I-24" title="Flooding on I-24 in Nashville" /></a>
<a href='http://austinmatzko.com/2010/05/01/nashville-flooding/24-flooding-1/' title='East on I-24'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/24-flooding-1-150x150.jpg" class="attachment-thumbnail" alt="Vehicles stranded in Interstate 24 flood waters" title="East on I-24" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2010/05/01/nashville-flooding/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New WordPress Plugin: Custom Image Sizes</title>
		<link>http://austinmatzko.com/2010/03/11/plugin-creates-wordpress-thumbnails-on-demand/</link>
		<comments>http://austinmatzko.com/2010/03/11/plugin-creates-wordpress-thumbnails-on-demand/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 04:29:22 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://ilfilosofo.com/?p=593</guid>
		<description><![CDATA[I make a lot of WordPress themes, and frequently clients want to associate a particular size of image with a post. You can do this easily with WordPress by using add_image_size() to define an image and then by calling wp_get_attachment_image() later to print the markup for that image. So for example, if I have an [...]]]></description>
			<content:encoded><![CDATA[<p>I make a lot of WordPress themes, and frequently clients want to associate a particular size of image with a post.  You can do this easily with WordPress by using <code>add_image_size()</code> to define an image and then by calling <code>wp_get_attachment_image()</code> later to print the markup for that image.</p>
<p>So for example, if I have an attachment image of ID number 123, I might do something like the following:</p>
<pre>

add_image_size( 'my-custom-size', 220, 180, true );
...
echo wp_get_attachment_image( 123, 'my-custom-size' );
</pre>
<p>Here, <code>add_image_size()</code> defines the custom thumbnail (in this example the arguments tell <code>add_image_size()</code> to make it 220 pixels wide, 180 high, and cropped), and </p>
<pre>echo wp_get_attachment_image()</pre>
<p>prints the markup of the image itself, <code>&lt;img&gt;</code> element and everything.</p>
<h3>The Problem</h3>
<p>This works great; WordPress even creates thumbnails in this size from now on.  The problem is that it doesn&#8217;t apply to pre-existing thumbnails.  And if people change their minds about what sizes they want their thumbnails to be (clients sometimes change their minds) you&#8217;re stuck with existing thumbnails of the wrong size.</p>
<p>In addition, if you call <code>wp_get_attachment_image( 123, 'my-custom-size' );</code> and that size doesn&#8217;t exist, WordPress just scales down the larger-sized original image, which might cause some performance issues.</p>
<h3>Solution: Custom Image Sizes</h3>
<p>My solution is the <a href="/blog/wordpress-plugins/filosofo-custom-image-sizes/">Custom Image Sizes plugin</a>.  You activate it, and if you call <code>wp_get_attachment_image()</code> and related functions for an attachment that doesn&#8217;t have that size, WordPress will create it on demand.</p>
<p>As a bonus, if you pass a width and height of the desired image to <code>wp_get_attachment_image()</code> (and related functions), you can create any size image.  So for example I could create a thumbnail 50 pixels wide by 40 high of attachment 123 with the following code, where <code>'50x40'<code> is <code>'[width]x[height]'</code>:</p>
<pre>

echo wp_get_attachment_image( 123, '50x40' );
</pre>
<h3>Download</h3>
<p>You can <a href="/blog/wordpress-plugins/filosofo-custom-image-sizes/">download the Custom Image Sizes plugin here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2010/03/11/plugin-creates-wordpress-thumbnails-on-demand/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Welcome, Benjamin!</title>
		<link>http://austinmatzko.com/2009/07/26/welcome-benjamin/</link>
		<comments>http://austinmatzko.com/2009/07/26/welcome-benjamin/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 07:19:02 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Friends and Family]]></category>
		<category><![CDATA[Babies]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/?p=549</guid>
		<description><![CDATA[My second son, Benjamin Eliot, was born today at 3:19 CDT, weighing 8lbs. 15oz. and 21 inches long. Like his older sister he was born VBAC, and like his older brother he has a full head of hair.]]></description>
			<content:encoded><![CDATA[<p>My second son, Benjamin Eliot, was born today at 3:19 CDT, weighing 8lbs. 15oz. and 21 inches long.  <a href="http://www.ilfilosofo.com/blog/2007/12/17/welcome-maggie/">Like his older sister he was born VBAC</a>, and <a href="http://www.ilfilosofo.com/blog/2006/06/08/sam-matzko/">like his older brother he has a full head of hair</a>. </p>
<p>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/austin_ben/' title='Proud Daddy'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/austin_ben-150x150.jpg" class="attachment-thumbnail" alt="Proud Daddy" title="Proud Daddy" /></a>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/ben_bath/' title='Ben getting a bath'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/ben_bath-150x150.jpg" class="attachment-thumbnail" alt="Ben getting a bath" title="Ben getting a bath" /></a>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/ben_head/' title='Cozy in his blanket'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/ben_head-150x150.jpg" class="attachment-thumbnail" alt="Ben cozy in his blanket" title="Cozy in his blanket" /></a>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/ben_table/' title='Ben in his baby cart'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/ben_table-150x150.jpg" class="attachment-thumbnail" alt="Ben in his baby cart" title="Ben in his baby cart" /></a>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/melita_ben/' title='Ben and Mama'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/melita_ben-150x150.jpg" class="attachment-thumbnail" alt="Ben and Mama" title="Ben and Mama" /></a>
<a href='http://austinmatzko.com/2009/07/26/welcome-benjamin/family_with_ben/' title='Family with Ben'><img width="150" height="150" src="http://austinmatzko.com/wp-content/uploads/family_with_ben-150x150.jpg" class="attachment-thumbnail" alt="Family with Benjamin" title="Family with Ben" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2009/07/26/welcome-benjamin/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>5 Things of Interest to Developers in the New WordPress 2.8</title>
		<link>http://pressedwords.com/stuff-new-in-wp-2-8-for-coders/</link>
		<comments>http://pressedwords.com/stuff-new-in-wp-2-8-for-coders/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 07:53:44 +0000</pubDate>
		<dc:creator>Austin Matzko</dc:creator>
				<category><![CDATA[Pressed Words]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://pressedwords.com/stuff-new-in-wp-2-8-for-coders/</guid>
		<description><![CDATA[With each major WordPress release, public changes like the new widgets administrative interface usually get all the glory. Here are some new features in WordPress 2.8 that most users won&#8217;t even know exist but you will probably care about, if you&#8217;re a WordPress developer. Widgets API The new widgets API lets you create widgets by [...]]]></description>
			<content:encoded><![CDATA[<p>With each major WordPress release, public changes like the new widgets administrative interface usually get all the glory.  Here are some new features in <a href="http://wordpress.org/development/2009/06/wordpress-28/">WordPress 2.8</a> that most users won&#8217;t even know exist but you will probably care about, if you&#8217;re a WordPress developer.</p>
<ul>
<li><strong>Widgets API</strong>  The <a href="http://codex.wordpress.org/WordPress_Widgets_Api">new widgets API</a> lets you create widgets by extending the <code>WP_Widget</code> class.  If making a multi-widget with the old system was like trying to piece together your kid&#8217;s bicycle on Christmas Eve, the new API rolls out the bike for you, tires inflated and topped with a bow.
</li>
<li><strong>SimplePie RSS</strong>  WordPress has been using the MagpieRSS class to parse RSS feeds.  Trouble is, Magpie development ground to a halt about four years ago, meaning when contemporary feeds flummoxed Magpie, flustered developers <a href="http://core.trac.wordpress.org/ticket/2864">fumed, futilely</a>.  In 2.8, WordPress now reads RSS with <a href="http://simplepie.org/">SimplePie</a>, an active project with a robust API.
</li>
<li><strong>New Escape Functions</strong>  A new set of functions consistently named and <a href="http://en.wikipedia.org/wiki/DRY">DRY</a>-er now make your strings sparkly clean and cuddly safe.
<ul>
<li><code>esc_sql()</code>: A wrapper for the <code>$wpdb-&gt;escape()</code> method.</li>
<li><code>esc_url()</code>: Clean up an untrustworthy URL for printing.</li>
<li><code>esc_url_raw()</code>: Clean up an untrustworthy URL for storing in the database.</li>
<li><code>esc_js()</code>: Make text suitable for printing as a JavaScript string.</li>
<li><code>esc_html()</code>: Convert characters that have special meaning in HTML (such as <code>&gt;</code> and <code>&lt;</code>) into their equivalent character entities.</li>
<li><code>esc_attr()</code>: Prepare text so that it&#8217;s safe to be used in an HTML element attribute.</li>
<li><code>esc_attr__()</code>, <code>esc_attr_e()</code>, and <code>esc_attr_x()</code>: Make a translatable string safe for printing as an HTML element attribute.  E.g.,<br />
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<span style="color: #66cc66;">&lt;</span>a href<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> title<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;?php esc_attr_e('Translate me'); ?&gt;&quot;</span><span style="color: #66cc66;">&gt;</span><br />
&nbsp;</div>
</li>
<li><code>esc_html__()</code> and <code>esc_html_e()</code>: Like the last two, but for escaping HTML characters in general.</li>
</ul>
</li>
<li><strong><code>get_the_author_meta()</code></strong> User data is spread out between two database tables and has been accessed&#8212;until now&#8212;by a number of methods.  <a href="http://codex.wordpress.org/Template_Tags/the_author_meta"><code>get_the_author_meta()</code></a> retrieves user data with one easy-to-remember function.
</li>
<li><strong><code>the_post</code> Action Hook</strong> Called in <code>setup_postdata()</code>, the <code>the_post</code> action hook is one of those things that seems so obvious and so useful that you can&#8217;t believe it hasn&#8217;t existed until now.  At a crucial moment it passes the current global <code>$post</code> variable by reference: during <a href="http://codex.wordpress.org/The_Loop">the Loop</a> right after global variables are set but before they&#8217;re used in the template.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/stuff-new-in-wp-2-8-for-coders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paged Comments and the SEO Problem: A Solution</title>
		<link>http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/</link>
		<comments>http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 00:26:03 +0000</pubDate>
		<dc:creator>Austin Matzko</dc:creator>
				<category><![CDATA[Pressed Words]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/</guid>
		<description><![CDATA[The paged comments feature new in WordPress 2.7 is handy for reducing page size, but it introduces the search engine optimization (SEO) problem of putting the same content on different permalinks, as some have pointed out. That&#8217;s because the complete post would appear at all of these permalinks: http://example.com/my-post-permalink/ http://example.com/my-post-permalink/comment-page-1/ http://example.com/my-post-permalink/comment-page-2/ My solution in this [...]]]></description>
			<content:encoded><![CDATA[<p>The paged comments feature new in WordPress 2.7 is handy for reducing page size, but it introduces the search engine optimization (SEO) problem of putting the same content on different permalinks, as <a href="http://comox.textdrive.com/pipermail/wp-hackers/2008-December/023189.html">some have pointed out</a>. That&#8217;s because the complete post would appear at all of these permalinks:</p>
<p><code>http://example.com/my-post-permalink/</code><br />
<code>http://example.com/my-post-permalink/comment-page-1/</code><br />
<code>http://example.com/my-post-permalink/comment-page-2/</code></p>
<p>My solution in this short plugin is to have all but the main permalink show an excerpt of the post, with a link back to the permalink page.</p>
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<br />
<span style="color: #808080; font-style: italic;">/*<br />
&nbsp;Plugin Name: SEO for Paged Comments<br />
&nbsp;Version: 1.0<br />
&nbsp;Description: Reduce SEO problems when using WordPress's paged comments.<br />
&nbsp;Plugin URI: http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/<br />
&nbsp;Author: Austin Matzko<br />
&nbsp;Author URI: http://www.pressedwords.com<br />
&nbsp;*/</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> seo_paged_comments_content_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$t</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0000">$cpage</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">intval</span><span style="color: #66cc66;">&#40;</span>get_query_var<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'cpage'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span> <span style="color: #000066;">empty</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$cpage</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;remove_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_content'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'seo_paged_comments_content_filter'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;<span style="color: #ff0000">$t</span> <span style="color: #66cc66;">=</span> get_the_excerpt<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;<span style="color: #ff0000">$t</span> <span style="color: #66cc66;">.=</span> <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&lt;p&gt;&lt;a href=&quot;%1$s&quot;&gt;%2$s&lt;/a&gt;&lt;/p&gt;'</span><span style="color: #66cc66;">,</span> get_permalink<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> get_the_title<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">return</span> <span style="color: #ff0000">$t</span><span style="color: #66cc66;">;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
add_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_content'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'seo_paged_comments_content_filter'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
<br />
&nbsp;</div>
<p><strong>Download:</strong><br />
<a href='http://pressedwords.com/blog/uploads/2008/12/paged-comments-seo.zip'>paged-comments-seo.zip</a><br />
<a href='http://pressedwords.com/blog/uploads/2008/12/paged-comments-seo.tar.gz'>paged-comments-seo.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Themes and Vagueness</title>
		<link>http://pressedwords.com/wordpress-themes-and-vagueness/</link>
		<comments>http://pressedwords.com/wordpress-themes-and-vagueness/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 18:05:35 +0000</pubDate>
		<dc:creator>Austin Matzko</dc:creator>
				<category><![CDATA[Pressed Words]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://pressedwords.com/wordpress-themes-and-vagueness/</guid>
		<description><![CDATA[Recently there&#8217;s been a kerfuffle in the WordPress blogosphere over the fact that WordPress.org suddenly removed 200 themes from the Extend repository, in order to make all themes comply with this apparently new stipulation: Themes for sites that support &#8220;premium&#8221; (non-GPL or compatible) themes will not be approved. Alister Cameron has written a post that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there&#8217;s been a kerfuffle in the WordPress blogosphere <a href="http://spectacu.la/wordpressorg-pull-200-gpl-themes/">over</a> <a href="http://justintadlock.com/archives/2008/12/11/automattic-putting-the-boot-to-premium-theme-developers">the</a> <a href="http://www.jeffro2pt0.com/why-were-200-wordpress-themes-removed">fact</a> that WordPress.org suddenly removed 200 themes from the Extend repository, in order to make all themes comply with <a href="http://wordpress.org/extend/themes/about/">this apparently new stipulation</a>:</p>
<blockquote><p>Themes for sites that support &#8220;premium&#8221; (non-GPL or compatible) themes will not be approved. </p>
</blockquote>
<p>Alister Cameron has written <a href="http://www.alistercameron.com/2008/12/14/matt-mullenweg-wordpress-gpl/">a post that&#8217;s excellent in describing the issue</a> (Matt Mullenweg, head of WordPress.org and the one who removed the themes, <a href="http://www.alistercameron.com/2008/12/14/matt-mullenweg-wordpress-gpl/#comment-19881">seems to like Cameron&#8217;s post too</a>). Here Cameron gets to the heart of the matter:</p>
<blockquote><p>If your theme was pulled and yet it was GPL licensed, there are only two options. Either it was a mistake (email Matt), or you were linking from it to a site that sold other themes that do contravene the GPL. If the latter is the case then you are in the awkward place of making the argument that Matt was wrong to defend the spirit of the GPL, beyond just the letter of it. </p>
</blockquote>
<p>Perhaps unintentionally Cameron highlights the problem with WordPress.org&#8217;s actions: the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GPL</a> does not really have a spirit.  The GPL is a license&#8212;a license that makes possible wonderful things, but still just a legal document.  When you start trying to defend spirits, you stray from interpretation of a legal document into divination.</p>
<p>What that really means is making judgment calls based on vague or ineffable criteria.  WordPress.org can do that because it pays the bills.  Legally and perhaps ethically it&#8217;s justified in excluding themes that overuse the color blue, if the corporation wants.  But in practice, excluding good GPL&#8217;d themes because their authors have sites that &#8220;support&#8221; non-GPL&#8217;d stuff will foster ill-will.  It will seem just as arbitrary as excluding a too-blue theme because the criteria are just as vague, and that arbitrariness will always seem like capriciousness to those on the receiving end of the stick.</p>
<p>In other words, it&#8217;s unclear what constitutes &#8220;support.&#8221;  According to comments on the posts to which I linked above, &#8220;support&#8221; meant just an ad for a premium theme developer.  What about blog posts that promote or otherwise offer aid to premium theme developers&#8212;does that taint a site with &#8220;support&#8221;?  No one should have to parse answers to questions like that.</p>
<p>We don&#8217;t need more vagueness.  One of the main reasons we have more or less precise legal documents and legal systems for their interpretation is that we want to establish confidence in the stability of the system.  We won&#8217;t invest serious time, money, or other resources when we don&#8217;t have confidence about whether our work will be contravened by a subjective judgment call.  Subjective judgment calls are fine for our own lives or the businesses that are under our purview.  But when it comes to a community, when it means possibly hurting others, there should be greater transparency and specificity regarding the criteria.</p>
<p>So WordPress.org should remove that clause forbidding sites that &#8220;support&#8221; non-GPL&#8217;d stuff, not because as an independent, non-profit organization it doesn&#8217;t have the right to do so (it does).  WordPress.org should remove that clause because it harms the WordPress community by introducing unnecessary arbitrariness. </p>
<p>Besides, good GPL&#8217;d themes&#8212;no matter who creates theme&#8212;are a benefit to the community.  We the community get a free theme, and since we&#8217;re adults we&#8217;re capable of deciding whether the theme author&#8217;s site is one that we think worthy of our attention.</p>
<p>There is a good amount of talent in the WordPress themes business.  If the Extend repository becomes hostile to theme authors of quality themes, then the talent will go somewhere else.  That hurts non-technical WordPress users, who benefit from a central repository that they know is free from spammy links and back-door code, and home to top-notch themes. </p>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/wordpress-themes-and-vagueness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monthly Archives Idea</title>
		<link>http://pressedwords.com/tabular-wordpress-archives/</link>
		<comments>http://pressedwords.com/tabular-wordpress-archives/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 04:05:22 +0000</pubDate>
		<dc:creator>Austin Matzko</dc:creator>
				<category><![CDATA[Pressed Words]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://pressedwords.com/tabular-wordpress-archives/</guid>
		<description><![CDATA[Charles Stricklin, WordPress Podcast guru, had an interesting idea for arranging monthly WordPress archives, which is basically to make an archives page like this.]]></description>
			<content:encoded><![CDATA[<p>Charles Stricklin, WordPress Podcast guru, <a href="http://charlesstricklin.com/2008/11/12/crafting-a-different-archives-template/">had an interesting idea for arranging monthly WordPress archives</a>, which is basically to make an archives page like this:</p>
<table>
<tbody>
<tr>
<th>2005</th>
<td><a></td>
<td><a href="http://www.example.com/2005/02/">Feb</a></td>
<td><a></td>
<td><a href="http://www.example.com/2005/04/">Apr</a></td>
<td><a></td>
<td><a href="http://www.example.com/2005/06/">Jun</a></td>
<td><a href="http://www.example.com/2005/07/">Jul</a></td>
<td><a href="http://www.example.com/2005/08/">Aug</a></td>
<td><a href="http://www.example.com/2005/09/">Sep</a></td>
<td><a href="http://www.example.com/2005/10/">Oct</a></td>
<td><a href="http://www.example.com/2005/11/">Nov</a></td>
<td><a href="http://www.example.com/2005/12/">Dec</a></td>
</tr>
<tr>
<th>2006</th>
<td><a href="http://www.example.com/2006/01/">Jan</a></td>
<td><a href="http://www.example.com/2006/02/">Feb</a></td>
<td><a href="http://www.example.com/2006/03/">Mar</a></td>
<td><a href="http://www.example.com/2006/04/">Apr</a></td>
<td><a href="http://www.example.com/2006/05/">May</a></td>
<td><a href="http://www.example.com/2006/06/">Jun</a></td>
<td><a href="http://www.example.com/2006/07/">Jul</a></td>
<td><a href="http://www.example.com/2006/08/">Aug</a></td>
<td><a href="http://www.example.com/2006/09/">Sep</a></td>
<td><a href="http://www.example.com/2006/10/">Oct</a></td>
<td><a href="http://www.example.com/2006/11/">Nov</a></td>
<td><a></td>
</tr>
<tr>
<th>2007</th>
<td><a href="http://www.example.com/2007/01/">Jan</a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a></td>
</tr>
<tr>
<th>2008</th>
<td><a href="http://www.example.com/2008/01/">Jan</a></td>
<td><a></td>
<td><a></td>
<td><a href="http://www.example.com/2008/04/">Apr</a></td>
<td><a></td>
<td><a href="http://www.example.com/2008/06/">Jun</a></td>
<td><a></td>
<td><a></td>
<td><a></td>
<td><a href="http://www.example.com/2008/10/">Oct</a></td>
<td><a></td>
<td><a></td>
</tr>
</tbody>
</table>
<p>Here&#8217;s how to do it just using the WordPress API (instead of direct database queries):</p>
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span> <span style="color: #ff0000">$calendar</span> <span style="color: #66cc66;">=</span> wp_cache_get<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;year_month_archive&amp;#39;, &amp;#39;archive&amp;#39;) ) {</span><br />
     <span style="color: #ff0000">$calendar</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     <span style="color: #ff0000">$year</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;Y&amp;#39;);</span><br />
     <span style="color: #ff0000">$mo_qry</span> <span style="color: #66cc66;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WP_Query<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     <span style="color: #ff0000">$yr_qry</span> <span style="color: #66cc66;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WP_Query<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     <span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#123;</span><br />
          <span style="color: #ff0000">$yr_qry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;year&amp;#39; =&gt; $year, &amp;#39;showposts&amp;#39; =&gt; 1));</span><br />
          <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$yr_qry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">have_posts</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
               <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$m</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">;</span> <span style="color: #ff0000">$m</span> <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">12</span><span style="color: #66cc66;">;</span> <span style="color: #ff0000">$m</span><span style="color: #66cc66;">++</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
                    <span style="color: #ff0000">$mo_qry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;year&amp;#39; =&gt; $year, &amp;#39;monthnum&amp;#39; =&gt; $m, &amp;#39;showposts&amp;#39; =&gt; 1));</span><br />
                    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$mo_qry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">have_posts</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
                         <span style="color: #ff0000">$calendar</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000">$year</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000">$m</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;M&amp;#39;, mktime(1,1,1, $m, 1, $year)), get_month_link($year, $m));</span><br />
                    <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><br />
                         <span style="color: #ff0000">$calendar</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000">$year</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000">$m</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;&amp;#39;,&amp;#39;&amp;#39;);</span><br />
                    <span style="color: #66cc66;">&#125;</span><br />
               <span style="color: #66cc66;">&#125;</span><br />
          <span style="color: #66cc66;">&#125;</span><br />
          <span style="color: #ff0000">$year</span> <span style="color: #66cc66;">=</span> <span style="color: #000066;">intval</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$year</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$yr_qry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">have_posts</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     <span style="color: #000066;">ksort</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$calendar</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span><br />
     wp_cache_set<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span><span style="color: #808080; font-style: italic;">#39;year_month_archive&amp;#39;, $calendar, &amp;#39;archive&amp;#39;);</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<span style="color: #66cc66;">&lt;</span>table<span style="color: #66cc66;">&gt;</span><br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$calendar</span> <span style="color: #b1b100;">as</span> <span style="color: #ff0000">$year</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000">$m</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
     <span style="color: #66cc66;">&lt;</span>tr<span style="color: #66cc66;">&gt;&lt;</span>th<span style="color: #66cc66;">&gt;&lt;</span>?php <span style="color: #000066;">echo</span> <span style="color: #ff0000">$year</span><span style="color: #66cc66;">;</span> ?<span style="color: #66cc66;">&gt;&lt;/</span>th<span style="color: #66cc66;">&gt;</span><br />
     <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000">$m</span> <span style="color: #b1b100;">as</span> <span style="color: #ff0000">$data</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
          <span style="color: #66cc66;">&lt;</span>td<span style="color: #66cc66;">&gt;&lt;</span>a href<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;?php echo $data[1]; ?&gt;&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>?php <span style="color: #000066;">echo</span> <span style="color: #ff0000">$data</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">;</span> ?<span style="color: #66cc66;">&gt;&lt;/</span>a<span style="color: #66cc66;">&gt;&lt;/</span>td<span style="color: #66cc66;">&gt;</span>     <br />
     <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endforeach</span><span style="color: #66cc66;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
     <span style="color: #66cc66;">&lt;/</span>tr<span style="color: #66cc66;">&gt;</span><br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endforeach</span><span style="color: #66cc66;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<span style="color: #66cc66;">&lt;/</span>table<span style="color: #66cc66;">&gt;</span><br />
<br />
&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/tabular-wordpress-archives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Halloween</title>
		<link>http://pressedwords.com/happy-halloween/</link>
		<comments>http://pressedwords.com/happy-halloween/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 01:38:56 +0000</pubDate>
		<dc:creator>Austin Matzko</dc:creator>
				<category><![CDATA[Pressed Words]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://pressedwords.com/happy-halloween/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://pressedwords.com/blog/uploads/2008/10/wp-pumpkin2.jpg" alt="WordPress Pumpkin" width="500" height="398" class="size-full wp-image-115" /></p>
<p><img src="http://pressedwords.com/blog/uploads/2008/10/wp-pumpkin1.jpg" alt="WordPress Pumpkin" width="500" height="648" class="size-full wp-image-116" /></p>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/happy-halloween/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
