<?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>Troy Chaplin</title>
	<atom:link href="http://troychaplin.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://troychaplin.ca</link>
	<description>Design and Development</description>
	<lastBuildDate>Thu, 03 May 2012 02:22:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How to Add a Pinterest Style Scroll to Top Link in Your WordPress Theme</title>
		<link>http://troychaplin.ca/2012/05/how-to-add-a-pinterest-style-scroll-to-top-link-in-your-wordpress-theme/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-add-a-pinterest-style-scroll-to-top-link-in-your-wordpress-theme</link>
		<comments>http://troychaplin.ca/2012/05/how-to-add-a-pinterest-style-scroll-to-top-link-in-your-wordpress-theme/#comments</comments>
		<pubDate>Thu, 03 May 2012 00:07:49 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=846</guid>
		<description><![CDATA[With more and more sites moving away from pagination in areas such as blog lists and archives and implementing a Facebook and Twitter style infinite scroll it makes sense to give user a quick and simple way to get back to the top of your site. Pinterest does this very well by adding a tab in the bottom corner of your browser window that... <a href="http://troychaplin.ca/2012/05/how-to-add-a-pinterest-style-scroll-to-top-link-in-your-wordpress-theme/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>With more and more sites moving away from pagination in areas such as blog lists and archives and implementing a Facebook and Twitter style infinite scroll it makes sense to give user a quick and simple way to get back to the top of your site. Pinterest does this very well by adding a tab in the bottom corner of your browser window that follows up around as you scroll down through your favorite pins.</p>
<p>Adding this feature to a site is quite easy, but for those of you who are not comfortable modifying your WordPress theme files can use a plugin called <a href="http://www.mattvarone.com/featured-content/dynamic-to-top/" target="_blank">Dynamic To Top</a> by Matt Varone, who also released the jQuery plugin that we&#8217;ll use in the following tutorial to add this functionality manually.</p>
<p>To add this manually to your site instead of using a plugin <a href="http://www.mattvarone.com/web-design/uitotop-jquery-plugin/" target="_blank">visit Matt&#8217;s site and download the script</a>, which also includes your CSS, image and the optional jQuery Easing plugin. When adding the easing plugin the page will quickly scroll up the page in a nice, fluid motion whereas without it the page will make an instantaneous jump back to the top.</p>
<p>Be sure to make note of where you are placing these and the other files in the theme as you&#8217;ll want to change the source path throughout this tutorial to match yours.</p>
<p>Let&#8217;s start by copying the 2 script files into your theme folder. Open your footer.php file and add the following 2 lines somewhere just above the closing body tag:</p>
<pre class="brush: php; title: ; notranslate">

&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/library/scripts/easing.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/library/scripts/jquery.ui.totop.min.js&quot;&gt;&lt;/script&gt;

&lt;!-- Scroll to Top Function --&gt;
&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
$(document).ready(function() {
$().UItoTop({ easingType: 'easeOutQuart' });

});
&lt;/script&gt;
</pre>
<p>Next, copy the three classes from the ui.totop.css file and add it to your themes style.css file or any other stylesheet that you&#8217;ve created and are using. Update the background image URL to the where you copied it within your theme.</p>
<pre class="brush: css; title: ; notranslate">

#toTop {
display:none;
text-decoration:none;
position:fixed;
bottom:10px;
right:10px;
overflow:hidden;
width:51px;
height:51px;
border:none;
text-indent:100%;
background:url(library/images/ui.totop.png) no-repeat left top;
}

#toTopHover {
background:url(library/images/ui.totop.png) no-repeat left -51px;
width:51px;
height:51px;
display:block;
overflow:hidden;
float:left;
opacity:0;
-moz-opacity:0;
filter:alpha(opacity=0);
}

#toTop:active, #toTop:focus {
outline:none;
}
</pre>
<p>That&#8217;s it! Now as visitors browse through your site they will have a quick way to get back to the top, no matter how long your page is. Big thanks to <a href="http://www.mattvarone.com/" target="_blank">Matt Varone</a> for a nice light weight script that adds a great piece of functionality!</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2012/05/how-to-add-a-pinterest-style-scroll-to-top-link-in-your-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Years and Counting: A Look Back at the Evolving Design of My Portfolio and Blog</title>
		<link>http://troychaplin.ca/2012/04/three-years-and-counting-a-look-back-at-the-evolving-design-of-my-portfolio-and-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=three-years-and-counting-a-look-back-at-the-evolving-design-of-my-portfolio-and-blog</link>
		<comments>http://troychaplin.ca/2012/04/three-years-and-counting-a-look-back-at-the-evolving-design-of-my-portfolio-and-blog/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 17:50:10 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Styles]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=725</guid>
		<description><![CDATA[Over the last three years I&#8217;ve constantly redesigned this site with the main focus of learning new ways to bring out powerful functionality from the ever-evolving open source platform, WordPress. Only a small handful of these designs ever saw the light of day as I was never quite happy with the end result, or when I was near completion I would find a new... <a href="http://troychaplin.ca/2012/04/three-years-and-counting-a-look-back-at-the-evolving-design-of-my-portfolio-and-blog/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Over the last three years I&#8217;ve constantly redesigned this site with the main focus of learning new ways to bring out powerful functionality from the ever-evolving open source platform, WordPress. Only a small handful of these designs ever saw the light of day as I was never quite happy with the end result, or when I was near completion I would find a new way to do something more efficiently as the possibilities grew with each new release of WordPress. The following is a little preview of some of the design work that has been put into the site over the last three years, skipping a few version that were never fully visualized.</p>
<h2>Version 1: August 2009</h2>
<p>My very first design of this site, complete with portfolio screenshots displayed on Apple hardware, a common occurrence around this time. I learned a lot about WordPress while developing this one, but it never saw the light of day outside of a local development environment.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version1-home.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-730" title="tc-version1-home" src="http://troychaplin.ca/wp-content/uploads/tc-version1-home-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version1-work.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-731" title="tc-version1-work" src="http://troychaplin.ca/wp-content/uploads/tc-version1-work-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<h2>Version 2</h2>
<p>Although there are some extremely basic design files for this version, they are quite bare and lacking in areas. I contemplated adding them, but decided against it.</p>
<h2>Version 3: December 2009</h2>
<p>The third iteration of my site, and the first one to make it to a live version. A lot of work and learning happened while trying to finds new and better ways to handle image galleries within WordPress. If I remember correctly the NextGen Gallery plugin was being used here.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version3-home.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-737" title="tc-version3-home" src="http://troychaplin.ca/wp-content/uploads/tc-version3-home-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version3-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-738" title="tc-version3-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version3-worklist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version3-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-739" title="tc-version3-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version3-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version3-services.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-740" title="tc-version3-services" src="http://troychaplin.ca/wp-content/uploads/tc-version3-services-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version3-about.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-741" title="tc-version3-about" src="http://troychaplin.ca/wp-content/uploads/tc-version3-about-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 4: April 2010</h2>
<p>This design came about after designing the logo itself. I wanted something considerably lighter than my past designs, but after a while I felt that I over killed the paint splashes and never took the design into a development area.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version4-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-743" title="tc-version4-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version4-bloglist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version4-blogpost.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-744" title="tc-version4-blogpost" src="http://troychaplin.ca/wp-content/uploads/tc-version4-blogpost-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version4-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-745" title="tc-version4-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version4-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version4-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-746" title="tc-version4-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version4-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version4-about.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-747" title="tc-version4-about" src="http://troychaplin.ca/wp-content/uploads/tc-version4-about-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 5: May 2010</h2>
<p>After learning more about variable excerpt lengths based on post title character counts I did this dark design, allowing for more posts to be visible by flowing them in a 2 column layout. The original idea here was to have a theme switcher for users, allowing them to browse using this theme, or the one shown in version 6.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version5-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-749" title="tc-version5-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version5-bloglist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version5-blogpost.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-750" title="tc-version5-blogpost" src="http://troychaplin.ca/wp-content/uploads/tc-version5-blogpost-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<h2>Version 6: July 2010</h2>
<p>A variation of version 5 that would have been 1 of 2 theme switcher options for users visiting my site. This design was fully developed and used to power this site for a while, however I never implemented the theme switcher option as I wanted to.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version6-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-753" title="tc-version6-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version6-worklist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version6-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-754" title="tc-version6-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version6-bloglist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<h2>Version 7: October 2010</h2>
<p>I would venture to guess that this design has had the most work put into it, and every now and then as I look through these past design I seem to want to refine it and actually use it for the site, however I don&#8217;t think I have a sufficient amount of content to do it justice. Given that it&#8217;s been two years since I designed this one and still like it, I may go back and touch it up, build in some nice user options and release it as a free theme.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version7-home.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-757" title="tc-version7-home" src="http://troychaplin.ca/wp-content/uploads/tc-version7-home-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version7-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-758" title="tc-version7-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version7-worklist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version7-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-759" title="tc-version7-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version7-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version7-blogpost.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-760" title="tc-version7-blogpost" src="http://troychaplin.ca/wp-content/uploads/tc-version7-blogpost-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version7-footer.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-761" title="tc-version7-footer" src="http://troychaplin.ca/wp-content/uploads/tc-version7-footer-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 8: January 2011</h2>
<p>This design was intended to be something fairly clean and easy to read while incorporating some grunge elements. This design powered my site for the last year and a bit, but I failed to continue to evolve it, and add new work items and content.</p>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version8-home.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-763" title="tc-version8-home" src="http://troychaplin.ca/wp-content/uploads/tc-version8-home-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version8-work.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-764" title="tc-version8-work" src="http://troychaplin.ca/wp-content/uploads/tc-version8-work-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version8-blog.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-765" title="tc-version8-blog" src="http://troychaplin.ca/wp-content/uploads/tc-version8-blog-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 9, 10, 11, 12, 13, 14 &amp; 15: September 2011 – March 2012</h2>
<p>The next seven version of my design are all quite similar to one another, mostly minor tweeks here and there, and sometimes changing between a light color scheme, to a dark one. I continued to modify the look of this one until I felt completely happy with it, then I could focus on adding more to my growing portfolio as well as blog about all the things I&#8217;ve learned about developing for WordPress along the way.</p>
<h3>Version 9a</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9a-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-770" title="tc-version9a-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version9a-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9a-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-771" title="tc-version9a-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version9a-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9a-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-772" title="tc-version9a-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version9a-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 9b</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9b-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-773" title="tc-version9b-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version9b-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9b-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-774" title="tc-version9b-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version9b-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version9b-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-777" title="tc-version9b-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version9b-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 10</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version10-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-779" title="tc-version10-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version10-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version10-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-780" title="tc-version10-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version10-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version10-boglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-781" title="tc-version10-boglist" src="http://troychaplin.ca/wp-content/uploads/tc-version10-boglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 11</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version11-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-783" title="tc-version11-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version11-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version11-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-784" title="tc-version11-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version11-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version11-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-785" title="tc-version11-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version11-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 12</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version12-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-787" title="tc-version12-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version12-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version12-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-788" title="tc-version12-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version12-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version12-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-789" title="tc-version12-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version12-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 13</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version13-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-791" title="tc-version13-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version13-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version13-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-792" title="tc-version13-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version13-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version13-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-793" title="tc-version13-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version13-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 14</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version14-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-795" title="tc-version14-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version14-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version14-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-796" title="tc-version14-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version14-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version14-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-797" title="tc-version14-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version14-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h3>Version 15</h3>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version15-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-799" title="tc-version15-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version15-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version15-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-800" title="tc-version15-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version15-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version15-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-801" title="tc-version15-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version15-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 16: April 2012</h2>
<p>After being so close to completing and launching version 15 I had the idea to reduce the width of the content area and add a floating navigation, so this design came about. This was designed and developed in about a weeks time. I really liked the work and blog sections of the site, but struggled with the homepage, and as I was working on that design, the current version of my site came about.</p>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version16-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-803" title="tc-version16-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version16-worklist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version16-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-804" title="tc-version16-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version16-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version16-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-805" title="tc-version16-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version16-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
<h2>Version 17</h2>
<p>This is the current version of the site that you are now browsing. This one came out of nowhere, it originally started as redesign of the homepage of version 16. I moved the navigation back into the header, reduced the width of the content area to 840px, and have the header element float down the page as a user navigates through. Different than designs of the past, I started with the homepage, as this was an area that I always had difficulty with in the past as I always left it until the end. For the first time in a long time I am completely happy with how this theme came out, and have plans on adding new elements and evolving the site over time, especially as the content grows.</p>
<div class='one_half'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version17-home.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-811" title="tc-version17-home" src="http://troychaplin.ca/wp-content/uploads/tc-version17-home-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div>
<div class='one_half last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version17-worklist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-medium wp-image-812" title="tc-version17-worklist" src="http://troychaplin.ca/wp-content/uploads/tc-version17-worklist-399x336.jpg" alt="" width="399" height="336" /></a></p>
				</div><div class='clear'></div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version17-workitem.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-813" title="tc-version17-workitem" src="http://troychaplin.ca/wp-content/uploads/tc-version17-workitem-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version17-bloglist.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-814" title="tc-version17-bloglist" src="http://troychaplin.ca/wp-content/uploads/tc-version17-bloglist-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div>
<div class='one_third last'>
					<p><a href="http://troychaplin.ca/wp-content/uploads/tc-version17-blogpost.jpg" rel="prettyPhoto[tc-design]"><img class="alignnone size-thumbnail wp-image-815" title="tc-version17-blogpost" src="http://troychaplin.ca/wp-content/uploads/tc-version17-blogpost-254x214.jpg" alt="" width="254" height="214" /></a></p>
				</div><div class='clear'></div>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2012/04/three-years-and-counting-a-look-back-at-the-evolving-design-of-my-portfolio-and-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Including Scripts on Specific WordPress Templates by Using PHP Conditional Tags</title>
		<link>http://troychaplin.ca/2011/02/including-scripts-on-specific-wordpress-templates-by-using-php-conditional-tags/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=including-scripts-on-specific-wordpress-templates-by-using-php-conditional-tags</link>
		<comments>http://troychaplin.ca/2011/02/including-scripts-on-specific-wordpress-templates-by-using-php-conditional-tags/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 20:59:00 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=490</guid>
		<description><![CDATA[Running scripts in your WordPress theme can give a developer the ability to enhance a websites functionality, but each script being used can add additional load times throughout your sites pages. Using a conditional statement along with WordPress conditional tags to specify when a script will be loaded can help cut down on the unnecessary overhead. Let&#8217;s say you wanted to load jQuery on... <a href="http://troychaplin.ca/2011/02/including-scripts-on-specific-wordpress-templates-by-using-php-conditional-tags/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Running scripts in your WordPress theme can give a developer the ability to enhance a websites functionality, but each script being used can add additional load times throughout your sites pages. Using a conditional statement along with WordPress conditional tags to specify when a script will be loaded can help cut down on the unnecessary overhead.</p>
<p>Let&#8217;s say you wanted to load jQuery on only your category and post pages, it would be like the following sample. The is_category will add it to any category on your site, while the is_singular will load it on the type specified, in this case, post.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php if( is_category() || is_singular('post') ) { ?&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;?php } ?&gt;
</pre>
<p>The is_singular above is different from using the more often seen is_single. By using is_single, the script will be loaded onto all single pages types, this includes any custom post types you may be using.</p>
<p>A good example of this would be the script I&#8217;m using for my portfolio custom post type called PrettyPhoto which creates the gallery style images of my work. I only plan on using PrettyPhoto for my portfolio so I would want to create a conditional statement like this (be sure to change the source path to you script location):</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php if( is_post_type_archive('portfolio') || is_singular('portfolio' ) ) { ?&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/FILELOCATION/jquery.prettyPhoto.js&quot;&gt;&lt;/script&gt;
&lt;?php } ?&gt;
</pre>
<p>The is_post_type_archive and is_singluar above have portfolio specified, which is the name of the custom post type as it is registered in my functions. PrettyPhoto will now only load when a visitor goes to my portfolio.</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2011/02/including-scripts-on-specific-wordpress-templates-by-using-php-conditional-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Nivo Slider and WordPress Attachments to Create an Easy to Use Slideshow</title>
		<link>http://troychaplin.ca/2011/01/using-nivo-slider-and-wordpress-attachments-to-create-an-easy-to-use-slideshow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-nivo-slider-and-wordpress-attachments-to-create-an-easy-to-use-slideshow</link>
		<comments>http://troychaplin.ca/2011/01/using-nivo-slider-and-wordpress-attachments-to-create-an-easy-to-use-slideshow/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 00:34:25 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Attachments]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Slideshow]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=461</guid>
		<description><![CDATA[For the work section of this site the previous theme for this site I wanted a simple slideshow to showcase my design and development work over the years, but also make it very simple to create them as a WordPress post. I was a fan of the functionality of a jQuery add-on called Nivo Slider, and thought that it would work well for what... <a href="http://troychaplin.ca/2011/01/using-nivo-slider-and-wordpress-attachments-to-create-an-easy-to-use-slideshow/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>For the work section of <del>this site</del> the previous theme for this site I wanted a simple slideshow to showcase my design and development work over the years, but also make it very simple to create them as a <a href="http://wordpress.org" target="_blank">WordPress</a> post. I was a fan of the functionality of a <a href="http://jquery.com" target="_blank">jQuery</a> add-on called <a href="http://nivo.dev7studios.com/" target="_blank">Nivo Slider</a>, and thought that it would work well for what I wanted to achieve if I could incorporate it with WordPress attachments.</p>
<p>The end result is pretty simple: create a post, upload some images and order them, then publish. The images that have been attached to the post will be put into a slideshow which you can modify with a few simple edits to Nivo Sliders options. The sizes of the images also conform to what you have specified in the media settings in the WordPress dashboard, so you should take that into consideration when planning your slideshow.</p>
<p>Let&#8217;s take a look at how <del>I&#8217;ve set this up for my work portfolio</del> you can set this up.</p>
<p><em><strong>Note:</strong> any reference to this being active on my site no longer apply, this post was written while using another theme which has since been replaced.</em></p>
<h2>Adding jQuery and Nivo Slider to Your Theme</h2>
<p>First off, you need to <a href="http://docs.jquery.com/Downloading_jQuery" target="_blank">download jQuery</a> and <a href="http://nivo.dev7studios.com/" target="_blank">Nivo Slider</a>. I would recommend reading through the <a href="http://nivo.dev7studios.com/#usage" target="_blank">usage documentation</a> for Nivo Slider, and maybe building an HTML example to see how it all works.</p>
<p>After downloading and copying the scripts into my theme folder, I added it to the footer right before the closing body and html tags. There are quite a few options available to <a href="http://nivo.dev7studios.com/#usage" target="_blank">customize how Nivo Slider </a>acts, try them out and see what works for you. The following code is how I have things setup. Be sure to change the FILELOCATION and DIVNAME in two areas to match up with the path to your scripts as well as the div that your slideshow will be placed within.</p>
<pre class="brush: php; title: ; notranslate">
&lt;!-- jQuery Script --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/FILELOCATION/jquery-1.4.4.min.js&quot;&gt;&lt;/script&gt;

&lt;!-- Nivo Slider Script --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/FILELOCATION/jquery.nivo.slider.pack.js&quot;&gt;&lt;/script&gt;

&lt;!-- Nivo Slider Function --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(window).load(function() {
	var total = $('#DIVNAME img').length;
	var &lt;a href=&quot;http://www.php.net/rand&quot;&gt;rand&lt;/a&gt; = Math.&lt;a href=&quot;http://www.php.net/floor&quot;&gt;floor&lt;/a&gt;(Math.random()*total);
	$('#DIVNAME').nivoSlider({
		effect:'fade', //Specify sets like: 'fold,fade,sliceDown'
		animSpeed:600, //Slide transition speed
		pauseTime:6000,
		directionNav:false, //Next and Prev
		controlNav:false, //1,2,3...
		pauseOnHover:false, //Stop animation while hovering
		captionOpacity:1, //Universal caption opacity
		startSlide:0 //Set starting Slide (0 index)
	});
});
&lt;/script&gt;
</pre>
<h2>Creating the Function</h2>
<p>Once you have the two scripts added into your footer.php file we can create the function need. This can be added into your functions.php file, or directly into the page or post template that you want to use your slideshows.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

function nivo_get_images($size = 'large', $limit = '0', $offset = '0') {
	global $post;

	$images = get_children( &lt;a href=&quot;http://www.php.net/array&quot;&gt;array&lt;/a&gt;('post_parent' =&gt; $post-&gt;ID, 'post_status' =&gt; 'inherit', 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image', 'order' =&gt; 'ASC', 'orderby' =&gt; 'menu_order ID') );

	if ($images) {

		$num_of_images = &lt;a href=&quot;http://www.php.net/count&quot;&gt;count&lt;/a&gt;($images);

		if ($offset &gt; 0) : $start = $offset--; else : $start = 0; endif;
		if ($limit &gt; 0) : $stop = $limit+$start; else : $stop = $num_of_images; endif;

		$i = 0;
		foreach ($images as $image) {
			if ($start &lt;= $i and $i &lt; $stop) {
			$img_title = $image-&gt;post_title;   // title.
			$img_description = $image-&gt;post_content; // description.
			$img_caption = $image-&gt;post_excerpt; // caption.
			$img_url = wp_get_attachment_url($image-&gt;ID); // url of the full size image.
			$preview_array = image_downsize( $image-&gt;ID, $size );
 			$img_preview = $preview_array[0]; // thumbnail or medium image to use for preview.

 			?&gt;

			&lt;img src=&quot;&lt;?php echo $img_preview; ?&gt;&quot; alt=&quot;&lt;?php echo $img_caption; ?&gt;&quot; /&gt;

			&lt;?

			}
			$i++;
		}

	}
}
?&gt;
</pre>
<h2>Adding the Slideshow to Your Template</h2>
<p>Once you have created the function, all that&#8217;s left to do is add a small line of php into the area in which you want your slideshow to appear. You can set the size of the image by replacing &#8216;large&#8217; in the example with &#8216;medium&#8217; or &#8216;thumb&#8217; and it will resize based on your media settings.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php nivo_get_images('large','0','0'); ?&gt;
</pre>
<p>Once you have all of this done, you should be able to create a new post or page, and when uploading images, drag and drop them into your preferred order, give them title or alt tags, and let the scripts and functions handle the rest.</p>
<h2>UPDATE: Styling the Slideshow with CSS</h2>
<p>I realized late last night that I completely forgot to add the styling. If you had gone through the <a href="http://nivo.dev7studios.com/#usage" target="_blank">usage documentation</a> on the Nivo Slider website you would have gone through this step already. If not, here&#8217;s an example of the simple CSS that I use for my slideshow. The third item (#DIVNAME img) is used to prevent all the images from displaying as the page loads, and adds a loading image, which you can replace with your own customized animated GIF.</p>
<pre class="brush: php; title: ; notranslate">
#DIVNAME-bg {
	margin-top:8px;
	padding:5px;
	background-image:url(PATHTOTHEMEIMAGES/filename.png);
	background-repeat:repeat;
}

#DIVNAME {
	width:620px;
	height:620px;
}

#DIVNAME img {
	display:none;
	background:url(PATHTONIVOIMAGES/loading.gif) no-repeat 50% 50%
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2011/01/using-nivo-slider-and-wordpress-attachments-to-create-an-easy-to-use-slideshow/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Customize the WordPress Administration Area to Suit a Clients Needs</title>
		<link>http://troychaplin.ca/2010/10/customize-the-wordpress-administration-area-to-suit-a-clients-needs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=customize-the-wordpress-administration-area-to-suit-a-clients-needs</link>
		<comments>http://troychaplin.ca/2010/10/customize-the-wordpress-administration-area-to-suit-a-clients-needs/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 20:06:41 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=215</guid>
		<description><![CDATA[In my opinion, WordPress is the best option for building a custom CMS for clients, as it provides one of the best administration area setups that I&#8217;ve ever worked with. Things are laid out in a simple way, and the user interface is intuitive and easy to navigate. But yet there are always certain clients that will aimlessly click around into any possible area... <a href="http://troychaplin.ca/2010/10/customize-the-wordpress-administration-area-to-suit-a-clients-needs/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>In my opinion, WordPress is the best option for building a custom CMS for clients, as it provides one of the best administration area setups that I&#8217;ve ever worked with. Things are laid out in a simple way, and the user interface is intuitive and easy to navigate. But yet there are always certain clients that will aimlessly click around into any possible area and will sometimes change, alter or remove important items that are critical to how the front facing website functions.</p>
<p>There are a few good functions out there to help in hiding some of those areas, but I recently came across an <a href="http://sixrevisions.com/wordpress/how-to-customize-the-wordpress-admin-area/" target="_blank">incredible post at Six Revisions</a> that has allowed me to further customize what individuals can and can&#8217;t do in the administration area, so be sure to check out the full post, as it provides some great resources.</p>
<h2>Removing Post and Page Modules</h2>
<p>I&#8217;m currently working on a new project that involves lots of automation, and there are quite a number of modules on both the post and page editing areas that are not required. Instead of going into the screen options each time a new user account is created, I&#8217;m using the following function to hidden certain modules on all accounts in the system.</p>
<p>The following piece of code includes all the modules that can be hidden from each editor, nicely commented so you can customize your function to suit your specific needs.</p>
<pre class="brush: php; title: ; notranslate">
function customize_meta_boxes() {

	/* Removes meta boxes from Posts */
	remove_meta_box('categorydiv','post','normal'); // remove categories module
	remove_meta_box('tagsdiv-post_tag','post','normal'); // remove tags module
	remove_meta_box('postexcerpt','post','normal'); // remove excerpt module
	remove_meta_box('trackbacksdiv','post','normal'); // remove trackbacks module
	remove_meta_box('postcustom','post','normal'); // remove custom fields module
	remove_meta_box('commentstatusdiv','post','normal'); // remove discussions module
	remove_meta_box('commentsdiv','post','normal'); // remove comments module
	remove_meta_box('authordiv','post','normal'); // remove author module
	remove_meta_box('revisionsdiv','post','normal'); // remove revisions module

	/* Removes meta boxes from pages */
	remove_meta_box('postcustom','page','normal'); // remove custom fields module
	remove_meta_box('trackbacksdiv','page','normal'); // remove trackbacks module
	remove_meta_box('commentstatusdiv','page','normal'); // remove discussion module
	remove_meta_box('commentsdiv','page','normal'); // remove comments module
	remove_meta_box('authordiv','page','normal'); // remove author module
}

add_action('admin_init','customize_meta_boxes');
</pre>
<p>Again, a big thanks to <a href="http://sixrevisions.com" target="_blank">Six Revisions</a> for this incredible post. The information provided there will be a big help in created a much easier administration experience for clients, which was already pretty great to begin with!</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/10/customize-the-wordpress-administration-area-to-suit-a-clients-needs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New WordPress 3.1 Features Aim to Create a Better CMS</title>
		<link>http://troychaplin.ca/2010/09/new-wordpress-3-1-features-aim-to-create-a-better-cms/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-wordpress-3-1-features-aim-to-create-a-better-cms</link>
		<comments>http://troychaplin.ca/2010/09/new-wordpress-3-1-features-aim-to-create-a-better-cms/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 11:00:05 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/?p=203</guid>
		<description><![CDATA[It seems that with every release of a WordPress upgrade there are a few key features that move the software a few steps closer to becoming a much more powerful CMS, and the plan for WordPress 3.1 is no different. As usual, there will be lots of work done around fixing remaining bugs from 3.0.1, but some of the new features planned include adding... <a href="http://troychaplin.ca/2010/09/new-wordpress-3-1-features-aim-to-create-a-better-cms/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>It seems that with every release of a WordPress upgrade there are a few key features that move the software a few steps closer to becoming a much more powerful CMS, and the plan for WordPress 3.1 is no different. As usual, there will be lots of work done around fixing remaining bugs from 3.0.1, but some of the new features planned include adding Ajax to the admin area to improve the browsing and search of content, advanced taxonomy queries, and other user interface cleanup. The planned addition of post templates and styles is also interesting and could be a big benefit to designers and developers in giving users more control over how their posts look and act. The two features that I&#8217;m the most excited and interested in are the addition of internal linking and the front end admin bar.</p>
<h2>Internal Linking</h2>
<p>While I&#8217;m surprised that it took this long to have this feature added to the core of WordPress, I&#8217;m excited that this will now finally be a standard feature. This is a standard feature of just about every other CMS product that I&#8217;ve used, and even though the options, customization and general ease of use within WordPress is far superior than any other product I&#8217;ve used, this was one significant area in which WordPress failed.</p>
<p>Sure, there are plugins that can add this functionality, but I&#8217;m always looking for ways to cut down on the amount of plugins I use, and would much rather have features in the core, or add it through the functions.php file. I&#8217;ve used plugins for this feature in the past, but the problem was that when pages were moved around in the navigation, particularly when making them child pages, the linking often times broke. I&#8217;m sure the team working on these features will accommodate for this and use this feature to take one large step towards a better CMS option.</p>
<h2>Admin Bar</h2>
<p>Having a toolbar on the front-facing website is one big step towards a more simple content creation and site administration system. Much like the toolbar available if you run a blog on <a href="http://wordpress.com" target="_blank">WordPress.com</a>, users will have the ability to access the main administration area sections if they are logged in.</p>
<p>With this feature, I&#8217;m hoping that the development team gives administrators the ability to determine which areas of the admin area are visible in this toolbar, as often times when building themes for clients I will hide items from the admin navigation for users roles below admin in a effort to prevent accidental setting changes, or to avoid confusion for those who simply want to edit and create content and will not understand the purpose of the other areas.</p>
<h2>When Can We Expect 3.1?</h2>
<p>The tentative release date for WordPress version 3.1 is mid-December, which is perfect for me. With a little time off from work between Christmas and New Years, I hope they make the planned release date and I can have plenty of time to get my feet wet with these new features.</p>
<p>To read more details about all the plans for WordPress 3.1 features <a href="http://www.wpbeginner.com/news/whats-coming-in-wordpress-3-1-features/" target="_blank">read this post by WP Beginner</a>, and for all future updates and news, check in on the <a href="http://wpdevel.wordpress.com/" target="_blank">WordPress Development Updates</a> blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/09/new-wordpress-3-1-features-aim-to-create-a-better-cms/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Variable Post Excerpt Lengths Based on Title Character Count</title>
		<link>http://troychaplin.ca/2010/08/variable-post-excerpt-lengths-based-on-title-character-count/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=variable-post-excerpt-lengths-based-on-title-character-count</link>
		<comments>http://troychaplin.ca/2010/08/variable-post-excerpt-lengths-based-on-title-character-count/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 18:06:15 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Excerpt]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/cms/?p=98</guid>
		<description><![CDATA[If you are looking to create a post landing page layout that flows across multiple columns while maintaining a consistent height to each post coming through from the loop, then the following piece of code will do just that. It will allow you to set the number of characters output on the excerpt based on the title character count. The way this works is... <a href="http://troychaplin.ca/2010/08/variable-post-excerpt-lengths-based-on-title-character-count/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you are looking to create a post landing page layout that flows across multiple columns while maintaining a consistent height to each post coming through from the loop, then the following piece of code will do just that. It will allow you to set the number of characters output on the excerpt based on the title character count.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php $excerpt = strip_tags(get_the_excerpt());
$title_len = strlen($post-&gt;post_title); //get length of title

if($title_len &lt;= 30){
$limit=270; //calc space remaining for excerpt
}

else if ($title_len &lt;= 60){
$limit=230; //calc space remaining for excerpt
}

else if($title_len &lt;= 75){
$limit=180;
}

$summary = substr($excerpt, 0, strrpos(substr($excerpt, 0, $limit), ' ')) . '...';
echo '

'.$summary,'

';  ?&gt;

&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot; title=&quot;Read Full Post: &lt;?php the_title(); ?&gt;&quot;&gt;More&amp;nbsp;&amp;raquo;&lt;/a&gt;
</pre>
<p>The way this works is rather simple. The $title_len represents the length of the post title, while the $limit represents the excerpt length limit. In the first if statement, the title_len is less than 30 characters, then the excerpt will output 270 characters.</p>
<p>The next series of else if statement function in the same way, reducing the size of the excerpt as the title character counts increases. This example only displays 3 possible sizes, but add more else if&#8217;s if required.</p>
<p>The second portion of the code will create a summary by stripping the post and apply the conditional statement values, which will then be output onto the page wrapped in p tags. The first line of the summary also end with three periods, this can be changed to whatever you wish to output to end the excerpt text.</p>
<p>The read more link is the last line of the code, simply change the READ MORE LINK portion of the code to set the text for viewing the full post.</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/08/variable-post-excerpt-lengths-based-on-title-character-count/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deregister and Move WordPress Plugin Javascripts Into the Footer</title>
		<link>http://troychaplin.ca/2010/08/deregister-and-move-wordpress-plugin-javascripts-into-the-footer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deregister-and-move-wordpress-plugin-javascripts-into-the-footer</link>
		<comments>http://troychaplin.ca/2010/08/deregister-and-move-wordpress-plugin-javascripts-into-the-footer/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 18:06:29 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[Minification]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/cms/?p=100</guid>
		<description><![CDATA[As a javascript is being loaded on a site, it will prevent any other item from downloading. This can be very frustrating for your visitors if the scripts are loading before the images, styles, or other site components. Having your javascript calls placed in your footer will allow other resources on your site to load first, effectively speeding up the overall load time of... <a href="http://troychaplin.ca/2010/08/deregister-and-move-wordpress-plugin-javascripts-into-the-footer/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>As a javascript is being loaded on a site, it will prevent any other item from downloading. This can be very frustrating for your visitors if the scripts are loading before the images, styles, or other site components. Having your javascript calls placed in your footer will allow other resources on your site to load first, effectively speeding up the overall load time of your site.</p>
<p>Often times a WordPress plugin will use a javascript, but the plugins load them into the wp_head tag. Moving a plugin javascript into the footer area requires a simple function, but is dependent on the plugin authors inclusion of the wp_print_scripts action. Search the plugins main php file for the wp_print_scripts item, and it will be closely followed by the script name.</p>
<p>The following piece of code uses a sample to move the javascript from the WP-Codebox plugin:</p>
<pre class="brush: php; title: ; notranslate">

add_action('wp_enqueue_scripts', 'wp_codebox_scripts');
function wp_codebox_scripts() {
wp_enqueue_script('codebox', plugins_url('wp-codebox/js/codebox.js'), array('jquery'), '2.50', true);
wp_localize_script('codebox', 'codebox', array(
'ajax_url' =&gt; plugins_url('wp-codebox/wp-codebox.php'),
'text_wait' =&gt; __('Your last request is still being processed. Please wait a while ...', 'codebox'),
));
}
</pre>
<p>Before inserting the code into the functions.php file of the WordPress theme, open your theme footer.php and check to see if it contains the following line of code, if not, then add it above the closing body tag. <strong>Note:</strong> both the wp_header and wp_footer are used by a plugin file to insert CSS and javascript code into your theme.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php wp_footer(); ?&gt;
</pre>
<p>On lines one and two of the full function, the first line will add an action to hook into the wp_enqueue_script, and replace it with an action of your own choosing, in this case wp_codebox_scripts. Then on line two, you specify the name of your newly created action to register it as a function, as seen in the following example:</p>
<pre class="brush: php; title: ; notranslate">

add_action('wp_enqueue_scripts', 'wp_codebox_scripts');
function wp_codebox_scripts() {
</pre>
<p>Navigate into the plugin folder and open the main php file and do a search for wp_print_scripts. This function will only be possible if it is available in the plugin structure. In the wp-codebox.php file, the print scripts action can be found on line 61, and a little further down on line 67 we see the line of code that includes the wp_enqueue_script which also contains the script name and the path to the plugin javascript file:</p>
<pre class="brush: php; title: ; notranslate">

wp_enqueue_script('codebox', get_bloginfo ( 'wpurl' ) . '/wp-content/plugins/wp-codebox/js/codebox.js', array('jquery'), '0.1');
</pre>
<p>Make note of the script name and path to the javascript file and insert it into line 3 of the full function code (<strong>note:</strong> because the function uses a plugin_url reference, you should not add the wp-content and plugins slugs as part of the path to the javascript file):</p>
<pre class="brush: php; title: ; notranslate">

wp_enqueue_script('codebox', plugins_url('wp-codebox/js/codebox.js'), array('jquery'), '2.50', true);
</pre>
<p>On line 4 there is two areas that you would need to insert the script name, as seen in the following example. Line five also requires you to insert the plugin directory, as well as the main php file name:</p>
<pre class="brush: php; title: ; notranslate">

wp_localize_script('codebox', 'codebox', array(
'ajax_url' =&gt; plugins_url('wp-codebox/wp-codebox.php'),
</pre>
<p>Once you&#8217;ve added the proper script names and paths in the final function, refresh your site and take a look at the source code. You should see that the call to the plugin javascript is located in the footer, as opposed to the header.</p>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/08/deregister-and-move-wordpress-plugin-javascripts-into-the-footer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Deregister Default Plugin CSS Files in WordPress</title>
		<link>http://troychaplin.ca/2010/08/how-to-deregister-default-plugin-css-files-in-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-deregister-default-plugin-css-files-in-wordpress</link>
		<comments>http://troychaplin.ca/2010/08/how-to-deregister-default-plugin-css-files-in-wordpress/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 18:11:03 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Styles]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/cms/?p=102</guid>
		<description><![CDATA[With every file loaded into a site an HTTP request is made to the server, and the higher the number of requests made will decrease the overall load time of your site pages and posts. A simple way to cut down on those requests is by combining your CSS and Javascript files into as few as possible. Disabling the plugin CSS allows you to... <a href="http://troychaplin.ca/2010/08/how-to-deregister-default-plugin-css-files-in-wordpress/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>With every file loaded into a site an HTTP request is made to the server, and the higher the number of requests made will decrease the overall load time of your site pages and posts. A simple way to cut down on those requests is by combining your CSS and Javascript files into as few as possible.</p>
<p>Disabling the plugin CSS allows you to copy it directly into the main theme style sheet, effectively removing one or more HTTP requests on your site. Although a handful of recent WordPress plugins have begun to offer the option to disable its CSS through its configuration, most plugins still place a call to its CSS file inside the wp_header tag. Disabling the default CSS file requires a simple function, but is dependent on the plugin authors inclusion of the wp_print_styles action.</p>
<p>Search the plugins main php file in the plugin folder for the wp_print_styles item, and it will be closely followed by the script name. The following piece of code uses a sample to disable the default CSS file for the wp-pagenavi plugin:</p>
<pre class="brush: php; title: ; notranslate">

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'wp-pagenavi' );
}
</pre>
<h2>Setting Up the Function</h2>
<p>Before inserting the code into the functions.php file of the WordPress theme, open your theme header.php and check to see if it contains the following line of code, if not, then add it in the header tag. <strong>Note:</strong> the wp_header tag is used by plugins to load resources and is required for them to function.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php wp_header(); ?&gt;
</pre>
<p>Navigate into the plugin folder and open the main php file and do a search for wp_enqueue_style. This function will only be possible if it is available in the plugin structure. In the wp-pagenavi.php file, the print scripts action and style name can be found on line 204:</p>
<pre class="brush: php; title: ; notranslate">

wp_enqueue_style('wp-pagenavi', $css_file, false, '2.70');
</pre>
<p>In the first argument in the enqueue for the plugin, the name of the style is wp-pagenavi. Copy this name and paste it into the wp_deregister_style line of the full function, as shown in the following example:</p>
<pre class="brush: php; title: ; notranslate">

wp_deregister_style( 'wp-pagenavi' );
</pre>
<h2>Deregistering Multiple Plugin CSS Files</h2>
<p>If you have multiple plugins that use the wp_enqueue_style action, you can add multiple instances of the wp_deregister_style in one single function with the following sample:</p>
<pre class="brush: php; title: ; notranslate">

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'wp-pagenavi' );
wp_deregister_style( 'NextGEN' );
wp_deregister_style( 'codebox' );
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/08/how-to-deregister-default-plugin-css-files-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Add and Style Custom Modules on the WordPress Dashboard</title>
		<link>http://troychaplin.ca/2010/07/how-to-add-and-style-custom-modules-on-the-wordpress-dashboard/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-add-and-style-custom-modules-on-the-wordpress-dashboard</link>
		<comments>http://troychaplin.ca/2010/07/how-to-add-and-style-custom-modules-on-the-wordpress-dashboard/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 18:12:35 +0000</pubDate>
		<dc:creator>troychaplin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://troychaplin.ca/cms/?p=106</guid>
		<description><![CDATA[Wouldn&#8217;t it be nice to have the ability to add new custom module on the dashboard in your WordPress builds? The following code will do just that, simply add it to your functions.php file and add whatever you want within the echo and voila! In the following example I have created a 2 column table with inline styles that features an unordered list that... <a href="http://troychaplin.ca/2010/07/how-to-add-and-style-custom-modules-on-the-wordpress-dashboard/">More&#160;&#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t it be nice to have the ability to add new custom module on the dashboard in your WordPress builds? The following code will do just that, simply add it to your functions.php file and add whatever you want within the echo and voila!</p>
<pre class="brush: php; title: ; notranslate">

// Create the function to output the contents of our Dashboard Widget
function example_dashboard_widget_function() {

// Display whatever it is you want to show
echo ' INSERT SOMETHING HERE ';
}

// Create the function use in the action hook
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'Site Documentation', 'example_dashboard_widget_function');
}

// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
</pre>
<p>In the following example I have created a 2 column table with inline styles that features an unordered list that I normally use to create a tutorials and documentation module for each of my clients.</p>
<pre class="brush: php; title: ; notranslate">

// Create the function to output the contents of our Dashboard Widget
function example_dashboard_widget_function() {

// Display whatever it is you want to show
echo '
&lt;div id=&quot;docs-left&quot; style=&quot;float:left;width:48%;&quot;&gt;
&lt;p style=&quot;font-size:12px;font-weight:bold;margin-top:0;color:#333333&quot;&gt;Basic Tutorials
&lt;ul style=&quot;padding: 0 0 0 18px&quot;&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Basic Tutorial 1&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Basic Tutorial 2&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Basic Tutorial 3&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Basic Tutorial 4&lt;/a&gt;
&lt;li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;docs-right&quot; style=&quot;float:right;width:48%;&quot;&gt;
&lt;p style=&quot;font-size:12px;font-weight:bold;margin-top:0;color:#333333&quot;&gt;Advanced Tutorials
&lt;ul style=&quot;padding: 0 0 0 18px&quot;&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Advanced Tutorial 1&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Advanced Tutorial 2&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Advanced Tutorial 3&lt;/a&gt;
&lt;li&gt;
&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;a href=&quot;#&quot; target=&quot;_blank&quot;&gt;Advanced Tutorial 4&lt;/a&gt;
&lt;li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;

';
}

// Create the function use in the action hook
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'Site Documentation', 'example_dashboard_widget_function');
}

// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
</pre>
]]></content:encoded>
			<wfw:commentRss>http://troychaplin.ca/2010/07/how-to-add-and-style-custom-modules-on-the-wordpress-dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.541 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-16 16:10:55 -->

