<?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>3RM Design Blog &#187; WordPress</title>
	<atom:link href="http://www.3roadsmedia.com/blog/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3roadsmedia.com/blog</link>
	<description>Website Coding Tips &#38; Graphic Design Inspiration</description>
	<lastBuildDate>Thu, 02 Sep 2010 15:27:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Free WordPress theme: Elegante</title>
		<link>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/</link>
		<comments>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 03:29:09 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/?p=736</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>When we re-launched our site a few months back, we built the entire thing on WordPress and integrated our existing blog into the new design. This left the old blog design orphaned, and so – rather than let it gather figurative dust on our server – we&#8217;ve decided to release it to the public as a free WordPress theme.</p>
<p><span id="more-736"></span></p>
<p>In fact, we enjoyed the process of creating this theme so much that we plan on doing it again. From time to time, we&#8217;ll post a free WordPress theme on our blog for you to download and enjoy. Check back soon or <a href="http://www.3roadsmedia.com/blog/feed/">subscribe to the feed</a> so you don&#8217;t miss out.</p>
<h2>Features</h2>
<p>This theme is essentially a re-purposed and enhanced version of our old blog theme. It won&#8217;t make you coffee, but it will make your blog look good.</p>
<ul>
<li>Widget ready</li>
<li>Supports threaded comments</li>
<li>sIFR enhanced (minimal configuration)</li>
<li>Random, rotating banner images</li>
<li>One-click social bookmarking</li>
<li>Segregated search results (pages styled differently than posts)</li>
<li>Localization support (<strong>interested translators please <a href="http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/#leave-comment">leave a comment below</a></strong>)</li>
<li>Support for WordPress&#8217; Custom Header API</li>
</ul>
<h2>Testing and validation</h2>
<ul>
<li>Tested W3C valid (XHTML 1.0 transitional and CSS 3)</li>
<li>Tested in Firefox 3, Safari 4, Internet Explorer 7 &amp; 8, and Chrome</li>
<li>Tested at resolutions from 1024 x 768 to 1680 x 1050</li>
</ul>
<h2>Requirements</h2>
<ul>
<li>WordPress 2.7 or higher</li>
</ul>
<h2>Download or try the demo</h2>
<p>Grab the zip file below (658 kb) or try out the fully functional demo first.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/Elegante-2.3.zip"><img class="alignnone size-full wp-image-775" title="Download the theme files (658 kb)" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/elegante-download.png" alt="elegante-download" width="274" height="90" /></a><a href="http://www.3roadsmedia.com/themes/elegante/"><img class="alignnone size-full wp-image-776" title="Try a live demo" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/elegante-demo.png" alt="elegante-demo" width="274" height="90" /></a></p>
<p>I&#8217;ve included documentation in the zip file that explains how to install and customize the theme; however, <strong>feel free to post a comment if you get stuck</strong> (or if you find a bug).</p>
<h2>Alternate versions</h2>
<p>sIFR support also requires some extra work, and we like to keep things simple. If you just aren&#8217;t interested in using sIFR on your blog, <strong>you can grab the latest version without sIFR support</strong>.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/Elegante-2.3-no-sifr.zip">Download version 2.3 (no sIFR)</a> (509 kb)</p>
<p>As of 2.2, we decided to drop support for Internet Explorer 6. To keep our theme accessible to users of IE6, we&#8217;ve kept the older 2.1 version available. This version has been fully tested in that browser and works fine.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/Elegante-2.1-beta.zip">Download version 2.1 beta</a> (1.74 MB)</p>
<h2>Legal</h2>
<p>The Elegante WordPress theme is licensed under the <a href="http://www.opensource.org/licenses/gpl-3.0.html">GNU General Public License version 3</a>. In plain terms, this means you are free to download, modify, and use the theme for commercial or personal purposes, <strong>provided that you keep the footer link, which reads “Elegante website theme by 3 Roads”, intact and unchanged.</strong></p>
<h2>Change Log</h2>
<p><strong>2.3 </strong> (23 December 2009)</p>
<ul>
<li> Added localization support</li>
<li>Completely widgetized the sidebar</li>
<li> Added support for WordPress custom header API</li>
<li> Added support for SEO custom fields</li>
<li> Changed to a GPL compatible license</li>
</ul>
<p><strong>2.2 </strong> (30 October 2009)</p>
<ul>
<li> Added support for child and grandchild pages</li>
<li>Added support for sIFR dropdown menus (when child pages are present)</li>
<li> Added new styles for HTML embedded in comments</li>
<li> Added new styles for HTML tables</li>
<li> Enabled comments for pages</li>
<li> Improved image styling (large images no longer break layout)</li>
<li> Comments and trackbacks now display separately</li>
<li> Dropped support for IE6</li>
</ul>
<p><strong>2.1 Beta </strong>(1 October 2009)</p>
<ul>
<li>Added sIFR support for special characters</li>
<li>Actually included the sIFR Flash files this time…</li>
<li>Updated documentation on how to configure sIFR</li>
</ul>
<p><strong>2.0 Beta</strong> (16 September 2009)</p>
<ul>
<li>Initial public release</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Improving WordPress page navigation: fixing next_post_link() and previous_post_link()</title>
		<link>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/</link>
		<comments>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 18:06:07 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Developer's Toolbox]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/?p=746</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>WordPress&#8217; next_post_link() and previous_post_link() functions are used to navigate between posts in single post (permalink) view. They work great&#8230;until you come to the very first or the very last post.</p>
<p><span id="more-746"></span>When viewing the latest post, <strong>next_post_link() </strong>displays nothing; when viewing the earliest post, <strong>previous_post_link() </strong>displays nothing. This can result in some less than friendly navigation.</p>
<p><strong>In this post, </strong><strong>I&#8217;ll show you how to use a built-in WordPress function and PHP conditionals to improve your WordPress page navigation.</strong></p>
<h2>The problem</h2>
<p>Here is an example of <strong>next_post_link() </strong>and <strong>previous_post_link() </strong>at work on our blog&#8217;s old theme:</p>
<div id="attachment_756" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-756" title="wp_post_functions_example" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_example.png" alt="wp_post_functions_example" width="516" height="128" /><p class="wp-caption-text">When viewing a post that is neither the newest nor the oldest, the post navigation links display as expected.</p></div>
<p>The trouble with these functions comes when you get to the first or last post. In the case of the first, you&#8217;ll have something like this:</p>
<div id="attachment_757" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-757" title="wp_post_functions_missing_previous" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_missing_previous.png" alt="wp_post_functions_missing_previous" width="516" height="128" /><p class="wp-caption-text">When viewing the oldest post, the &quot;previous post&quot; link disappears, leaving an ugly hole.</p></div>
<p>And when viewing the last post, you&#8217;ll have something like this:</p>
<div id="attachment_758" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-758" title="wp_post_functions_missing_next" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_missing_next.png" alt="wp_post_functions_missing_next" width="516" height="128" /><p class="wp-caption-text">Similarly, when viewing the newest post, the &quot;next post&quot; link disappears.</p></div>
<h2>To the rescue: get_adjacent_post</h2>
<p>We&#8217;re going to use the obscure WordPress function <strong>get_adjacent_post()</strong> to check if&#8230; (shockingly) &#8230;there is an adjacent post. If there isn&#8217;t, we output whatever HTML markup we like to take the place of the gaping hole we&#8217;re trying to fill. If there <em>is </em>an adjacent post, we output it as normal.</p>
<p>The function retrieves a link to the adjacent post (either next or previous) and takes the following form&#8230;</p>
<pre>get_adjacent_post([bool $in_same_cat, string $excluded_categories, bool $previous])</pre>
<p>&#8230;and has these parameters:</p>
<ul>
<li><strong>$in_same_cat</strong> : Whether the link should be in the same category</li>
<li><strong>$excluded_categories</strong> : A comma-separated list of excluded category IDs</li>
<li><strong>$previous</strong> : Whether to retrieve the previous post</li>
</ul>
<h2>The solution, with sample markup</h2>
<p>The code block below contains the markup you should add to your <strong>single.php</strong> template file. Place it where you&#8217;d like your navigation to appear, then adjust the parameters and output to suit your needs.</p>
<pre><span style="color: #000080;">&lt;span id=<span style="color: #0000ff;">"prev"</span>&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> previous_post_link<span style="color: #000080;">(</span><span style="color: #ff0000;">'%link'</span>, <span style="color: #ff0000;">'&amp;laquo; Previous'</span><span style="color: #000080;">)</span>; <span style="color: #ff0000;">?&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> <span style="color: #008000;">if</span><span style="color: #000080;">(!</span>get_adjacent_post<span style="color: #000080;">(</span><span style="color: #008000;">false</span>, <span style="color: #ff0000;">''</span>, <span style="color: #008000;">true</span><span style="color: #000080;">))</span> <span style="color: #000080;">{</span> <span style="color: #0000ff;">echo </span><span style="color: #ff0000;">'&lt;span&gt;&amp;laquo;Previous&lt;/span&gt;'</span>; <span style="color: #000080;">}</span> <span style="color: #ff9900;">// if there are no older articles</span> <span style="color: #ff0000;">?&gt;</span>
<span style="color: #000080;">&lt;/span&gt;</span>
<span style="color: #000080;">&lt;span id=<span style="color: #0000ff;">"next"</span>&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> next_post_link<span style="color: #000080;">(</span><span style="color: #ff0000;">'%link'</span>, <span style="color: #ff0000;">'Next &amp;raquo;'</span><span style="color: #000080;">)</span>; <span style="color: #ff0000;">?&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> <span style="color: #008000;">if</span><span style="color: #000080;">(!</span>get_adjacent_post<span style="color: #000080;">(</span><span style="color: #008000;">false</span>, <span style="color: #ff0000;">''</span>, <span style="color: #008000;">false</span><span style="color: #000080;">))</span> <span style="color: #000080;">{</span> <span style="color: #0000ff;">echo </span><span style="color: #ff0000;">'&lt;span&gt;Next &amp;raquo;&lt;/span&gt;'</span>; <span style="color: #000080;">}</span> <span style="color: #ff9900;">// if there are no newer articles</span> <span style="color: #ff0000;">?&gt;</span>
<span style="color: #000080;">&lt;/span&gt;</span></pre>
<p>I then added this line to my CSS file:</p>
<pre><span style="color: #ff00ff;">#prev span, #next span { <span style="color: #000080;">color</span>:<span style="color: #0000ff;">#ccc</span>; }</span> <span style="color: #999999;">/* lighter than the normal anchor text */</span></pre>
<p>And here is the final result:</p>
<div id="attachment_759" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-759" title="wp_post_functions_result" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_result.png" alt="wp_post_functions_result" width="516" height="256" /><p class="wp-caption-text">The final result, showing user-friendly language at both ends.</p></div>
<p>In the example above, I grayed out the inactive links. If you have more room, you might get creative by replacing the text with something like &#8220;Sorry, there aren&#8217;t any newer posts!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>
