<?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 &#187; plugins</title>
	<atom:link href="http://austinmatzko.com/tag/plugins/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>22</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>1</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>26</slash:comments>
		</item>
		<item>
		<title>Filosofo&#8217;s WordPress Gravatar Plugin</title>
		<link>http://austinmatzko.com/2007/10/23/gravatar-plugin/</link>
		<comments>http://austinmatzko.com/2007/10/23/gravatar-plugin/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 16:50:24 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[gravatars]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2007/10/23/gravatar-plugin/</guid>
		<description><![CDATA[Automattic, the company behind WordPress, recently acquired Gravatar. In case you don&#8217;t know, gravatars&#8212;or &#8220;globally recognized avatars&#8221;&#8212;are images that you can associate with an email address, so a picture of your choice can appear alongside your comments on many others&#8217; blogs. Gravatar already provides a simple WordPress plugin, but it suffers from a common plugin [...]]]></description>
			<content:encoded><![CDATA[<p>Automattic, the company behind WordPress, <a href="http://blog.gravatar.com/2007/10/18/automattic-gravatar/">recently acquired Gravatar</a>.  In case you don&#8217;t know, <a href="http://site.gravatar.com/">gravatars</a>&#8212;or &#8220;globally recognized avatars&#8221;&#8212;are images that you can associate with an email address, so a picture of your choice can appear alongside your comments on many others&#8217; blogs.</p>
<p><a href="http://site.gravatar.com/site/implement#section_2_2">Gravatar already provides a simple WordPress plugin</a>,  but it suffers from a common plugin problem: if you add its &#8220;gravatar&#8221; function to your comments template, you either have to wrap it in a <code>function_exists</code> check, or you&#8217;ll get a fatal error when you deactivate the plugin.</p>
<p>My gravatar plugin lets you use WordPress&#8217;s action hook callback system, so it just disappears when the plugin is deactivated.</p>
<h3>How it works:</h3>
<ul>
<li>
<p>If you just want to display a commenter&#8217;s gravatar image, just add<br />
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> do_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'gravatar'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp;</div>
<p> to the appropriate place in your WordPress comments.php template.  By default, it will generate a gravatar image.</p>
</li>
<li>
<p>But you can customize it as much as you want, by passing an array of arguments to the &#8216;gravatar&#8217; action hook.  On my blog I&#8217;ve done the following:</p>
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> do_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'gravatar'</span><span style="color: #66cc66;">,</span> <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'div_class'</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'gravatar'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'return'</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'div'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'default'</span> <span style="color: #66cc66;">=&gt;</span> get_bloginfo<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'stylesheet_directory'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">.</span> <span style="color: #ff0000;">'/images/default_gravatar.png'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'rating'</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'PG'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp;</div>
<p>That tells the plugin to wrap the gravatar image in a <code>div</code> with a class of &#8220;gravatar&#8221;, using a default gravatar image located in my theme&#8217;s images directory, and returning only PG-rated gravatars.</p>
<p>Here is a complete list of arguments you can pass to the gravatar hook:</p>
<ul>
<li><strong><code>alt</code></strong>: Text for the <code>alt</code> attribute of the gravatar image.</li>
<li><strong><code>border</code>, <code>b</code></strong>: An argument you can pass to the gravatar server, the &#8220;border&#8221; is a hex color to be generated around the gravatar image.</li>
<li><strong><code>comment_author_email</code></strong>: The email on which to base the gravatar.  By default, the plugin gets this from the comment&#8217;s author email.</li>
<li><strong><code>default</code>, <code>d</code></strong>: The default image to use if no gravatar is available.</li>
<li><strong><code>div_class</code></strong>: A class for the <code>div</code> element surrounding the gravatar, if you&#8217;ve set &#8220;return&#8221; to &#8220;div.&#8221;</li>
<li><strong><code>echo</code></strong>: Whether to echo the result (true by default).  If you wanted to assign the gravatar image URL to a variable named <code>$path</code>, you would do the following:<br />
<div class="filosofo-highlight-light php" style="font-family: monospace;"><br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #ff0000">$path</span> <span style="color: #66cc66;">=</span> apply_filters<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'gravatar'</span><span style="color: #66cc66;">,</span> <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'echo'</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'return'</span> <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp;</div>
</li>
<li><strong><code>gravatar_id</code>, <code>g</code></strong>: The gravatar id.  Usually this is generated from the commenter&#8217;s email, but if you want you can pass it directly.</li>
<li><strong><code>img_class</code></strong>: A class for the gravatar <code>img</code> element.</li>
<li><strong><code>rating</code>, <code>r</code></strong>: The rating of allowed gravatar images, as explained at the gravatar website.  Optinos are G, PG, R, and X.</li>
<li><strong><code>return</code></strong>: What to return.  By default, this is an image element (&#8220;img&#8221;).  You can also select &#8220;div&#8221; for a <code>div</code> element around an image, or just return the path to the image with &#8220;return&#8221; set to &#8220;&#8221;.</li>
<li><strong><code>pattern</code></strong>: Any string containing <code>%s</code>; the plugin will return that string, replacing <code>%s</code> with the gravatar image path.
<p> For example, setting &#8220;pattern&#8221; to <code><span><img src="%s" /></span></code> would return the gravatar image in a <code>span</code> element.</li>
<li><strong><code>size</code>, <code>s</code></strong>: The size of the gravatar image, in pixels.  Currently it can range between 1 and 80.</li>
</ul>
</li>
</ol>
<h3>Download</h3>
<h4>Filosofo Gravatar Plugin 1.5 | March 15, 2007</h4>
<div class="download-wrap">
<ul>
<li><a href="http://austinmatzko.com/downloads/plugins/filosofo-gravatars.zip" class="plugin-download-link">filosofo-gravatars.zip</a></li>
<li><a href="http://austinmatzko.com/downloads/plugins/filosofo-gravatars.tar.gz" class="plugin-download-link">filosofo-gravatars.tar.gz</a></li>
</ul>
</div>
<p>If you have problems, questions, or suggestions, please leave a comment below or open a ticket in my <a href="/forum/">support forum</a>.</p>
<p>
		<div class="plugin-ad"><p>See some of the other  <a 
		href="/blog/wordpress-plugins/">WordPress plugins I&rsquo;ve created</a>.
		<br />
		Like this plugin?  Is it worth a latte?</p><form class="paypal-link" action="https://www.paypal.com/cgi-bin/webscr" method="post">
		<input type="hidden" name="cmd" value="_s-xclick" />
		<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" style="border:0px" name="submit" alt="Make payments with PayPal - it&rsquo;s fast, free and secure!" />
		<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----" />
		</form><a class="amazon-link" href="http://www.amazon.com/gp/registry/wishlist/3UDISU45QDVNG/ref=wl_web"><img src="http://g-ecx.images-amazon.com/images/G/01/gifts/registries/wishlist/v2/web/wl-btn-74-b._V46774601_.gif" width="74" alt="My Amazon.com Wish List" height="42" border="0" /></a><p>This month I have received <strong>$31.50</strong> in donations for the free plugins I offer here, which is about $0.01 per download.</p>
		</div></p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2007/10/23/gravatar-plugin/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
	</channel>
</rss>

