<?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>Raymond Selda &#187; Wordpress</title>
	<atom:link href="http://www.raymondselda.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.raymondselda.com</link>
	<description></description>
	<lastBuildDate>Mon, 21 Nov 2011 04:31:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How To Install WordPress – Full Blog Setup In 15 Minutes Or Less</title>
		<link>http://www.raymondselda.com/how-to-install-wordpress-%e2%80%93-full-blog-setup-in-15-minutes-or-less/</link>
		<comments>http://www.raymondselda.com/how-to-install-wordpress-%e2%80%93-full-blog-setup-in-15-minutes-or-less/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 15:15:11 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/how-to-install-wordpress-%e2%80%93-full-blog-setup-in-15-minutes-or-less/</guid>
		<description><![CDATA[I would like to share a very detailed tutorial on how to install your own WordPress blog. This includes everything from buying a domain name to transferring your files to your server and many more. Now there&#8217;s no more excuse not to use WordPress as your main blogging platform. You can check out the full [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />I would like to share a very detailed tutorial on how to install your own WordPress blog. This includes everything from buying a domain name to transferring your files to your server and many more. Now there&#8217;s no more excuse not to use WordPress as your main blogging platform. You can check out the full tutorial below. Hope you enjoy.</p>
<p>WordPress is the most professional and the most customizable blogging platform. Installing self-hosted WordPress will definitely help your blog reach a higher level.Many bloggers have questions about WordPress, how to install WordPress on your own hosting server, how to setup WordPress etc. This is the complete step-by-step guide on how to setup domain name and hosting, setup MySQL and how to install self-hosted WordPress 2.8 on your own server.</p>
<p><a href="http://www.howtomakemyblog.com/wordpress/how-to-install-wordpress-step-by-step-guide/">How To Install WordPress 2.8 – Step-By-Step Guide</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/how-to-install-wordpress-%e2%80%93-full-blog-setup-in-15-minutes-or-less/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How To Make a WordPress Theme Using Starkers</title>
		<link>http://www.raymondselda.com/how-to-make-a-wordpress-theme-using-starkers/</link>
		<comments>http://www.raymondselda.com/how-to-make-a-wordpress-theme-using-starkers/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 15:20:39 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=1556</guid>
		<description><![CDATA[Today I&#8217;m going to show you how to make a WordPress theme using Starkers, my favorite naked theme. There are 2 ways on how to make a WordPress theme, one is to build everything from scratch and the other is to edit an existing theme. Obviously we&#8217;re going to take on the latter approach. Don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />Today I&#8217;m going to show you how to make a WordPress theme using Starkers, my favorite naked theme. There are 2 ways on how to make a WordPress theme, one is to build everything from scratch and the other is to edit an existing theme. Obviously we&#8217;re going to take on the latter approach. Don&#8217;t forget that you can also <a href="http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/">use child themes</a> in making your WordPress themes.</p>
<p>Let&#8217;s get started. Make sure you <a rel="nofollow" href="http://elliotjaystocks.com/starkers/">download Starkers</a> and save it to your themes folder (/wp-content/themes/).</p>
<p>Note: This tutorial is strictly for beginners only</p>
<h2>Review Mark-Up</h2>
<p>Starkers has a really stripped down markup. You won&#8217;t find any divs if you&#8217;ll check out the source.</p>
<p><img class="alignnone size-full wp-image-1559" title="XHTML Markup of Starkers Theme" src="http://www.raymondselda.com/wp-content/uploads/2009/07/starker-markup.png" alt="XHTML Markup of Starkers Theme" width="600" height="369" /></p>
<h2>Add Divisions</h2>
<p>I tried to make a layout off of the default Starker&#8217;s markup but it&#8217;s really quite challenging. So what we&#8217;re going to do is add some divisions on the existing markup so it would like this:</p>
<p><img class="alignnone size-full wp-image-1560" title="Final XHTML Markup of Edited Starkers Theme" src="http://www.raymondselda.com/wp-content/uploads/2009/07/final-markup.png" alt="Final XHTML Markup of Edited Starkers Theme" width="600" height="512" /></p>
<h2>Header</h2>
<p>Let&#8217;s add a container div that will hold our content. Open up header.php and add in the opening container div right after the body tag and before the header div. We also need to add a header div for our logo and tagline.</p>
<p><img class="alignnone size-full wp-image-1561" title="Header code" src="http://www.raymondselda.com/wp-content/uploads/2009/07/11.png" alt="Header code" width="600" height="309" /></p>
<h2>Footer</h2>
<p>Now we need to close our container div. To do that we&#8217;re going to open footer.php and add our closing container div. We also need a div for our footer section.</p>
<p><img class="alignnone size-full wp-image-1562" title="Footer Code" src="http://www.raymondselda.com/wp-content/uploads/2009/07/2.png" alt="Footer Code" width="600" height="290" /></p>
<h2>Index</h2>
<p>Now open up index.php and apply the following changes:</p>
<p><img class="alignnone size-full wp-image-1564" title="Index code" src="http://www.raymondselda.com/wp-content/uploads/2009/07/3.png" alt="Index code" width="600" height="506" /></p>
<p>Please remember that you also need to make the following changes in some of the template files like search.php, page.php, archive.php, etc.</p>
<h2>Posts</h2>
<p>After you&#8217;re all done with the changes, it&#8217;s time to open up single.php. The changes are also similar to the previous step but this time we&#8217;re going to add a function to output our sidebar. Starkers is based from Kubrick that&#8217;s why you&#8217;re going to notice that single.php has no function for getting the sidebar.</p>
<p><img class="alignnone size-full wp-image-1563" title="Post code" src="http://www.raymondselda.com/wp-content/uploads/2009/07/4.png" alt="Index code" width="600" height="500" /></p>
<p>Now all that&#8217;s left is to put in some CSS. You can <a href="http://www.raymondselda.com/downloads/style.css">download my stylesheet</a> or you can just create your own.</p>
<h2>Conclusion</h2>
<p>This is only a simple 2-column blog layout. I know you can do better than this and I hope that you found some value in this tutorial. Thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/how-to-make-a-wordpress-theme-using-starkers/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Archetype WordPress Theme: Beta Release</title>
		<link>http://www.raymondselda.com/archetype-wordpress-theme-beta-release/</link>
		<comments>http://www.raymondselda.com/archetype-wordpress-theme-beta-release/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 05:13:52 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=1421</guid>
		<description><![CDATA[I&#8217;m releasing Archetype WordPress Theme beta version. Feel free to use Archetype in your blog and please report anything that needs to be improved. There are still a lot of stuff that needs to be cleaned out including stylesheets, widgets, hooks and among many others. What is Archetype? Archetype is another one of those theme [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />I&#8217;m releasing Archetype WordPress Theme beta version. Feel free to use Archetype in your blog and please report anything that needs to be improved. There are still a lot of stuff that needs to be cleaned out including stylesheets, widgets, hooks and among many others.</p>
<h2>What is Archetype?</h2>
<p>Archetype is another one of those <a href="http://codex.wordpress.org/Theme_Frameworks">theme frameworks in WordPress</a>. A theme framework can also be classified as a parent theme. A theme framework enables you to speed up theme development by providing you a solid code base to start. It also lets you work on your own customizations without touching the parent theme&#8217;s files.</p>
<h2>Why Create Another Theme Framework?</h2>
<p>I created Archetype to help speed up my theme development and to also learn more about theme development in general. I also want to offer something useful to the community.</p>
<h2>Inspiration</h2>
<p>Archetype is heavily inspired by <a href="http://themeshaper.com/thematic/">Ian Stewart&#8217;s Thematic</a>. I also checked out ThemeHybrid&#8217;s code but I always find myself coming back to Thematic.</p>
<h2>Multiple Layouts</h2>
<p>Archetype has 10 layouts that you can choose from including fixed and liquid content using two or three columns. The good news is most of the layouts work in Internet Explorer 6 and above.</p>
<h2>Download and Screenshot</h2>
<ul>
<li><a href="http://www.raymondselda.com/downloads/archetype.zip">Download Archetype WordPress Theme</a> (Beta Release)</li>
<li><a href="http://www.raymondselda.com/wp-content/uploads/2009/07/archetype-screenshot.gif">Archetype Screenshot</a></li>
</ul>
<h2>Feedback</h2>
<p>Please go ahead and try it out. I would love to build a community behind Archetype so I would greatly appreciate it if you can give your thoughts and feedback. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/archetype-wordpress-theme-beta-release/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Understanding Filter Hooks In WordPress</title>
		<link>http://www.raymondselda.com/understanding-filter-hooks-in-wordpress/</link>
		<comments>http://www.raymondselda.com/understanding-filter-hooks-in-wordpress/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 16:00:37 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=1163</guid>
		<description><![CDATA[I&#8217;m really getting hooked (no pun intended) with theme development in WordPress. Last week I wrote about using action hooks and today we are going to take a look at how filter hooks can help us in building a more flexible WordPress theme. This tutorial was inspired by Ian Stewart&#8217;s Thematic. When I started to [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />I&#8217;m really getting hooked (no pun intended) with theme development in WordPress. Last week I wrote about using <a href="http://www.raymondselda.com/understanding-action-hooks-in-wordpress/">action hooks</a> and today we are going to take a look at how filter hooks can help us in building a more flexible WordPress theme.</p>
<p>This tutorial was inspired by Ian Stewart&#8217;s <a href="http://themeshaper.com/thematic/">Thematic</a>. When I started to research on theme frameworks, I looked at Thematic&#8217;s source and I was really overwhelmed at the code. I had no idea where to start and there were more files inside than the usual WordPress theme files that you would normally see. So I decided to just do it and start coding hoping that I would learn them as I go along.</p>
<p>I&#8217;ve tried to simplify filter hooks in this tutorial and we&#8217;re going to look at one of the functions which is <code><a href="http://codex.wordpress.org/Function_Reference/apply_filters">apply_filters()</a></code> and see how we can make our theme more flexible.</p>
<h2>Select Your Theme</h2>
<p>For simplicity&#8217;s sake we&#8217;re going to use and edit the &#8220;classic&#8221; (wp-content/themes/classic) WordPress theme that is included in every installation. Feel free to follow along if you&#8217;re going to use your own theme but be prepared to make some adjustments because markup may slightly vary.</p>
<h2>Theme Functions File</h2>
<p>As you develop WordPress themes especially with creating child themes you will find that you will have to interact with the theme functions file on a daily basis so try to get comfortable with it.</p>
<p>Open up functions.php inside the classic folder and place this code:</p>
<pre class="php" name="code">
function postheader()
{
	global $id;

	// Create post edit link
    $edit .= &#39; &lt;a href=&quot;&#39; . get_bloginfo(&#39;wpurl&#39;) . &#39;/wp-admin/post.php?action=edit&amp;amp;post=&#39; . $id;
    $edit .= &#39;&quot; title=&quot;Edit Post&quot;&gt;&#39;;
    $edit .= &#39;Edit This&lt;/a&gt;&#39;;

	//Build post title
	$title = &#39;&lt;h3 class=&quot;storytitle&quot;&gt;&#39;;
	$title .= &#39;&lt;a href=&quot;&#39;;
	$title .= get_permalink();
	$title .= &#39;&quot; rel=&quot;bookmark&quot;&gt;&#39;;
	$title .= get_the_title();
	$title .= &quot;&lt;/a&gt;&lt;/h3&gt;\n&quot;;

	//Build meta info
	$meta = &#39;&lt;div class=&quot;meta&quot;&gt;Filed under: &#39;;
	$meta .= get_the_category_list(&#39;, &#39;) . &quot; &amp;#8212; &quot;;
	$meta .= get_the_tag_list(__(&#39;Tags: &#39;), &#39;, &#39;, &#39; &amp;#8212; &#39;);
	$meta .= get_the_author() . &quot; @ &quot;;
	$meta .= get_the_time();
	$meta .= $edit;
	$meta .= &#39;&lt;/div&gt;&#39;;

	//Build postheader
	$postheader = $title . $meta;

	echo apply_filters(&#39;postheader&#39;, $postheader);
}
</pre>
<p>We created a function to output HTML by using the <code><a href="http://codex.wordpress.org/Function_Reference/apply_filters">apply_filters()</a></code> function. </p>
<p>We are going to use this function to replace the hard-coded HTML in our template file with our postheader() function.</p>
<h2>Flexible Template File</h2>
<p>Let&#8217;s open up index.php and delete the following markup:</p>
<pre class="php" name="code">
&lt;h3 class=&quot;storytitle&quot;&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;meta&quot;&gt;&lt;?php _e(&quot;Filed under:&quot;); ?&gt; &lt;?php the_category(&#39;,&#39;) ?&gt; &amp;#8212; &lt;?php the_tags(__(&#39;Tags: &#39;), &#39;, &#39;, &#39; &amp;#8212; &#39;); ?&gt; &lt;?php the_author() ?&gt; @ &lt;?php the_time() ?&gt; &lt;?php edit_post_link(__(&#39;Edit This&#39;)); ?&gt;&lt;/div&gt;
</pre>
<p>Then place the following code:</p>
<pre class="php" name="code">
&lt;?php postheader(); ?&gt;
</pre>
<p>Try to refresh your browser and you shouldn&#8217;t see any drastic changes inside your markup and in your design. It&#8217;s because all we did is just get the previous markup and put them all inside a function so we can spit the code to our template file.</p>
<h2>Customize Using Filters</h2>
<p>Here is where all your hardwork will pay off. When you start to <a href="http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/">build child themes</a> from the &#8220;classic&#8221; theme for example, you now have the ability to customize the post title and the post meta of your child theme without editing a single template file.</p>
<p>Let&#8217;s say we want to add a <code>div</code> around our post title. To do that let&#8217;s go back to your <code>functions.php</code> and add the following: (let&#8217;s imagine that this is the <code>functions.php</code> of your child theme):</p>
<pre class="php" name="code">
function child_postheader()
{?&gt;
	&lt;div class=&quot;post-title&quot;&gt;&lt;h2&gt;This is my cuztomized post title!&lt;/h2&gt;&lt;/div&gt;
	&lt;div class=&quot;meta&quot;&gt;This is my customized meta tag!&lt;/div&gt;
&lt;?php }

add_filter(&#39;postheader&#39;, &#39;child_postheader&#39;);
</pre>
<p>This time we&#8217;re using another filter function which is <code><a href="http://codex.wordpress.org/Function_Reference/add_filter">add_filter</a></code> to override the design. Refresh your browser and you should see the customizations that you have made. Cool huh?</p>
<h2>Why Should I Do This?</h2>
<p>You should take this approach if you intend to build a theme framework. Take note that theme frameworks are not just blank or naked wordpress themes like <a href="http://elliotjaystocks.com/blog/archive/2008/starkers-for-wordpress-262/">Starkers</a>. Think of them as a parent theme from which you can create child themes. Theme frameworks can speed up development and lets you customize almost any design without touching any of the template files.</p>
<p>I hope you experiment and work on your own themes with the application of actions and filter hooks. Your thoughts and feedback are always welcome. Thanks for stopping by.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/understanding-filter-hooks-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Understanding Action Hooks In WordPress</title>
		<link>http://www.raymondselda.com/understanding-action-hooks-in-wordpress/</link>
		<comments>http://www.raymondselda.com/understanding-action-hooks-in-wordpress/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:00:43 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=1137</guid>
		<description><![CDATA[Ever wondered what&#8217;s the real use of wp_head and wp_footer in your template files? Ever tried deleting them but feared that the sky might fall on you? Everytime I develop a theme, wp_head and wp_footer always remained a mystery for me. It was only until last month when I started developing a WordPress theme framework [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />Ever wondered what&#8217;s the real use of wp_head and wp_footer in your template files? Ever tried deleting them but feared that the sky might fall on you?</p>
<p>Everytime I develop a theme, wp_head and wp_footer always remained a mystery for me. It was only until last month when I started developing a WordPress theme framework that I understood their importance and coolness.</p>
<p><span id="more-1137"></span></p>
<p>Today I&#8217;m going to show you how to define your own hooks and trigger them using action hooks.</p>
<h2>WordPress Hooks</h2>
<p>According to WordPress:</p>
<blockquote><p>Hooks are provided by WordPress to allow your plugin to &#8216;hook into&#8217; the rest of WordPress; that is, to call functions in your plugin at specific times, and thereby set your plugin in motion.</p></blockquote>
<p>Hooks are basically placeholders in your template files. They sit there until you instruct them to do some task for you either by using Action or Filter hooks.</p>
<p>We are going to focus on triggering hooks in a theme development setting using Action hooks so let&#8217;s get started.</p>
<h2>Theme Functions File</h2>
<p>The theme functions file is optionally included in your theme folder and is named functions.php (if missing, simply create one). You can define your own functions here to be used in your templates so you won&#8217;t have to manually edit your template files.</p>
<p>As an example I&#8217;m going to install the Google Syntax Highlighter plugin and show you how to use Action hooks in your template files. Before everything else make sure you have installed and activated the plugin.</p>
<h2>Action Hooks</h2>
<p>Open up your theme functions file and place this code (assuming your file is blank):</p>
<pre class="php" name="code">
&lt;?php
//Styles for Syntax Highlighter plugin in head section
function syntax_highlighter_styles()
{
	if (is_single() || is_page()) { /* If Post or Page */ ?&gt;
&lt;!-- Syntax Highlighter Styles --&gt;
	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;&lt;?php echo WP_PLUGIN_URL; ?&gt;/google-syntax-highlighter/Styles/SyntaxHighlighter.css&quot; media=&quot;screen&quot; /&gt;

	&lt;?php }
}
add_action(&#39;wp_head&#39;, &#39;syntax_highlighter_styles&#39;, 1);
?&gt;
</pre>
<p>We are just defining a PHP function and placing HTML inside to call our plugin&#8217;s stylesheet.</p>
<p>After the definition, the next step is to &#8220;hook&#8221; your function with WordPress. You do this by calling an action hook, <a rel="nofollow" href="http://codex.wordpress.org/Plugin_API#Hook_to_WordPress">add_action()</a>.</p>
<pre class="php" name="code">
add_action(&#39;wp_head&#39;, &#39;syntax_highlighter_styles&#39;, 1);
</pre>
<p>The first parameter is the hook name in your template. The second parameter is the name of the function and the third is the priority.</p>
<h2>Define Your Custom Hook</h2>
<p>Now it&#8217;s time for our plugin scripts. We are going to call them from the footer but we are not going to use wp_footer. We are going to define our own hook!</p>
<p>Just below our first function, place this code:</p>
<pre class="php" name="code">
//My own footer hook
function my_footer() {
    do_action(&#39;my_footer&#39;);
}
</pre>
<p>You have now created your own hook and you can add actions to it just like you did in the first function. But before you can do that open up footer.php and position your hook like so:</p>
<p><strong>Note:</strong> For demonstration purposes I will remove wp_footer hook from my footer template.</p>
<pre class="xhtml" name="code">
&lt;?php my_footer(); ?&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Now that we have a hook, let&#8217;s define a function to call our plugin scripts. Add this code in your theme functions file:</p>
<pre class="php" name="code">
//Scripts for Syntax Highlighter plugin in footer section
function syntax_highlighter_scripts()
{
	if (is_single()) { ?&gt;
&lt;script language=&quot;javascript&quot; src=&quot;&lt;?php echo WP_PLUGIN_URL; ?&gt;/google-syntax-highlighter/Scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script language=&quot;javascript&quot; src=&quot;&lt;?php echo WP_PLUGIN_URL; ?&gt;/google-syntax-highlighter/Scripts/shBrushAll.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
dp.SyntaxHighlighter.ClipboardSwf = &#39;&lt;?php echo WP_PLUGIN_URL; ?&gt;/google-syntax-highlighter/Scripts/clipboard.swf&#39;;
dp.SyntaxHighlighter.HighlightAll(&#39;code&#39;);
&lt;/script&gt;
&lt;?php }
}
add_action(&#39;my_footer&#39;, &#39;syntax_highlighter_scripts&#39;, 1);
</pre>
<p>Just like we did with our first function, this will put the scripts in the custom hook that we defined.</p>
<p>You can also try the same thing with your analytics code.</p>
<pre class="php" name="code">
//Analytics code
function my_analytics()
{ ?&gt;
Analytics code here
&lt;?php
}
add_action(&#39;my_footer&#39;, &#39;my_analytics&#39;, 2);
</pre>
<p>Take note that the third parameter (priority) is 2. This will determine their order of appearance considering that the scripts function is also using the my_footer hook. You can try switching their priority to see what I mean.</p>
<h2>Conclusion</h2>
<p>Using hooks can greatly improve your theme development process and I urge you to use them so your themes are flexible and easy to maintain. With default hooks in your templates you can insert code without having to open up your template files. You can also define your own custom hooks if you need to.</p>
<p>Having this knowledge on action hooks can also help you in creating your very own <a rel="nofollow" href="http://codex.wordpress.org/Theme_Frameworks">theme framework</a>. </p>
<p>You definitely need to check out the following: </p>
<ul>
<li><a href="http://themeshaper.com/action-hooks-wordpress-child-themes/">Action Hooks For Child Themes</a> by Ian Stewart</li>
<li><a href="http://www.nathanrice.net/blog/an-introduction-to-wordpress-action-hooks/">An Introduction to WordPress Action Hooks</a> by Nathan Rice</li>
</ul>
<p>If you have something to add regarding this article, your thoughts are always welcome and stay tuned because I will release yet another free WordPress theme framework for the community.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/understanding-action-hooks-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Harness The Power of WordPress Child Themes</title>
		<link>http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/</link>
		<comments>http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/#comments</comments>
		<pubDate>Wed, 13 May 2009 16:00:14 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=1072</guid>
		<description><![CDATA[How long does it take you to build or modify a wordpress theme? Do you sometimes get frustrated by the time it takes for you to finish a theme even if you&#8217;ve already created a handful of them? Did you ever wish there was an easier way? Actually there is, and the answer is by [...]]]></description>
			<content:encoded><![CDATA[<p id="top" /><span class="dropcaps">H</span>ow long does it take you to build or modify a wordpress theme? Do you sometimes get frustrated by the time it takes for you to finish a theme even if you&#8217;ve already created a handful of them? Did you ever wish there was an easier way? Actually there is, and the answer is by using WordPress child themes.</p>
<p><span id="more-1072"></span></p>
<p>Picture yourself modifying an existing WordPress theme in minutes or better yet, build a fully functional WordPress theme in five hours or less. </p>
<p>In this article, we are going to see how child themes can help us in <del datetime="2009-05-12T07:35:44+00:00">taking over the world and</del> speeding our theme development in WordPress.</p>
<h2>Wordrpress Child Theme</h2>
<p>A WordPress child theme is just like any other WordPress theme. You can put them inside your blog&#8217;s theme directory (/wp-content/themes) and then activate them in the admin panel. They also have folders for your images, scripts, a screenshot and a CSS stylesheet.</p>
<p>The only difference is that child themes basically doesn&#8217;t require any theme files (<code>header.php, index.php, footer.php, single.php</code>, etc.). This is another reason why you don&#8217;t need to be a PHP master in order to develop themes in WordPress.</p>
<p>Now let&#8217;s create our child theme.</p>
<h2>Choose Your Parent Theme</h2>
<p>Before we create our child theme, we must first establish our parent theme. And for that, we&#8217;re going to use Kubrick as our parent theme. You don&#8217;t need to downlad it because it&#8217;s already the default theme in your WordPress installation and it&#8217;s located in /wp-content/themes/default/.</p>
<h2>Establish Your Child Theme</h2>
<p>Like I said, a child theme is just like any other WordPress theme so we&#8217;re going to create a new folder inside our themes directory and name it (for the lack of a better name) &#8220;koobreek&#8221;. After that, create a <code>style.css</code> file and save it under &#8220;koobreek&#8221;.</p>
<h2>Child Theme Stylesheet Comments</h2>
<p>This is the part where all the magic happens. Open up <code>style.css</code> inside &#8220;koobreek&#8221;. Then copy the following into <code>style.css</code> and save the file. Please pay special attention to line 8.</p>
<pre class="css" name="code">
/*
Theme Name: Koobreek
Theme URI: http://wordpress.org/
Description: This is a child theme of Kubrick
Version: 1
Author: Raymond Selda
Author URI: http://www.raymondselda.com/
Template: default
*/
</pre>
<p>Now you have created a WordPress child theme using Kubrick as your parent theme. Take note of line 8 because it is the folder name of your parent theme. Now activate your child theme in your WordPress admin. If everything checks out, you should be presented with only the markup (XHTML) with no styling whatsoever. </p>
<p><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/markup.gif"><img src="http://www.raymondselda.com/wp-content/uploads/2009/05/markup-600x465.gif" alt="XHTML Structure" title="XHTML Structure" width="600" height="465" class="alignnone size-large wp-image-1087" /></a></p>
<h2>Importing Styles From Parent Theme</h2>
<p>Now unless it&#8217;s <a rel="nofollow" href="http://naked.dustindiaz.com/">CSS Naked Day</a>, you might want to dress up your markup with some CSS. I want this to be basic and simple as possible so for this tutorial we&#8217;re going to import the styles from our parent theme by adding a single line of code to our child theme&#8217;s <code>style.css</code> file.</p>
<pre class="css" name="code">
/*
Theme Name: Koobreek
Theme URI: http://wordpress.org/
Description: This is a child theme of Kubrick
Version: 1
Author: Raymond Selda
Author URI: http://www.raymondselda.com/
Template: default
*/

/* Import Parent Theme Style */
@import url(../default/style.css);
</pre>
<p>It should look exactly the same as the parent theme but you&#8217;ll notice that the background image for the content is missing.</p>
<p><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/graphic-missing.gif"><img src="http://www.raymondselda.com/wp-content/uploads/2009/05/graphic-missing-600x450.gif" alt="graphic-missing" title="graphic-missing" width="600" height="450" class="alignnone size-large wp-image-1088" /></a></p>
<p>If you look in <a rel="nofollow" href="http://getfirebug.com/">Firebug</a> you will notice that a rule is being generated from the <code>header.php</code> inside the parent theme. Also the path for the missing background graphic is pointing at the child theme&#8217;s image folder which is not existing at this stage. </p>
<p>There&#8217;s a couple or more ways to remedy this but for simplicity&#8217;s sake we&#8217;re just going to copy the parent theme&#8217;s image folder into the child theme. Refresh your browser and it should look exactly like the parent theme.</p>
<p><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek1.gif"><img src="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek1-600x465.gif" alt="Koobreek Stage 1" title="Koobreek Stage 1" width="600" height="465" class="alignnone size-large wp-image-1090" /></a></p>
<h2>Overriding Styles Of Parent Theme</h2>
<p>Now let&#8217;s modify some of the styles of our child theme. Place this code into your child theme&#8217;s <code>style.css</code> file.</p>
<h3>Change the font to Arial.</h3>
<pre class="css" name="code">
body {
	font-family:Arial, sans-serif;
}
</pre>
<h3>Change headings into Arial with a normal font weight.</h3>
<pre class="css" name="code">
h1, h2, h3 {
	font-family:Arial, sans-serif;
	font-weight:normal;
}
</pre>
<h3>Change the graphic header</h3>
<p>I edited the blue header graphic and changed it to black. I then saved the new header inside the child theme&#8217;s images folder. We then place this code to override the parent theme&#8217;s styles.</p>
<pre class="css" name="code">
#header {
	background: #000 url('images/kubrickheader.jpg') no-repeat bottom center;
}
</pre>
<h3>Change header styles in articles</h3>
<pre class="css" name="code">
.post h2 {
	letter-spacing:-1px;
}

.post h3 {
	font-weight:bold;
}
</pre>
<h3>Change style of sidebar and its headings</h3>
<pre class="css" name="code">
#sidebar h2 {
	font-family:Arial, sans-serif;
	text-transform:uppercase;
	font-weight:bold;
	color:#333;
	border-top:1px solid #333;
	padding-top:3px;
	font-size:12px;
}

#sidebar ul {
	font-family:Arial, sans-serif;
	font-size:11px;
}
</pre>
<p>After writing some of our own styles, we end up with something like this.</p>
<p><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek2.gif"><img src="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek2-600x465.gif" alt="Koobreek Stage 2" title="Koobreek Stage 2" width="600" height="465" class="alignnone size-large wp-image-1092" /></a></p>
<h2>Overriding Parent Theme Templates</h2>
<p>What if you need to make some changes to how the elements are structured inside the template files?</p>
<p>Very easy. Just copy the template file you need to edit from the parent theme folder into your child theme. This will override the parent theme&#8217;s templates. This has been made possible as of WordPress 2.7.</p>
<p>I don&#8217;t like where the metadata for the post is positioned. I want it beside the post date sitting below the post title.</p>
<p>To do that, we copy the index.php from the parent theme into the child theme folder. Open up the child theme&#8217;s index.php and replace line 17 with the code below.</p>
<pre class="php" name="code">
&lt;small&gt;&lt;?php the_time(&#39;F jS, Y&#39;) ?&gt; by &lt;?php the_author() ?&gt; Posted in &lt;?php the_category(&#39;, &#39;) ?&gt; | &lt;?php edit_post_link(&#39;Edit&#39;, &#39;&#39;, &#39; | &#39;); ?&gt;  &lt;?php comments_popup_link(&#39;No Comments &amp;#187;&#39;, &#39;1 Comment &amp;#187;&#39;, &#39;% Comments &amp;#187;&#39;); ?&gt;&lt;/small&gt;
</pre>
<p>Then delete line 23 because the code that we need is already in line 17. Refresh your browser and you should see the post&#8217;s metadata below the title along with the date.</p>
<p><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek3.gif"><img src="http://www.raymondselda.com/wp-content/uploads/2009/05/koobreek3-600x465.gif" alt="Koobreek Stage 3" title="Koobreek Stage 3" width="600" height="465" class="alignnone size-large wp-image-1094" /></a></p>
<h2>Conclusion</h2>
<p>We have created and modified a new theme without touching a single line of code inside the parent theme&#8217;s files. All of the changes have been made inside the child theme&#8217;s folder. Feel free to <a href="http://www.raymondselda.com/downloads/koobreek.zip">download Koobreek</a> <img src='http://www.raymondselda.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Plenty of information about child themes can be found at <a rel="nofollow" href="http://themeshaper.com/">ThemeShaper</a> and <a rel="nofollow" href="http://themehybrid.com/">ThemeHybrid</a>. I hope child themes will help speed up your workflow and make theme development more enjoyable.</p>
<p>Do you use any theme frameworks when you develop your WordPress themes? What is your favorite? Post them in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>How I Used AutoViewer with WordPress</title>
		<link>http://www.raymondselda.com/how-i-used-autoviewer-with-wordpress/</link>
		<comments>http://www.raymondselda.com/how-i-used-autoviewer-with-wordpress/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 04:37:02 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=415</guid>
		<description><![CDATA[Last year my friend asked me to work on his photo blog and one of the features that he wanted was a slideshow for his upcoming photos. I did a basic Google search using the keywords &#8216;wordpress slideshows&#8217; or something like that and eventually I ended up using AutoViewer. I&#8217;m going to share on how [...]]]></description>
			<content:encoded><![CDATA[<p id="top" /><span class="dropcaps">L</span>ast year my friend asked me to work on <a title="Dominic Barrios' photo blog" rel="nofollow" href="http://dominicbarrios.com/">his photo blog</a> and one of the features that he wanted was a slideshow for his upcoming photos. I did a basic Google search using the keywords &#8216;wordpress slideshows&#8217; or something like that and eventually I ended up using <a title="AutoViewer" href="http://www.airtightinteractive.com/projects/autoviewer/">AutoViewer</a>.</p>
<p>I&#8217;m going to share on how I used AutoViewer inside WordPress. I&#8217;m not sure if someone else is using the same method but I&#8217;m pretty sure there are others with <a title="Combining AutoViewer and WordPress" rel="nofollow" href="http://ishootshows.com/2007/07/25/autoviewer-and-wordpress/">different methods</a> that worked for them one way or another. Hopefully this quick tip would be helpful.</p>
<p><span id="more-415"></span></p>
<p><img class="aligncenter size-full wp-image-419" title="autoviewer" src="http://www.raymondselda.com/wp-content/uploads/2009/01/autoviewer.jpg" alt="autoviewer" width="595" height="439" /></p>
<p>First download and setup AutoViewer (I used NextGen Gallery software together with AutoViewer). At first glance I was intimidated by the documentation needed to run AutoViewer with NextGen but just stick with it and you will realize that its all too easy.</p>
<p>After creating your first gallery and uploading the images, write a post or in my case, a page inside of WordPress and enter the tag for the autoviewer [autoviewer=GALLERY-ID,WIDTH,HEIGHT,*LINK(optional)*]</p>
<p><img class="aligncenter size-full wp-image-421" title="autoviewer-page" src="http://www.raymondselda.com/wp-content/uploads/2009/01/autoviewer-page.gif" alt="autoviewer-page" width="600" height="282" /></p>
<p>Final step is to output the AutoViewer slideshow into the template. We can do this by using a very useful plugin called <a title="Improved Include Page" rel="nofollow" href="http://www.vtardia.com/improved-include-page/">Improved Include Page</a>. Just place the code into your template where you want the slideshow to appear, reload the page, smile and then pat yourself on the back for a job well done!</p>
<p>Do you have any other tips on using AutoViewer with WordPress? You can share them through the comments below. I would love to hear your workarounds on using this wonderful piece of software. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/how-i-used-autoviewer-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>DominicBarrios.com &#8211; Photographer&#8217;s Blog</title>
		<link>http://www.raymondselda.com/wordpress-photographer-blog/</link>
		<comments>http://www.raymondselda.com/wordpress-photographer-blog/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 06:57:59 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=286</guid>
		<description><![CDATA[Wow! Its been a month since I&#8217;ve posted my last article and there&#8217;s a good reason for my blogging inactivity. I&#8217;ve been working on improving my skills these past few weeks and I am really grateful to have been involved with a recent project that I just finished a week ago. DominicBarrios.com is the photo [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />Wow! Its been a month since I&#8217;ve posted my last article and there&#8217;s a good reason for my blogging inactivity. I&#8217;ve been working on improving my skills these past few weeks and I am really grateful to have been involved with a recent project that I just finished a week ago. <a title="Dominic Barrios' photo blog" href="http://dominicbarrios.com/">DominicBarrios.com</a> is the photo blog of my good friend and wedding photographer Dominic Barrios.</p>
<p><span id="more-286"></span></p>
<p>He gave me example sites that has the look, feel and functionalities that he wanted to incorporate into his own blog. We had a good first meeting for the discussion and I understood what he wanted for his site. What made this project really interesting and exciting is that <a title="Wordpress" href="http://wordpress.org/">WordPress</a> is going to be the perfect solution for this type of blog.</p>
<p style="text-align: center;"><a href="http://dominicbarrios.com/"><img class="aligncenter" title="dominicbarrios" src="http://www.raymondselda.com/wp-content/uploads/2008/10/dominicbarrios.jpg" alt="" width="600" height="393" /></a></p>
<p style="text-align: center;">
<p>Here are some of the plugins that were instrumental for this project:</p>
<ul>
<li><a title="Flashfader WordPress plugin" href="http://www.lynk.de/wordpress/flashfader/">Flashfader</a> &#8211; flash animated header</li>
<li><a title="NextGen Flash Viewer" href="http://travel-junkie.com/geeky-stuff/wp-plugin-nextgen-flashviewer/">NextGen FlashViewer</a> &#8211; flash photo viewer under the animated header</li>
<li><a title="Ajaxed WordPress" href="http://anthologyoi.com/awp">Inline Comments</a> &#8211; you can view and write comments without going to another page</li>
<li><a title="Multi-Level Navigation" href="http://pixopoint.com/multi-level-navigation/">Multi-Level Navigation</a> &#8211; drop down menus for the main navigation</li>
</ul>
<p>I would like to thank the developers of the plugins that I&#8217;ve used for this project. Thank you for sharing your WordPress plugins to the community. I won&#8217;t hesitate to make a donation to your projects. Keep up the good free stuff! Thank you!</p>
<p>Hopefully this project would bring in more work for me. If you&#8217;re interested in hiring me for your project please contact me and we&#8217;ll try to work something out. I would love to hear some feedback from you guys so I can better develop high quality sites for my clients. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/wordpress-photographer-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My very first wordpress theme</title>
		<link>http://www.raymondselda.com/my-first-wordpress-theme-launched/</link>
		<comments>http://www.raymondselda.com/my-first-wordpress-theme-launched/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 08:21:10 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=71</guid>
		<description><![CDATA[Its finally here! After almost a month of hardwork (because of procrastinating), I am launching my very own first wordpress theme! I know many of you have been anticipating this monumental release and your wait is finally over!

I like to describe this theme as the bastard son of ReadWriteWeb and Chris Coyier's site. If you have noticed the genes for the header, sidebar and footer part came from Chris' site while the genes for the content part came from ReadWriteWeb. Did you see the resemblance?]]></description>
			<content:encoded><![CDATA[<p id="top" />Its finally here! After almost a month of hardwork (because of procrastinating), I am launching my very own first wordpress theme! I know many of you have been anticipating this monumental release and your wait is finally over!</p>
<p><span id="more-71"></span></p>
<p>I like to describe this theme as the bastard son of <a title="ReadWriteWeb" href="http://readwriteweb.com/" target="_blank">ReadWriteWeb</a> and <a title="Chris Coyier's site" href="http://chriscoyier.net/" target="_blank">Chris Coyier&#8217;s site</a>. If you have noticed the genes for the header, sidebar and footer part came from Chris&#8217; site while the genes for the content part came from ReadWriteWeb. Did you see the resemblance?</p>
<p>Here are some of the things I want to highlight:</p>
<p><strong>Moz-border-radius for the sidebars</strong></p>
<p>I&#8217;m aware that only a few browsers support this CSS property but I just thought it would be cool to show that you can create rounded corners without using any background images. Below is the CSS rules for the sidebar widgets:</p>
<p>-moz-border-radius-bottomleft: 10px;<br />
-moz-border-radius-bottomright: 10px;<br />
-moz-border-radius-topleft: 10px;<br />
-moz-border-radius-topright: 10px;</p>
<p><strong>Custom Google Search</strong></p>
<p>I used Google as my search tool because of only one reason: You can make money from it by participating in <a title="Google Adsense" href="http://www.google.com/adsense" target="_blank">Google&#8217;s Adsense Program</a>! hehehe.</p>
<p><strong>Custom Fields for thumbnails in homepage</strong></p>
<p>With custom fields you can really make your theme unique. Creating thumbnails in your homepage is one of the techniques you can apply when developing your theme. I&#8217;m still searching and learning on other ways in which you can apply custom fields to your theme so if you have any ideas on using custom fields please feel free to share it.</p>
<p>Developing this theme was a lot of fun and had a great experience from it. I learned a lot and it also enabled me to woodshed on my XHTML, CSS and Photoshop interface designing and now I&#8217;m ready to work on my secret project!</p>
<p>Thank you for reading and please I would really love to hear your good and not so good comments about my theme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/my-first-wordpress-theme-launched/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Hacking WP-EMail</title>
		<link>http://www.raymondselda.com/hacking-wp-email/</link>
		<comments>http://www.raymondselda.com/hacking-wp-email/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 01:07:54 +0000</pubDate>
		<dc:creator>Raymond Selda</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.raymondselda.com/?p=47</guid>
		<description><![CDATA[WP-EMail is one of the many WordPress email plugins that I decided to use in my recent project. Installation instructions were pretty straightforward but after filling out the fields and hitting the submit button I received a &#8220;Language failed to load: instantiate&#8221; error. I then decided to look for support in their forum and I [...]]]></description>
			<content:encoded><![CDATA[<p id="top" /><a title="WP-Email Website" href="http://www.lesterchan.net/wordpress/readme/wp-email.html">WP-EMail</a> is one of the many WordPress email plugins that I decided to use in my recent project. Installation instructions were pretty straightforward but after filling out the fields and hitting the submit button I received a <em>&#8220;Language failed to load: instantiate&#8221;</em> error. I then decided to look for support in their forum and I landed <a href="http://forums.lesterchan.net/index.php/topic,1407.0.html">here</a>. I followed all the suggestions in the forum and exhausted all of the options for configuring WP-EMail but still there were all these different errors coming out.</p>
<p><span id="more-47"></span></p>
<p>Thats when I decided to go back to <a title="PHP Website" href="http://www.php.net/">PHP</a> basics of sending email to check if the server is really capable of sending one. I opened up the PHP manual and used this basic code:</p>
<pre class="php" name="code">
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "rn" .
'Reply-To: webmaster@example.com' . "rn" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
</pre>
<p>Fortunately it worked. If that little snippet worked then I could replace the existing code from the plugin and replace it with this basic one because all the plugin has to do is send out an email. (I have to include headers because in some cases in different servers the PHP mail function wouldn&#8217;t work without it) I then opened up email.php (inside /wp-content/plugins/email/), went to line 881 then edited it to:</p>
<pre class="php" name="code">
if (mail($to, $subject, $message, $headers)) {
</pre>
<p>Then just above it I declared the mail function variables and assigned the variables used in the plugin like this:</p>
<pre class="php" name="code">
$to = $friendemail;
$subject = $template_email_subject;
$message = $template_email_bodyalt;
$headers = 'From: webmaster@example.com' . "rn" .
'Reply-To: webmaster@example.com' . "rn" .
'X-Mailer: PHP/' . phpversion();
</pre>
<p>Also don&#8217;t forget to set the send email method to &#8220;PHP&#8221; in the email options. This kind of editing will ignore the PHPMailer class that the plugin is using and hopefully send that email to your friend.</p>
<p>As always I&#8217;m open to your suggestions and violent reactions and if you know any other alternatives in tweaking WP-EMail please don&#8217;t hesitate to share it. Thanks for reading and you can see a live example of what I&#8217;ve discussed <a title="Dale Siegel Blog" href="http://www.dalesiegel.com/">here</a>.</p>
<p>Many thanks to <a title="Lester Chan's website" href="http://lesterchan.net/blogs/">Lester Chan</a> for developing this great plugin! I hope to hear your thoughts regarding this fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raymondselda.com/hacking-wp-email/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

