<?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>I Am Blogie &#187; how-to</title>
	<atom:link href="http://blogie.me/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogie.me</link>
	<description>The is my homesite. This site aggregates feeds from all my blogs, and will contain my most updated résumé.</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:43:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Related posts with thumbnail</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/YrgGf2tRDOk/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/YrgGf2tRDOk/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 13:33:02 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[Extending WordPress]]></category>
		<category><![CDATA[featured plugins]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[related posts]]></category>
		<category><![CDATA[theme modification]]></category>
		<category><![CDATA[YARPP]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=118</guid>
		<description><![CDATA[This is for those of you WordPressers who use YARPP (a.k.a. Yet Another Related Posts Plugin) and any of the excellent themes by WooThemes for your blogs. Especially if you&#8217;d like to spice up the plugin&#8217;s output a bit. I use YARPP on almost all of my WordPress sites, and I&#8217;ve started tweaking the plugin&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>This is for those of you WordPressers who use <a href="http://mitcho.com/code/yarpp/" class="extlink" >YARPP</a> (a.k.a. <em>Yet Another Related Posts Plugin</em>) and any of the excellent themes by <a href="http://www.woothemes.com/amember/go.php?r=6094" class="extlink" >WooThemes</a> for your blogs. Especially if you&#8217;d like to spice up the plugin&#8217;s output a bit.</p>
<p>I use YARPP on almost all of my WordPress sites, and I&#8217;ve started tweaking the plugin&#8217;s output, inspired by another related-posts plugin that I saw on <a href="http://www.davaobase.com">DavaoBase</a> recently. That other plugin is called <a href="http://www.linkwithin.com/learn" class="extlink"  rel="nofollow">LinkWithin</a>, and I like how it displays related posts with thumbnails. However, this plugin has almost no options, unlike YARPP, which has tons of it! (And I&#8217;m suspicious of LinkWithin&#8217;s way of inserting redirects &#8212; it&#8217;s as if, for whatever reason, they&#8217;re out to track the clicks&#8230;)</p>
<div id="attachment_120" class="wp-caption alignleft" style="width: 183px"><a href="http://wp-evangelist.com/2011/01/related-posts-with-thumbnail/scrncap_dvodeli-post/" rel="attachment wp-att-120"><img src="http://wp-evangelist.com/images/2011/01/scrncap_dvodeli-post-173x200.jpg" alt="DavaoDeli.com screenshot" title="DavaoDeli.com post screenshot" width="173" height="200" class="size-thumbnail wp-image-120" /></a><p class="wp-caption-text">DavaoDeli.com screenshot</p></div>
<p>So, here&#8217;s something I&#8217;d like to share with those of you who&#8217;d like to keep using YARPP and display a thumbnail for every related post displayed on your blog posts. The screenshot here shows a post from my <a href="http://www.davaodeli.com/">food blog</a> &#8212; take a look at the bottom part (in the red square) with the &#8220;<span style="font-style:italic; font-family:Georgia,serif; color:#71B153;">You might also like&#8230;</span>&#8221; heading.</p>
<p>YARPP has a set of sample templates that let you control the visual output of the plugin. Instead of settling for the default settings, you can have a higher degree of control over how the related posts are displayed by using the YARPP templates. Simply copy one of those templates (located in <code>wp-content/plugins/yet-another-related-posts-plugin/yarpp-templates</code>) into your current theme&#8217;s directory, modify that template to your heart&#8217;s desire, then activate it via the YARPP settings page.</p>
<h4>The custom YARPP template</h4>
<p>Create a template file in your theme directory that will contain the related-posts code. For our purposes, let&#8217;s name this file <code>yarpp-template-thumbs.php</code> (N.B., for YARPP to recognize the template, it has to be prepended by &#8220;yarpp-template-&#8221;). The code I wrote for DavaoDeli.com is the following:</p>
<pre>
&lt;?php /*
YARPP Template for use with post thumbnails
Requires WordPress 2.9+ and the WooThemes framework
Author: Blogie
*/ ?&gt;

&lt;?php if ($related_query-&gt;have_posts()) : ?&gt;

&lt;div class=&quot;relthumbs&quot;&gt;
	&lt;h5 class=&quot;relposts&quot;&gt;You might also like...&lt;/h5&gt;
	&lt;ul class=&quot;relposts-thumbs&quot;&gt;

	&lt;?php while ($related_query-&gt;have_posts()) : $related_query-&gt;the_post(); ?&gt;

		&lt;li class=&quot;relitem&quot;&gt;
			&lt;?php woo_image(&#039;key=image&amp;width=80&amp;height=80&amp;class=relimg&#039;); ?&gt;
			&lt;span class=&quot;thumb-ttl&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/span&gt;
		&lt;/li&gt;

	&lt;?php endwhile; ?&gt;
	&lt;/ul&gt;
&lt;/div&gt;

&lt;?php else: ?&gt;

	&lt;p&gt;No related posts at the moment.&lt;/p&gt;

&lt;?php endif; ?&gt;
</pre>
<p>Line 7 above declares the start of the special WordPress Loop that calls the related posts (handled by the plugin). Line 16, on the other hand, is the one that displays the thumbnails. It&#8217;s a built-in function in all WooThemes.com themes with WooFramework version 3+.</p>
<div id="attachment_121" class="wp-caption alignright" style="width: 210px"><a href="http://wp-evangelist.com/2011/01/related-posts-with-thumbnail/scrncap_yarpp-settings/" rel="attachment wp-att-121"><img src="http://wp-evangelist.com/images/2011/01/scrncap_yarpp-settings-200x126.jpg" alt="YARPP settings" title="YARPP settings" width="200" height="126" class="size-thumbnail wp-image-121" /></a><p class="wp-caption-text">YARPP settings</p></div>
<p>For those of you who don&#8217;t use WooThemes, don&#8217;t despair. There is a YARPP template included with the plugin that you can use. It&#8217;s called <code>yarpp-template-thumbnail.php</code>. Just copy that template to your current theme directory, activate the template via the YARPP settings page, and make sure to follow the instructions contained in <a href="http://codex.wordpress.org/Function_Reference/has_post_thumbnail" class="extlink" >this page</a> from the WP Codex.</p>
<p>(If you&#8217;re using a child theme, place the thumbnail-related WordPress functions in the child theme&#8217;s <code>functions.php</code> template.)</p>
<p>That&#8217;s it! I hope you&#8217;ve found this useful. <img src='http://wp-evangelist.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/YrgGf2tRDOk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2011/01/related-posts-with-thumbnail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with custom taxonomies</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/hcEbSaNO5Eo/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/hcEbSaNO5Eo/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 19:41:14 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[ClassiPress]]></category>
		<category><![CDATA[custom category]]></category>
		<category><![CDATA[custom taxonomy]]></category>
		<category><![CDATA[how-to]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=109</guid>
		<description><![CDATA[Looking around in the WP codex, it dawned on me that there&#8217;s not much yet that&#8217;s been documented about how WordPress lets us manipulate custom taxonomies. Since WP2.3, we&#8217;ve been able to create custom post types, which can have their own custom categories and custom tags. The beauty of this is that, you can divide [...]]]></description>
			<content:encoded><![CDATA[<p>Looking around in the WP codex, it dawned on me that there&#8217;s not much yet that&#8217;s been documented about how WordPress lets us manipulate <a href="http://codex.wordpress.org/Custom_Taxonomies" class="extlink"  title="view definition">custom taxonomies</a>. Since WP2.3, we&#8217;ve been able to create custom post types, which can have their own custom categories and custom tags. The beauty of this is that, you can divide your content into regular posts (and use them exclusively for blogging) and specialized posts that are meant for non-blog stuff.</p>
<p>For example, I&#8217;m working on a classified-ads site and the premium theme package I&#8217;ve chosen makes use of custom post types. It&#8217;s a wonderful theme (<a href="http://appthemes.com/cp/go.php?r=3136&#038;i=l1" rel="nofollow" class="extlink" >ClassiPress</a>) and I love it. Classified ads appear in their own custom posts called ad listings, and are posted under ad categories. The screenshot of the site&#8217;s dashboard (<em>see image</em>) shows an extra menu item that says &#8220;Ads&#8221;. <a href="http://wp-evangelist.com/2010/12/working-with-custom-taxonomies/scrncap_dabiz-dashboard/" rel="attachment wp-att-110"><img src="http://wp-evangelist.com/images/2010/12/scrncap_dabiz-dashboard-150x142.png" alt="Dabawenyo.biz dashboard" title="Dabawenyo.biz dashboard" width="150" height="142" class="alignleft size-thumbnail wp-image-110" /></a> The ad listings, their categories and tags are accessible under this menu.</p>
<p>The ClassiPress theme (made by Appthemes.com) has lots of cool built-in features, too, such as a way for ad posters &#8212; people who submit ads to the site &#8212; to mark for-sale items as &#8220;sold&#8221;. And, when ads are marked thus, the ad page would have a &#8220;sold&#8221; tag prominently displayed on it. Problem is, I&#8217;ve put in other classified-ads sections in the mix: <em>For Hire</em>, <em>For Rent</em> and <em>Personals</em>. It wouldn&#8217;t be a good idea to have, say, a caterer&#8217;s services advertised under the <em>For Hire</em> section to be marked as &#8220;sold&#8221;, would it?</p>
<div class="woo-sc-box tick   ">The challenge was to customize the theme&#8217;s functions so that only ads posted under the <em>For Sale</em> section (or under its sub-categories) would be able to have the &#8220;sold&#8221; tag. I thought WP&#8217;s native <code>in_category()</code> and related functions would be enough. Wrong. That particular function only works with the default taxonomy system (ie., regular categories and link categories). So, I&#8217;d like to share here how I solved it.</div>
<p>The next page shows how I did it.</p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/hcEbSaNO5Eo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2010/12/working-with-custom-taxonomies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pagination in posts</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/Cs9Z7_2ZBKc/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/Cs9Z7_2ZBKc/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 02:00:38 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[template tags]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=85</guid>
		<description><![CDATA[I got an inquiry from one of my blog&#8217;s readers about post pagination, which I used in my previous post. Well, it&#8217;s very simple. To split your post into separate sub-pages, simply use the WordPress Quicktag, &#060;!--nextpage--&#062;. Remember the &#060;!--more--&#062; tag? It cuts the post where it&#8217;s placed when the post appears in the blog&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I got an inquiry from one of my blog&#8217;s readers about <em>post pagination</em>, which I used in my <a href="http://wp-evangelist.com/2010/07/mobile-wordpress-wptouch/" rel="bookmark">previous post</a>. Well, it&#8217;s very simple. To split your post into separate sub-pages, simply use the WordPress <em>Quicktag</em>, <strong><code>&lt;!--nextpage--&gt;</code></strong>.</p>
<p>Remember the  <code>&lt;!--more--&gt;</code> tag? It cuts the post where it&#8217;s placed when the post appears in the blog&#8217;s front page. The <code>&lt;!--nextpage--&gt;</code> tag, on the other hand, works as a &#8216;paginator&#8217; for single posts, and divides them into sub-pages where they&#8217;re placed. You can have as many pages as you like (but don&#8217;t over do it).</p>
<p>For example (use the HTML view when inserting the quicktag):</p>
<pre>
&lt;h3&gt;Step #5&lt;/h3&gt;
Consectetuer rutrum urna in, a molestie aliquam gravida, quam vestibulum ac. Consequat ut lacus tempus a ipsum, sociis urna sed, vel tellus maecenas, lorem maecena&#039;s tortor. At odio platea etiam. &lt;strong&gt;Euismod libero&lt;/strong&gt; pretium accumsan pellentesque ac. Quam semper in vitae dictum eget, ipsum magna orci odio lectus. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit.

Please see the next page for the last 3 steps.
&lt; !--nextpage--&gt;
&lt;h4&gt;Step #6&lt;/h3&gt;
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, &lt;em&gt;totam rem aperiam&lt;/em&gt;, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
</pre>
<p>As you might have seen in my last post:</p>
<p><img src="http://wp-evangelist.com/images/2010/07/scrncap_pagination-550x372.png" alt="Screenshot: pagination" title="Screenshot: pagination" width="550" height="372" class="alignnone size-medium wp-image-86" /></p>
<p>And we can even do it right now! <em>(Make sure to click on Page 2)</em></p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/Cs9Z7_2ZBKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2010/07/posts-pagination/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shortlinks for posts</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/U5VMU2cpTVI/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/U5VMU2cpTVI/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 13:17:42 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[template tags]]></category>
		<category><![CDATA[URL shortener]]></category>
		<category><![CDATA[wp.me]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=60</guid>
		<description><![CDATA[Since WordPress 3.0 was launched, I&#8217;m sure you&#8217;ve noticed the Get Shortlink button below the post title input field in the Add New / Edit Post screen, beside the post&#8217;s permalink. (See image below.) It&#8217;s a nifty feature made available to us by good old WordPress.org for shortening our posts&#8217; URLs. Clicking on it will [...]]]></description>
			<content:encoded><![CDATA[<p>Since WordPress 3.0 was launched, I&#8217;m sure you&#8217;ve noticed the <strong>Get Shortlink</strong> button below the post title input field in the <em>Add New / Edit Post</em> screen, beside the post&#8217;s permalink. <em>(See image below.)</em> It&#8217;s a nifty feature made available to us by good old WordPress.org for shortening our posts&#8217; URLs. Clicking on it will give you a <strong>wp.me</strong> URL which will redirect to your blog post. (This post&#8217;s shortlink, for example, is <em><a href="http://wp.me/pqxl6-Y" rel="nofollow">http://wp.me/pqxl6-Y</a></em>.)</p>
<p>If you promote your blog posts via <a href="http://twitter.com/blogie" rel="nofollow">Twitter</a> or <a href="http://www.plurk.com/blogie" rel="nofollow">Plurk</a>, you probably use a plugin for auto-posting to those online services. However, if you&#8217;re the type who wants to personalize your shout-outs that go with your blog post link &#8212; maybe so you can insert hashtags &#8212; you&#8217;d have to manually add the post URL yourself, don&#8217;t you? And if the URL&#8217;s too long, you&#8217;d have to use a URL shortener like bit.ly or tinyurl.com (or any of the scores of similar services), right?</p>
<p><img src="http://wp-evangelist.com/images/2010/07/scrncap_postscreen-shortlink-400x236.png" alt="Post screen: Get Shortlink" title="Post screen: Get Shortlink" width="400" height="236" class="alignleft size-medium wp-image-62" /></p>
<p>Not anymore. With <strong>wp.me</strong> shortlinks, your WordPress blog now has a built-in URL shortener! Don&#8217;t you just love WordPress!?!</p>
<p><em>But wait, there&#8217;s more!!</em> (Am I sounding like a TV salesman already? <img src='http://wp-evangelist.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<p>What if you wanted to make the shortlink visible on the blog for everyone to see? That&#8217;s exactly what I did with my <a href="http://www.davaodeli.com">food blog</a>. See, sometimes I go back to old posts and promote them on Twitter and Facebook. Instead of having to go inside the dashboard and get the shortlink from the <em>Edit Post</em> screen, I can now just go to the blog post (or even the search results page) and copy the shortlink from under the title. Take a look at this screen shot of a couple of front-page posts from <span style="font-variant:small-caps;">Davao Delicious</span>:</p>
<p><a href="http://wp-evangelist.com/2010/07/wordpress-shortlinks/scrncap_dvodeli-front/" rel="attachment wp-att-61"><img src="http://wp-evangelist.com/images/2010/07/scrncap_dvodeli-front-400x245.png" alt="WordPress shortlinks" title="WordPress shortlinks @ DavaoDeli.com" width="400" height="245" class="alignleft size-medium wp-image-61" /></a></p>
<p>Notice the &#8220;[shortlink]&#8221; text below the titles? By using a WP template tag, I was able to output the shortlink of each post onto various locations of the blog: the main page, single posts, archives, and the search results page. (And my other blogs are sure to follow suit.)</p>
<p>Here&#8217;s how to do it. There is just one new template tag involved: <code>the_shortlink()</code>. This tag <em>must</em> be placed inside The Loop, otherwise it won&#8217;t work. And, according to the <a href="http://codex.wordpress.org/Function_Reference/the_shortlink" rel="nofollow" title="click to view the function reference"  class="extlink">Codex</a>, it will only work on WordPress sites that implement <a href="http://wp-evangelist.com/2010/05/permalinks-and-seo/" rel="bookmark">pretty permalinks</a>.</p>
<pre>
&lt;?php the_shortlink( $text, $title, $before, $after ); ?&gt;
</pre>
<p>Here&#8217;s how my code looks like:</p>
<pre>
&lt;div class=&quot;post-title&quot;&gt;
	&lt;h2&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
	&lt;p class=&quot;post-details&quot;&gt;
		Posted on &lt;?php the_time(&#039;j F Y&#039;); ?&gt; by &lt;?php the_author_posts_link(); ?&gt;
		&lt;?php the_shortlink(&#039;shortlink&#039;,&#039;&#039;,&#039;[&#039;,&#039;]&#039;); ?&gt;
	&lt;/p&gt;
&lt;/div&gt;
</pre>
<p>The first parameter, <code>$text</code>, can be any string that you&#8217;d like to be seen by your site&#8217;s visitors. The next parameter, <code>$title</code>, is for the tooltip text that will appear on mouse-over. If you leave it blank, the default is the post&#8217;s title. The last two, <code>$before</code> and <code>$after</code> are for HTML codes and/or more text that you&#8217;d like to appear before and after the shortlink.</p>
<p>All of the parameters are optional. However, leaving the first one blank will result in this text link: &#8220;<em>This is the short link.</em>&#8221; Kinda fugly if you ask me, so it might be best to supply your own expression.</p>
<p>That&#8217;s it! Have fun with the WordPress URL shortener!</p>
<p><em>N.B.</em>: Each post (and page, including the front page) actually has an assigned <strong>wp.me</strong> URL. If you view the page source, you&#8217;ll see the shortlink in the header. That is, if you&#8217;ve activated the WordPress.com Stats plugin and specified that the shortlink be published as meta data.</p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/U5VMU2cpTVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2010/07/wordpress-shortlinks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oyako themes</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/-o2sQq49wd0/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/-o2sQq49wd0/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:29:39 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[best practices]]></category>
		<category><![CDATA[child themes]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[theme modification]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=58</guid>
		<description><![CDATA[Oyako (親子) is a Japanese term that means &#8220;parent-child&#8221;. In Japanese cuisine there&#8217;s a tasty dish I like that&#8217;s called oyako-don, which is a bowl of rice toppings of chicken and egg. And why am I talking about this? WordPress&#8217; child themes! Ever got tired of copying over the changes you&#8217;ve made to your templates [...]]]></description>
			<content:encoded><![CDATA[<p><em>Oyako</em> (親子) is a Japanese term that means &#8220;parent-child&#8221;. In Japanese cuisine there&#8217;s a tasty dish I like that&#8217;s called <em>oyako-don</em>, which is a bowl of rice toppings of chicken and egg. And why am I talking about this? WordPress&#8217; <strong>child themes</strong>!</p>
<p>Ever got tired of copying over the changes you&#8217;ve made to your templates each time your theme is upgraded? Ever lost template changes after upgrading your WordPress theme? Well don&#8217; fret, because here&#8217;s something that I&#8217;m sure you&#8217;ll find heaven-sent.</p>
<p>Child themes have existed since WordPress 2.7 (but I&#8217;ve only now gotten around to tinkering with it), and it&#8217;s the best way to go about modifying &#8212; and keeping the changes to &#8212; your themes&#8217; templates.</p>
<p>I&#8217;ve started using child themes in some of my blogs. Take a look at the screenshot of Blogie Blog&#8217;s dashboard, showing the child theme:</p>
<p><a href="http://wp-evangelist.com/2010/07/oyako-themes/scrncap-blogieblog-themes/" rel="attachment wp-att-59"><img src="http://wp-evangelist.com/images/2010/07/scrncap-blogieblog-themes-127x150.png" alt="Blogie Blog child theme" title="Blogie Blog child theme" width="127" height="150" class="alignleft size-thumbnail wp-image-59" /></a></p>
<p>Basically, when you use child themes, you can create a separate theme (based on the parent theme) that will hold all your template modifications. So, when your theme provider publishes an update, you can update the parent theme and keep the changes you&#8217;ve made in the child theme.</p>
<p>Child themes inherit all the templates (<code>index.php</code>, <code>single.php</code>, etc.) from its parent &#8212; that is, those templates that you don&#8217;t override. One template that must be unique to the child theme, however, is <code>style.css</code>. That&#8217;s right: when you create a child theme, it must have its own stylesheet file.</p>
<p>If you&#8217;ve read the <a href="http://codex.wordpress.org/Child_Themes">Codex</a>, you&#8217;ll know that you&#8217;ll need to create a <code>style.css</code> file and that&#8217;s where you&#8217;ll place your own style declarations for your site. And, to include all the style declarations from the parent theme, you&#8217;ll need to import it into your new stylesheet file (using <code>@import</code>). This is all that&#8217;s required for you to have a child theme.</p>
<p>If you create a new <code>single.php</code> template for your child theme, it will override the parent theme&#8217;s template. This is useful for those templates that you want to modify to suit your needs. The templates that you don&#8217;t override will simply be inherited by the child theme. In fact, you&#8217;ll notice that the parent theme&#8217;s templates will appear in your child theme&#8217;s list of templates (<em>Appearance</em> &gt; <em>Editor</em>).</p>
<p>Some things to watch out for when using child themes&#8211;</p>
<p>When overriding templates (e.g., <code>header.php</code>), check to see if hyperlink calls are properly formatted. Some theme designers use the WordPress function <code>&lt;?php bloginfo('template_directory'); ?&gt;</code> to call theme images or CSS files. For example:</p>
<p>[php toolbar="false"]</p>
<link rel="stylesheet" type="text/css" href=http://rss.robillo.net/~r/wpevangelist/~3/-o2sQq49wd0/%22%3C?php bloginfo('template_directory'); ?>/css/ie7.css&#8221; media=&#8221;screen&#8221; /><br />
[/php]</p>
<p>On this blog, the above code will resolve to the following:</p>
<p>[html toolbar="false"]</p>
<link rel="stylesheet" type="text/css" href="http://wp-evangelist.com/wp-content/themes/antisocial/css/ie6.css" media="screen" />
[/html]</p>
<p>Please take very careful note of this:  Even if the above sample code is placed in a <em>child theme</em> template, the <code>&lt;?php bloginfo('template_directory'); ?&gt;</code> function <strong>will still return the URL of the parent theme</strong>. On the other hand, the WordPress function <code>&lt;?php bloginfo('stylesheet_url'); ?&gt;</code> will always return the URL of the style.css template of the <em>active theme</em>. So, if you have a piece of code like below placed in a child theme&#8217;s template, the latter function will most certainly return the URL of the child theme&#8217;s <code>style.css</code> file.</p>
<p>[php toolbar="false"]</p>
<link rel="stylesheet" type="text/css" href=http://rss.robillo.net/~r/wpevangelist/~3/-o2sQq49wd0/%22%3C?php bloginfo('stylesheet_url'); ?>&#8221; media=&#8221;screen&#8221; /><br />
[/php]</p>
<p>Child themes don&#8217;t seem to see below its parent theme&#8217;s directory. I use WooThemes&#8217; excellent themes, and their theme files (PHP templates, CSS files, images, JS files) are organized in sub-folders. All the main PHP templates (<code>index.php</code>, <code>page.php</code>, <code>archive.php</code>, etc.) are in the root directory of the theme, but most of the support files are placed in sub-folders. It seems that the files in those sub-folders are not accessible to child themes&#8230; You see, I tried to override some of the templates existing in the parent theme&#8217;s sub-folder by recreating those templates and sub-folders under the child theme&#8217;s own directory. No go.</p>
<p>Solution: change the hyperlinks calling those templates (or images, etc.) to reflect the actual locations.</p>
<p>So far, I&#8217;ve only been experimenting with the fundamentals of WordPress child themes. I know there&#8217;s a lot more to it, especially in the <code>functions.php</code> arena. To get you started on that, do read <a href="http://themeshaper.com/modify-wordpress-themes/" rel="nofollow" class="extlink" >this article</a>.</p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/-o2sQq49wd0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2010/07/oyako-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP3.0: multi-site enabled!</title>
		<link>http://rss.robillo.net/~r/wpevangelist/~3/XC3vIDOFunQ/</link>
		<comments>http://rss.robillo.net/~r/wpevangelist/~3/XC3vIDOFunQ/#comments</comments>
		<pubDate>Mon, 17 May 2010 04:03:16 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[Apache configuration]]></category>
		<category><![CDATA[DNS configuration]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[multi-site functionality]]></category>
		<category><![CDATA[WordPress 3.0]]></category>

		<guid isPermaLink="false">http://wp-evangelist.com/?p=44</guid>
		<description><![CDATA[WordPress 3.0 is set to be released this month, and I can&#8217;t tell you how very excited I am to get my hands on it. I do have the beta2 version, and I&#8217;ve been playing around with it. There are quite a few new stuff you can expect from WP3.0, but the most significant update [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress 3.0</strong> is set to be released this month, and I can&#8217;t tell you how very excited I am to get my hands on it. I do have the beta2 version, and I&#8217;ve been playing around with it. There are quite a few new stuff you can expect from WP3.0, but the most significant update (in my view) is its multi-site functionality. Read: WordPress and WordPress MU are now being merged.</p>
<p>For the benefit of those who are as yet unaware, <strong>WordPress &mu;</strong> (MU or &#8220;multi-user&#8221;) is a branch of WordPress that lets super administrators create a network of blogs in one installation. This is, in fact, what powers <a href="http://wordpress.com"  class="extlink" rel="nofollow">wordpress.com</a> blogs.</p>
<p>I&#8217;ve finally gotten the multi-site (or multi-user) functionality of WordPress 3.0 beta2! And I&#8217;d like to share how I did it. You may choose not to use this functionality and use WordPress 3.0 as a single-site blog, but if you do want this awesome feature, do read on!</p>
<p>Here are the salient details of my WordPress environment:</p>
<table width="80%" cellpadding="6">
<tr>
<td>CentOS server</td>
<td>Apache version 2.2+</td>
</tr>
<tr>
<td>PHP version 5.2+</td>
<td>MySQL version 5.0+</td>
</tr>
<tr>
<td>PHP safe mode off</td>
<td>Running suPHP</td>
</tr>
</table>
<p>Before installing WordPress, you need to add this entry to your chosen domain name&#8217;s DNS table: <code>*.domain.tld. 1400 in A {IP address}</code>. Let&#8217;s assume your domain name is <em>myblognet.ph</em>, and the IP address that your web host has assigned you is <em>222.111.2.3</em>. If you don&#8217;t have access to DNS, ask your host to do this part for you. The entry should look something like this:</p>
<p>[bash toolbar="false"]<br />
*.myblognet.ph. 1400 in A 222.111.2.3<br />
[/bash]</p>
<p>Then, you&#8217;ll need to change some stuff in your Apache configuration. Please be careful with this and triple-check your work at each step, to ensure you won&#8217;t accidentally mess things up. You&#8217;ll need to access the <code>httpd.conf</code> file (in my setup, this file is located in <code>/usr/local/apache/conf/</code>), and update the <code>VirtualHost</code> section containing the domain name you&#8217;re using for WP3.0. To wit (highlit lines):</p>
<p>[bash highlight_lines="3,4" toolbar="false"]<br />
<VirtualHost 222.111.2.3:80><br />
    ServerName myblognet.ph<br />
    ServerAlias *.myblognet.ph<br />
    ServerAlias www.*.myblognet.ph<br />
    # more code here&#8230;<br />
    # no need to edit them!<br />
</VirtualHost><br />
[/bash]</p>
<p>You should then execute the following command (via SSH) so that the <code>VirtualHost</code> changes you made will take effect.</p>
<p>[shell toolbar="false"]<br />
>> /usr/local/cpanel/bin/apache_conf_distiller &#8211;update<br />
[/shell]</p>
<p>Your hosting environment may be different, so if you&#8217;re doing this on your own, please ask your host about the command above. Tip: use the <code>locate</code> command in SSH to find files and executables; e.g., <code>locate httpd.conf</code>.</p>
<p>Then, execute the following to restart your Web server.</p>
<p>[shell toolbar="false"]<br />
>> /etc/init.d/httpd restart<br />
[/shell]</p>
<p>Now, go ahead and install WordPress. Upon successful installation, add the following directive to your <code>wp-config.php</code> file. It would be a good idea to place this line (#83 below) just above the part that says <code>/* That's all, ... */</code></p>
<p>[php num="83" highlight_lines="83" toolbar="false"]<br />
define(&#8216;WP_ALLOW_MULTISITE&#8217;, true);</p>
<p>/* That&#8217;s all, stop editing! Happy blogging. */<br />
[/php]</p>
<p>Login to your dashboard and click on <em>Tools &raquo; Network</em>. The next screen will guide you through some more setup instructions, particularly for your <code>wp-config.php</code> and <code>.htaccess</code> files. Make sure to choose the <em>sub-domain functionality</em>, to be able to give your users a sub-domained site, such as <code>http://pokerclub.myblognet.ph</code>.</p>
<p>Once that&#8217;s done, you will notice a new menu item above the home icon: the <em>Super Admin</em>. And <em>voil&aacute;</em>, you now have a working multi-site WordPress installation! Go ahead and test it by creating new sites.</p>
<p>If you have questions, please feel free to drop a line below.</p>
<img src="http://feeds.feedburner.com/~r/wpevangelist/~4/XC3vIDOFunQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wp-evangelist.com/2010/05/wp30-multisite-enabled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress on your local machine</title>
		<link>http://rss.robillo.net/~r/Blogie/~3/WQuWuOc_LlM/</link>
		<comments>http://rss.robillo.net/~r/Blogie/~3/WQuWuOc_LlM/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 08:17:02 +0000</pubDate>
		<dc:creator>Blogie</dc:creator>
				<category><![CDATA[content development]]></category>
		<category><![CDATA[deploying WordPress]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[WampServer]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.robilloblog.com/?p=580</guid>
		<description><![CDATA[You&#8217;re a Web developer and you need some sort of staging for your WordPress-powered site. You don&#8217;t like developing your site directly off of your production server because (1) Internet connectivity isn&#8217;t always reliable or fast, (2) you prefer to keep your site under wraps until it&#8217;s ready for the public eye, (3) some other [...]<small>Copyright &#169; 2009, <a href="http://blogie.me">Oliver Robillo</a>.<br/>This feed is for the exclusive use of the publishing site, <a href="http://www.robilloblog.com">Blogie Blog</a>. The unauthorized use of this feed is an infringement of copyright.<br/>(Digital Fingerprint:  8b28c01dc97422ca3167f44d6f989be3 (74.125.44.136) )</small>]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re a Web developer and you need some sort of staging for your WordPress-powered site. You don&#8217;t like developing your site directly off of your production server because (1) Internet connectivity isn&#8217;t always reliable or fast, (2) you prefer to keep your site under wraps until it&#8217;s ready for the public eye, (3) some other reason I haven&#8217;t thougth of yet.</p>
<p>Although WordPress will run on Windows/IIS, chances are, your Web hosting will be on a Linux box running Apache. So, the best way to recreate that environment for local development on your desktop or notebook is to install a local Web server package. What I use now to develop new WordPress sites is <a href="http://www.wampserver.com/en/" class="extlink"  rel="nofollow">WampServer 2</a>.</p>
<p>WampServer emulates the Apache Web server with PHP and MySQL installed. All the necessary modules that WordPress needs (e.g., <em>mod rewrite</em>) are present, and it takes just a few minutes to install and run. Do you feel a how-to coming on&#8230;?</p>
<p>OK, let&#8217;s get started. I&#8217;m assuming here that you use Windows. If not, I&#8217;m sure you&#8217;ll find something similar for your Mac. <img src='http://www.robilloblog.com/wp-includes/images/smilies/wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>Installing WampServer</h4>
<p>Download WampServer 2 from the link above, and install it on your local machine. It will do everything in the background for you, including installing PHP and MySQL. What&#8217;s more, you&#8217;ll even have access to your own phpMyAdmin and, if you prefer the classic approach, a MySQL console.</p>
<p>After installation and initial launch, you&#8217;ll get a WampServer icon on your system tray, looking like half a speedometer. Click on it to bring up the menu. If it&#8217;s not online, click on <strong>Put Online</strong>. If you type &#8220;localhost&#8221; on your browser URL bar, you will see something like this page:</p>
<p><a href="http://www.robilloblog.com/2009/07/05/wordpress-on-your-local-machine/scrncap-wampserver-localhost/" rel="attachment wp-att-581"><img src="http://www.robilloblog.com/wp-content/uploads/2009/07/scrncap-wampserver-localhost-490x369.png" alt="localhost screenshot" title="localhost screenshot" width="490" height="369" class="alignnone size-medium wp-image-581" /></a></p>
<p>To install WordPress, follow the steps below. But before that, don&#8217;t forget to activate Apache&#8217;s <em>rewrite module</em> &#8212; without this, you won&#8217;t be able to make use of WordPress permalinks. Left-click on the WampServer icon on the system tray, and go to <strong>Apache &raquo; Apache modules</strong>. You&#8217;ll then get a long list of modules arranged alphabetically. Look for <strong>rewrite_module</strong> and check it.</p>
<h4>Installing WordPress</h4>
<p>OK, now for WordPress. Extract the <a href="http://wordpress.org/latest.zip">WordPress .zip file</a> onto <code>c:\</code> &#8212; this will create <code>c:\wordpress</code>. You may change the name of the folder to anything that you fancy, but for our purposes, let&#8217;s keep it as is.</p>
<p>Bring up the WampServer menu, and create an <em>alias directory</em>: <strong>Apache &raquo; Alias directories &raquo; + Add an alias</strong>. This will cause a command-prompt window to open with the following screen:</p>

<div class="ov_syntax"><div class="code"><pre class="ssh" style="font-family:monospace;">Enter your alias.
For example,
&nbsp;
'test'
&nbsp;
would create an alias for the url
&nbsp;
http://localhost/test/
:_</pre></div></div>

<p>Let&#8217;s use <code>blog</code> as our alias. The next screen will show this:</p>

<div class="ov_syntax"><div class="code"><pre class="ssh" style="font-family:monospace;">Enter the destination of your alias.
For example,
&nbsp;
'c:/test/'
&nbsp;
would make http://localhost/blog/ point to
&nbsp;
c:/test/
:_</pre></div></div>

<p>Enter <code>c:/wordpress/</code>, the directory we created earlier. When successful, a message saying &#8220;Alias created. Please Enter to exit&#8230;&#8221; will appear. Now you&#8217;ve created a website account with the URL, <code>http://localhost/blog/</code>.</p>
<p>Next, let&#8217;s create the database and database user in MySQL. Take a look at <a href="http://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin" class="extlink" >this page from the WordPress.org codex</a> for step-by-step instructions on creating databases using phpMyAdmin.</p>
<p>Armed with your database name, username and password, you can now go ahead and perform the famous WordPress 5-minute install. Load <code>http://localhost/blog/</code> on your browser, and you&#8217;ll see that WordPress says it will create the configuration file for you. Go to the next screen and enter the database credentials, and <em>voil&aacute;!</em> You now have a WordPress site running on your desktop or notebook!</p>
<p>WP2.8&#8217;s theme installation / uploading should work, as well as the similar interface for plugins. Everything should look and feel as if you had a live WordPress install, except that this one&#8217;s probably much faster and responsive.</p>
<h4>To the bat cave!</h4>
<p>After you&#8217;ve done your design work, template-tweaking and all your customizations, after publishing your new site&#8217;s static pages (&#8221;About&#8221;, &#8220;Contact Form&#8221;, etc.), and probably a few blog posts as well, you can now deploy your WordPress site onto your production server.</p>
<p>Backup your database by following <a href="http://codex.wordpress.org/Backing_Up_Your_Database" class="extlink" >this excellent procedure</a> written by Automattic.</p>
<p>Use cPanel or FTP to transfer the WordPress folders and files (wp-admin, wp-includes, wp-content &amp; all the .php and other files in the main directory) to your website account on your production server. No need to reinstall WordPress. Simply transfer the entire local site to the live Web.</p>
<div id="attachment_582" class="wp-caption alignleft" style="width: 160px"><a href="http://www.robilloblog.com/2009/07/05/wordpress-on-your-local-machine/scrncap-wpdbmanager-options/" rel="attachment wp-att-582"><img src="http://www.robilloblog.com/wp-content/uploads/2009/07/scrncap-wpdbmanager-options-150x139.png" alt="WP-DBManager options page" title="WP-DBManager options page" width="150" height="139" class="size-thumbnail wp-image-582" /></a><p class="wp-caption-text">WP-DBManager options</p></div>
<p> <img src='http://www.robilloblog.com/wp-includes/images/smilies/icon_arrow.gif' alt=':arrow:' class='wp-smiley' />  If you&#8217;ve installed plugins (e.g., WP-DBManager) that have settings asking for <em>server paths</em>, make sure to change them to the proper values as soon as you finish transferring your site. Take a look at the screenshot of WP-DBManager, which I installed in my own WampServer-driven local WordPress site. As you will see, the server paths indicated are those of my local machine&#8217;s. After deploying this site to the Web, I should change these values to my production server&#8217;s paths. (Good thing this plugin has auto-detect buttons!)</p>
<p>Now for your database. Presumably, you already have a .sql file on your local hard drive, generated by the backup procedure above.</p>
<p>On your production server, bring up phpMyAdmin and create a database with the same name as the one you created earlier on your local machine. Specify the same username and password as well. (Otherwise, if you use different database login credentials, change those values in your wp-config.php file.) Now, choose that new database and select <strong>Import</strong> from one of the horizontal tabs, and follow the instructions.</p>
<p>And that&#8217;s it! Your new WordPress-powered site&#8217;s live! <img src='http://www.robilloblog.com/wp-includes/images/smilies/w00t.gif' alt=':woot:' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/PNUAHZMTSbnTQUXtmp5LonGP0kA/0/da"><img src="http://feedads.g.doubleclick.net/~a/PNUAHZMTSbnTQUXtmp5LonGP0kA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PNUAHZMTSbnTQUXtmp5LonGP0kA/1/da"><img src="http://feedads.g.doubleclick.net/~a/PNUAHZMTSbnTQUXtmp5LonGP0kA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Blogie/~4/WQuWuOc_LlM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.robilloblog.com/2009/07/05/wordpress-on-your-local-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

