<?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>More Than Scratch The Surface &#187; wordpress themes</title>
	<atom:link href="http://www.scratch99.com/tag/wordpress-themes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.scratch99.com</link>
	<description>A Journey In Web Development</description>
	<lastBuildDate>Sat, 31 Jul 2010 04:51:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Custom Page Templates &#8211; Calling An External CSS File</title>
		<link>http://www.scratch99.com/2009/03/custom-page-template-external-css-file/</link>
		<comments>http://www.scratch99.com/2009/03/custom-page-template-external-css-file/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 13:21:42 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[custom page templates]]></category>
		<category><![CDATA[wordpress themes]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/2009/03/custom-page-template-external-css-file/</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/03/custom-page-template-external-css-file/.Note: Not long after writing this post, I discovered that the best way to load external CSS files is by using the wp_enqueue_style function. Similarly, the best way to load JavaScript files is by using the wp_enqueue_script function. The method outlined below is not necessary [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/03/custom-page-template-external-css-file/">http://www.scratch99.com/2009/03/custom-page-template-external-css-file/</a>.<br /><p><strong>Note: Not long after writing this post, I discovered that the best way to load external CSS files is by using the <a target="_blank" href="http://codex.wordpress.org/Function_Reference/wp_enqueue_style">wp_enqueue_style</a> function. Similarly, the best way to load JavaScript files is by using the <a target="_blank" href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">wp_enqueue_script</a> function. The method outlined below is not necessary &#8211; although it may still be useful for other things to be added to the head section.</strong></p>
<p><strong>Custom page templates</strong> are a powerful feature of WordPress that can be used to make pages (not posts) do something different from normal. You can make them do pretty much anything. Obviously, this can <strong>greatly increase the flexibility of your site</strong>. </p>
<p>Amongst other things, I&#8217;ve used custom page templates to create a <a href="http://www.jobsinchina.com/flickr-picks-wall/" target="_blank">basic photo wall</a> and a dynamic <a href="http://www.jobsinchina.com/jobs-in-china/" target="_blank">listing of jobs in China</a>.</p>
<p>However, because of the way most WordPress themes are created, calling <strong>an external CSS file</strong> from a <strong>custom page template</strong> is not straightforward. Here, I explain the problem, look at the options and explain how to use &#8216;plugin functionality&#8217; to overcome the problem.</p>
<h2>Creating Custom Page Templates</h2>
<p>Much has been written about creating custom page templates, so I won&#8217;t cover it in detail here. Briefly, you need to do the following:</p>
<ol>
<li>Create a php file in your theme directory, containing the functionality you want (I normally start with an existing template and modify it). </li>
<li>Ensure there is a comment at the top of the file, so WordPress knows it&#8217;s a template. For example (and don&#8217;t forget to change the name):
<pre class="brush: php;">
&lt;?php
/*
Template Name: My Page
*/
?&gt;
</pre>
</li>
<li>In the Admin panel, edit the page you want to use the custom template with and set the Template field to the template you created. </li>
</ol>
<p>That&#8217;s it in a nutshell. For more detailed instructions, please see:</p>
<ul>
<li><a href="http://www.binarymoon.co.uk/2007/06/wordpress-tips-and-tricks-custom-templates/" target="_blank">WordPress tips and tricks &#8211; custom templates</a> by Binary Moon</li>
<li><a href="http://www.prelovac.com/vladimir/customize-your-themes-with-page-templates" target="_blank">How to use custom page template in WordPress themes</a> by Vladimir Prelovac</li>
</ul>
<h2>Calling An External CSS File</h2>
<p>There may be times when you want to <strong>include something in the head section</strong> of the HTML document. The most obvious example is a call to an external CSS file to provide <strong>custom styling</strong> for the page. </p>
<p>Adding the style information to the main CSS file would add unnecessary weight to every page / post, when it&#8217;s only needed on one page. Inline CSS should be avoided where possible. So the best solution is an external CSS file that is called only for that page (ie called by the custom page template).</p>
<div class="csstextbox1">This article focuses on calling an external CSS file, but it also applies to anything that you want to add to the head section of the HTML document, such as <strong>calling a JavaScript file or adding a meta tag</strong>, etc.</div>
<h2>The Problem With Adding Items To The HTML Head</h2>
<p>It sounds simple enough: I just call the CSS file from the custom page template, right? Right in theory, but in practice you can&#8217;t easily do this because of the way most WordPress themes are designed.</p>
<p>The external CSS file must be called from the head section of the HTML document. In most WordPress themes, the entire head section is contained in the header.php file. This is normally called from the custom page template using the get_header() function in the following manner: </p>
<pre class="brush: php;">
&lt;?php
/*
Template Name: My Page
*/
?&gt;
&lt;?php get_header(); ?&gt;
</pre>
<p>This calls header.php, which will probably have a variation on the following:</p>
<pre class="brush: php;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?php language_attributes(); ?&gt;&gt;
&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?php bloginfo('html_type'); ?&gt;; charset=&lt;?php bloginfo('charset'); ?&gt;&quot; /&gt;
&lt;title&gt;&lt;?php bloginfo('name'); ?&gt; &lt;?php if ( is_single() ) { ?&gt; » Blog Archive &lt;?php } ?&gt; &lt;?php wp_title(); ?&gt;&lt;/title&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_url'); ?&gt;&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;shortcut icon&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/images/favicon.ico&quot; /&gt;
&lt;link rel=&quot;pingback&quot; href=&quot;&lt;?php bloginfo('pingback_url'); ?&gt;&quot; /&gt;
&lt;?php wp_head(); ?&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;page&quot;&gt;
&lt;div id=&quot;header&quot;&gt;
	&lt;div id=&quot;headerimg&quot;&gt;
		&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option('home'); ?&gt;/&quot;&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt;&lt;/h1&gt;
		&lt;div class=&quot;description&quot;&gt;&lt;?php bloginfo('description'); ?&gt;&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
</pre>
<p>If you try to call the CSS file before the get_header() function, for example:</p>
<pre class="brush: php;">
&lt;?php
/*
Template Name: My Page
*/
?&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/includes/mypage.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;?php get_header(); ?&gt;
</pre>
<p>then the additional code will appear BEFORE the code in header.php. In the case above, it will appear before the DOCTYPE line, which is obviously no good.</p>
<p>If you try to call the CSS file after the get_header() function, then the additional code will appear after the code in header.php. In the case above, it will appear after &lt;hr /&gt;, which is in the body of the HTML document and also no good.</p>
<p>There are several solutions to this problem.</p>
<h2>Rejected Solution 1 &#8211; Don&#8217;t Use Header.php</h2>
<p>One possible solution is to <strong>copy and paste the code from header.php</strong> into the custom template, instead of calling it via get_header(). You can then easily edit the code to add the call to the external file. Great!</p>
<p>The problem is that if you ever change header.php, <strong>you&#8217;ll have to remember to come back and change the equivalent code</strong> in the custom page template. That&#8217;s messy (and the chances are you&#8217;ll forget).</p>
<h2>Rejected Solution 2 &#8211; Edit Header.php</h2>
<p>Another possible solution is to edit header.php and <strong>use a conditional statement to only include the CSS file on the page in question</strong>. For example, if we only wanted to use the custom template on the page with an ID of 7830 we could add the following to header.php:</p>
<pre class="brush: php;">
&lt;?php
if ($post-&gt;ID == 7830) {
	echo '&lt;link rel=&quot;stylesheet&quot; href=&quot;'.get_bloginfo('stylesheet_directory').'/includes/mypage.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;';
}
?&gt;
</pre>
<p>This would only call the external CSS file for the page with the specified ID. Note that the IF condition can be adapted to our needs. If we wanted to call the same external stylesheet for multiple pages, we could check for the existence of a custom field, or perhaps a certain tag, etc. The possibilities are endless.</p>
<p>The problem with this solution is that <strong>it&#8217;s messy</strong>. What if you plan to use multiple custom page templates and want a different stylesheet for each one? Your header.php will be filled with conditionals. It&#8217;s far better to find a solution where you can call the external CSS file from the custom page template.</p>
<h2>My Solution &#8211; Add_action Function With Wp_head Hook</h2>
<p>Although I&#8217;m starting to play with <strong>WordPress themes</strong>, my background is in <a title="My WordPress plugins page" href="http://www.scratch99.com/wordpress-plugins-by-stephen-cronin/">WordPress plugins</a>. If I wanted to call an external CCS file from a plugin, I&#8217;d use the <strong>add_action function</strong> with the <strong>wp_head hook</strong>. There&#8217;s really no difference between plugins and themes when using WordPress functions, so this technique works just as well in a custom page template. </p>
<p>Here&#8217;s how to do it:</p>
<pre class="brush: php;">
&lt;?php
function mypage_head() {
	echo '&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;'.get_bloginfo('stylesheet_directory').'/includes/mypage.css&quot;&gt;'.&quot;\n&quot;;
}
add_action('wp_head', 'mypage_head');
?&gt;
&lt;?php get_header(); ?&gt;
</pre>
<p>First, we define a simple function called mypage_head that echos the HTML code calling the external stylesheet. That&#8217;s all it does. Of course, you could echo anything here, such as a call to a JavaScript file, a meta tag, etc.</p>
<p>Next, we use the <strong>add_action function</strong>, with the <strong>wp_head hook</strong>, to call the mypage_head function. This tells WordPress to run our function whenever the wp_head function is called (this is called by your header.php).</p>
<p>Lastly, we call <strong>header.php</strong> using the <strong>get_header function</strong>. This calls wp_head and WordPress remembers to the mypage_head function and your code is added.</p>
<p>It&#8217;s not messy, because all <strong>the code is in the custom page template</strong>. You can leave header.php as it is. But it doesn&#8217;t require you to remember to change code if you change header.php, because you&#8217;re <strong>re-using header.php</strong>.</p>
<h2>Final Thoughts</h2>
<p>That&#8217;s my solution: to use the <strong>add_action fuction</strong> to add something to the header. <strong>What do you use?</strong> I know there are other solutions out there (including plugins), so I&#8217;d be interested in hearing what you do.</p>
<script type="text/javascript">Nifty("div.csstextbox1","bgcolor-#FFFFFF");</script>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/03/custom-page-template-external-css-file/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Poll &#8211; Which WordPress Theme Framework To Use?</title>
		<link>http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/</link>
		<comments>http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 13:32:08 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[poll]]></category>
		<category><![CDATA[theme frameworks]]></category>
		<category><![CDATA[wordpress themes]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/.So far, my WordPress development work has consisted of writing WordPress plugins and occasionally hacking themes. I&#8217;ve always said that I wanted to write a WordPress theme from scratch, but never had time to do so. One of my sites is going to need a [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/">http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/</a>.<br /><p>So far, my WordPress development work has consisted of writing <a title="My WordPress plugins page" href="http://www.scratch99.com/wordpress-plugins-by-stephen-cronin/">WordPress plugins</a> and occasionally hacking themes. I&#8217;ve always said that I wanted to write a WordPress theme from scratch, but never had time to do so. One of my sites is going to need a redesign shortly, so here&#8217;s my big opportunity.</p>
<p>However, with the rise of the <strong>WordPress theme framework</strong> and the limited time available to me, I&#8217;ve started thinking that the sensible thing to do is use a theme framework. But which one? </p>
<h2>What Is A Theme Framework?</h2>
<p>I&#8217;m not going to answer this definitively, because it&#8217;s too large a topic!</p>
<p>The short answer is that a Wordpress theme framework is a base that can be used to write a WordPress theme on top of. Most of the work is already done for you. There&#8217;s generally no need to call WordPress functions. All you need to do is create the style (via CSS) and add any custom functions you might need.</p>
<p>Of course, it&#8217;s not really that simple, as many theme frameworks extend WordPress by creating hooks that can be used for advanced customisation and make use of <strong>child themes</strong>, so you can upgrade the theme framework core without your changes being affected.</p>
<h2>What Are The Choices?</h2>
<p>There are quite a few <strong>WordPress theme frameworks</strong> out there, but the most popular ones seem to be:</p>
<ul>
<li>Ian Stewart&#8217;s <a href="http://themeshaper.com/thematic-for-wordpress/" target="_blank">Thematic</a></li>
<li>Justin Tadlock&#8217;s <a href="http://themehybrid.com/themes/hybrid" target="_blank">Hybrid</a></li>
<li>Alex King&#8217;s <a href="http://carringtontheme.com/" target="_blank">Carrington</a></li>
<li>Ptah Dunbar&#8217;s <a href="http://wpframework.com/" target="_blank">WPFramework</a></li>
</ul>
<p>There are also <strong>Premium WordPress Theme Frameworks</strong>, such as Chris Pearson&#8217;s <a href="http://diythemes.com/thesis/" target="_blank">Thesis</a>, but I&#8217;m not going to pay for one when there are so many great free options.</p>
<p>It&#8217;s worth acknowledging Scott Wallick&#8217;s <a href="http://www.plaintxt.org/themes/sandbox/" target="_blank">Sandbox</a> which is the granddaddy of the theme framework concept and which influenced many of the theme frameworks listed above.</p>
<h2>Tell Me Which Theme Framework You Would Use!</h2>
<p>There&#8217;s too much choice! I don&#8217;t know the difference between these <strong>theme frameworks</strong>, so I&#8217;m not sure which way to go. They all seem good and are created by WordPress developers with great reputations. </p>
<p>I&#8217;m leaning toward <strong>Thematic</strong> or <strong>Hybrid</strong> at the moment. For some reason, I have the feeling that <strong>Carrington</strong> is over the top for what I need, but I may be totally off base here. I&#8217;m also tempted by the <strong>Sandbox</strong> (sometimes I have to fight my instinct to do things the hard way!).</p>
<p>I&#8217;m rather short on time, so rather than spend days trying and comparing these frameworks, I thought I&#8217;d ask you &#8211; which framework would you use? If you have an opinion, please take part in the poll:</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<h2>Final Thoughts</h2>
<p>It&#8217;s exciting times for theme developers. <strong>WordPress theme frameworks</strong> can save us a lot of time. It&#8217;s just a little confusing to know which one to use. I hope this poll can help show what the community is thinking at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/feed/</wfw:commentRss>
		<slash:comments>67</slash:comments>
		</item>
		<item>
		<title>2008 On More Than Scratch The Surface</title>
		<link>http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/</link>
		<comments>http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 14:12:29 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[make money online]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[wordpress themes]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/.Happy New Year to all! A new year, a new start, but before I start churning out new posts, I want to have a quick look at 2008 on More Than Scratch The Surface. I&#8217;m not normally given to writing review posts, but I was [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/">http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/</a>.<br /><p>Happy New Year to all! A new year, a new start, but before I start churning out new posts, I want to have a quick look at 2008 on More Than Scratch The Surface. I&#8217;m not normally given to writing review posts, but I was looking at my Google Analytics stats for 2008 and felt moved to write a review of 2008.</p>
<h2>The Top Ten Visited Posts In 2008</h2>
<p>According to Google Analytics, the top ten visited pages on my blog included the home page and four of my plugin pages, which was pretty predictable. Stripping these out, leaves the following as the top ten visited posts in 2008:</p>
<ol>
<li><a href="http://www.scratch99.com/2007/06/wordpress-rounded-text-boxes-in-posts/">WordPress &#8211; Rounded Text Boxes in Posts</a> (2007) </li>
<li><a href="http://www.scratch99.com/2008/03/creating-javascript-array-dynamically-from-php-array/">Creating A JavaScript Array Dynamically Via PHP</a> </li>
<li><a href="http://www.scratch99.com/2008/02/commentluv-benefits-lost-feedburner-redirect/">Don&#8217;t Let Your CommentLuv Be Stolen Away!</a> </li>
<li><a href="http://www.scratch99.com/2007/06/wordpress-simple-css-text-boxes-in-posts/">WordPress &#8211; Simple CSS Text Boxes In Posts</a> (2007) </li>
<li><a href="http://www.scratch99.com/2007/08/wordpress-most-viewed-sidebar-widget/">WordPress &#8211; Most Viewed &#8211; Sidebar Widget</a> (2007) </li>
<li><a href="http://www.scratch99.com/2008/08/netbeans-ide-65-beta-for-php-developers/">NetBeans IDE 6.5 Beta for PHP Developers</a> </li>
<li><a href="http://www.scratch99.com/2008/01/avoid-adsense-smart-pricing-on-blogs/">How To Avoid Adsense Smart Pricing On Blogs</a> </li>
<li><a href="http://www.scratch99.com/2007/06/wordpress-taming-the-advanced-editor/">WordPress &#8211; Taming The Advanced Editor</a> (2007) </li>
<li><a href="http://www.scratch99.com/2008/01/shylock-adsense-plugin-hack-to-avoid-adsense-smart-pricing/">Shylock Adsense Plugin &#8211; Hack To Avoid Smart Pricing</a> </li>
<li><a href="http://www.scratch99.com/2008/01/the-adsense-dilemma-or-how-to-make-money/">The Adsense Dilemma (Or How To Make Money)</a> </li>
</ol>
<p>Interestingly, four of these posts are actually from 2007! Apart from the WordPress Most Viewed Sidebar Widget post, which was out of date as soon as I posted it, the other three are some of my better work (although I now use a different rounded corners technique and wouldn&#8217;t recommend it anymore)</p>
<p>If we were to just look at 2008 posts, the following four would be added to the bottom of the list:</p>
<ul>
<li><a href="http://www.scratch99.com/2008/01/wordpress-plugin-iframewidgets-v1-released/">WordPress Plugin IFrameWidgets 1.0 Released</a> </li>
<li><a href="http://www.scratch99.com/2008/09/avoid-smart-pricing-show-adsense-only-to-search-engine-visitors/">How To Display Ads Only To Search Visitors</a> </li>
<li><a href="http://www.scratch99.com/2008/10/centered-fixed-width-layout-css-problem-browser-scrollbar/">Centered Fixed Width Layout And Scrollbar Problem</a> </li>
<li><a href="http://www.scratch99.com/2008/05/embedded-search-box-in-google-search-results/">Embedded Search Box In Google Search Results</a> </li>
</ul>
<p>Although some of my best posts are in the top 10 2008 posts, there are also some that I definitely wouldn&#8217;t have included.</p>
<h2>My Top Ten Posts In 2008</h2>
<p>Now, if you asked me what <strong>my</strong> top posts in 2008 were, in terms of importance to me, I would have ranked them this way:</p>
<ol>
<li><a href="http://www.scratch99.com/2008/10/password-protecting-the-wp-admin-folder/">Password Protecting The Wp-admin Folder</a> </li>
<li><a href="http://www.scratch99.com/2008/02/commentluv-benefits-lost-feedburner-redirect/">Don&#8217;t Let Your CommentLuv Be Stolen Away!</a> </li>
<li><a href="http://www.scratch99.com/2008/01/the-adsense-dilemma-or-how-to-make-money/">The Adsense Dilemma (Or How To Make Money)</a> </li>
<li><a href="http://www.scratch99.com/2008/01/avoid-adsense-smart-pricing-on-blogs/">How To Avoid Adsense Smart Pricing On Blogs</a> </li>
<li><a href="http://www.scratch99.com/2008/09/avoid-smart-pricing-show-adsense-only-to-search-engine-visitors/">How To Display Ads Only To Search Visitors</a> </li>
<li><a href="http://www.scratch99.com/2008/03/creating-javascript-array-dynamically-from-php-array/">Creating A JavaScript Array Dynamically Via PHP</a> </li>
<li><a href="http://www.scratch99.com/2008/11/searchwiki-breaks-numbered-google-results-easy-fix/">SearchWiki Breaks Numbered Google Results &#8211; Easy Fix</a> </li>
<li><a href="http://www.scratch99.com/2008/08/the-curse-of-the-blogger/">The Curse Of The Blogger</a> </li>
<li><a href="http://www.scratch99.com/2008/09/setting-cookies-in-wordpress-trap-for-beginners/">Setting Cookies In WordPress &#8211; Trap For Beginners</a> </li>
<li><a href="http://www.scratch99.com/2008/07/spammed-by-make-money-online-master/">Spammed By A Master (Of Making Money Online)</a> </li>
</ol>
<h2>Other Interesting Stats From Google Analytics</h2>
<p>Google Analytics also provided some interesting statistics for 2008 on this site.</p>
<h3>Traffic</h3>
<p>The site recorded 46,488 Visits and 74,916 Pageviews in 2008. Not bad, but I&#8217;m hoping to improve on that in 2009. </p>
<p>By far my largest source of traffic was Google, accounting for a little over 50% of all my traffic. This is normally 70 &#8211; 80% on a day to day basis, but a couple of posts went hot on StumbleUpon and DZone, sending a surge of traffic and driving down the percentage from Google over the whole year. </p>
<h3>Browser Breakdown</h3>
<p>The vast majority of visitors were using Firefox, with IE a distant second. This isn&#8217;t surprising given the nature of this blog, as it appeals to web developers and bloggers, groups given to using FireFox. The full breakdown is as follows:</p>
<ol>
<li>Firefox &#8211; 69.74%</li>
<li>Internet Explorer &#8211; 21.63%</li>
<li>Safari &#8211; 3.95%</li>
<li>Opera &#8211; 2.02%</li>
<li>Chrome &#8211; 1.47%</li>
</ol>
<h3>Operating systems</h3>
<p>I thought it would be interesting to look at the major operating systems used by visitors and it was dominated by Windows. The full breakdown is as follows:</p>
<ol>
<li>Windows &#8211; 83.48% </li>
<li>Macintosh &#8211; 11.57% </li>
<li>Linux &#8211; 4.56%</li>
</ol>
<h3>Top 10 Screen Resolutions</h3>
<p>The screen resolution of visitors is always important to web developers. I&#8217;ve included the top 10 resolutions below. Some are pretty damn big, but the important one to note is that 800&#215;600 has almost dropped off the list at last!</p>
<ol>
<li>1024&#215;768 &#8211; 24.77% </li>
<li>1280&#215;1024 &#8211; 19.34% </li>
<li>1280&#215;800 &#8211; 17.89% </li>
<li>1680&#215;1050 &#8211; 10.68% </li>
<li>1440&#215;900 &#8211; 10.09% </li>
<li>1920&#215;1200 &#8211; 4.56% </li>
<li>1152&#215;864 &#8211; 2.68% </li>
<li>1600&#215;120 &#8211; 1.83% </li>
<li>800&#215;600 &#8211; 1.60% </li>
<li>1280&#215;768 &#8211; 1.53%</li>
</ol>
<h3>Top 10 Countries</h3>
<ol>
<li>US (by far)</li>
<li>UK (London was the top city)</li>
<li>India</li>
<li>Canada</li>
<li>Australia</li>
<li>Germany</li>
<li>Philippines (Hi RT)</li>
<li>Netherlands</li>
<li>China</li>
<li>Indonesia</li>
</ol>
<p><b></b></p>
<h2>Goals For 2009</h2>
<p>Here are some of my goals for the upcoming year.</p>
<h3>Post More Often</h3>
<p>I only managed 41 posts in 2008, slowing towards the end of the year, with only two in November and two in December. By contrast, I managed 52 posts in a little over 7 months in 2007. I&#8217;d really like to get more posts out. </p>
<p>It&#8217;s not for lack of ideas &#8211; I have <b>lots</b> of half written posts that I just need some time to finish off. I tend to spend more time working on my projects than writing about what I&#8217;m learning.</p>
<h3>Post On Topic</h3>
<p>It&#8217;s noticeable in my top 10 posts above that many are my Make Money Online posts. I&#8217;d like to keep posting on that topic as I learn more about it, but I want to post more often on my Web Development efforts (and WordPress of course).</p>
<h3>Update My Current Wordpress Plugins</h3>
<p>I want to overhaul <a href="http://www.scratch99.com/wordpress-plugins-by-stephen-cronin/">my existing WordPress plugins</a>, make them more efficient, add some new features and move them into the official WordPress plugin repository.</p>
<h3>Release Some New WordPress Plugins</h3>
<p>I started off by writing that I&#8217;d like to release another 4 WordPress plugins this year (I already have 4 half finished plugins that I want to finish off). However, thinking of my workload, I changed it first to 3 plugins, then to 2 plugins! So we&#8217;ll have to see how many I can actually get out. </p>
<h3>Release A WordPress Theme </h3>
<p>I&#8217;ve extensively customised themes on several of my WordPress blogs, including this one. It&#8217;s always been my intention to build a theme from scratch, which I&#8217;d then use as a basis to create WordPress Themes for release. Hopefully, I finally get around to it in 2009.</p>
<h3>Release Some Greasemonkey Scripts</h3>
<p>I have a couple of half written Greasemonkey scripts that I plan to finish off in the near future and I&#8217;m sure that I&#8217;ll develop more as the year progresses. I&#8217;m really loving how easy it is to tweak the behaviour of the websites I visit.</p>
<h2>Final Thoughts</h2>
<p>Well that&#8217;s a quick look at the year that was and the year that will be here at More Than Scratch The Surface. I hope all your endeavours for 2009 are successful as well!</p>
<p>If you have any big plans for your blog, feel free to share in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Roundup &#8211; Work, Plugin News, Theme Update</title>
		<link>http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/</link>
		<comments>http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 13:18:09 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[wordpress themes]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/.This is a brief update on what I&#8217;ve been doing, my plans for the site and my WordPress Plugins. 
Busy, Busy, Busy!
Work has been pretty busy. For those that don&#8217;t know, I head up the web team for a large organization based in Brisbane. The [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/">http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/</a>.<br /><p>This is a brief update on what I&#8217;ve been doing, my plans for the site and my WordPress Plugins. </p>
<h2>Busy, Busy, Busy!</h2>
<p>Work has been pretty busy. For those that don&#8217;t know, I head up the web team for a large organization based in Brisbane. The role is mostly management / internal consulting, but with<br />
a little hands on development.</p>
<p>The website uses the <strong>RedDot CMS</strong>, which is an interesting challenge for me, because it&#8217;s a proprietory Windows based solution, and I come from an open source background. I haven&#8217;t learnt much about RedDot itself yet, but I&#8217;m going to focus on that soon.</p>
<p>We&#8217;re looking getting a project off the ground to revamp the intranet site, which I&#8217;m very interested in. You&#8217;ll probably see some intranet related posts in future as I&#8217;ve been reading a lot about this topic.</p>
<p>I&#8217;ve also undergone some training in the <strong>Prince2 project management</strong> and <strong>ITIL service delivery</strong> frameworks, both of which were fairly intensive.</p>
<p>Because work&#8217;s busy, I have less time for my online ventures. It&#8217;s a little frustrating, as I have so many things I want to do. At least I enjoy work!</p>
<h2>WordPress Plugins</h2>
<p>As yet, I haven&#8217;t performed any <strong>testing of my plugins in WordPress 2.6</strong>, but I know I need to do it soon. I&#8217;ve had reports that <a href="http://www.scratch99.com/wordpress-plugin-dualfeeds/"><strong>DualFeeds</strong></a> works fine in WordPress 2.6, but don&#8217;t know about the others.</p>
<p>There is one very small issue with most of my plugins. WordPress 2.6 may break the Check Version function in the Options page. This <strong>does not affect the core functionality</strong> of the plugin and is only likely to occur if you have <a href="http://planetozh.com/blog/2008/07/what-plugin-coders-must-know-about-wordpress-26/"><strong>moved the wp-content folder from its default location</strong></a>. </p>
<p>The only plugin that&#8217;s likely to have it&#8217;s core functionality affected by this issue is <a href="http://www.jobsinchina.com/resources/wordpress-plugin-localcurrency/"><strong>LocalCurrency</strong></a>, which uses an <strong>AJAX call</strong> similar to the one used by the Check Version function. If you use LocalCurrency, don&#8217;t move the wp-content folder from its default location. </p>
<p>This means I&#8217;ll need to re-release all my plugins with this fixed. I&#8217;ll take the opportunity to add a few new features that I&#8217;ve been promising for a while.</p>
<p>Also, as mentioned in my last post, I&#8217;m working on a <a href="http://www.scratch99.com/2008/07/spammed-by-make-money-online-master/"><strong>new DoFollow plugin for WordPress</strong></a>, which will only reward the people who leave good comments with a DoFollow link. Progress is slow because of a lack of time.</p>
<p>I also have several plugins that I&#8217;ve written and use, but haven&#8217;t released because they need some polishing (ie an option page added, the code tidied up, etc). There are also several half written plugins, that I&#8217;ve never got back to. When I have time, I&#8217;ll plan to finish these off, but don&#8217;t hold your breath. </p>
<p>The problem is, the more plugins I release, the more work&#8217;s involved with maintaining and supporting them.</p>
<h2>New WordPress Theme Coming</h2>
<p>I&#8217;m also in the middle of creating a new theme that looks a lot better than the current one. I <strong>am </strong>a good web developer and I <strong>do </strong>have design skills, but this doesn&#8217;t come across looking at my blog. I plan to rectify this soon.</p>
<p>Here&#8217;s my current header (click to see full resolution):<br />
<a href='http://www.scratch99.com/wp-content/uploads/2008/07/old-header.png' title='Old Theme Header'><img src='http://www.scratch99.com/wp-content/uploads/2008/07/old-header.png' width="490px" height="70px" alt='Old Theme Header' /></a></p>
<p>Here&#8217;s a sneak preview of the new header (click to see full resolution):<br />
<a href='http://www.scratch99.com/wp-content/uploads/2008/07/new-header.png' title='New Theme Header'><img src='http://www.scratch99.com/wp-content/uploads/2008/07/new-header.png' width="490px" height="55px" alt='New Theme Header' /></a></p>
<p>Let me know what you think! That&#8217;s just the header. The whold theme will be revamped &#8211; in fact, I&#8217;m rewriting it from scratch. </p>
<h2>Direct Advertising</h2>
<p>With the new theme, I&#8217;ll probably start offering some <strong>direct advertising</strong>. Many other bloggers do this, but I haven&#8217;t taken the step yet. </p>
<p>I&#8217;ll nofollow the links, so as to stay in Google&#8217;s good books. I haven&#8217;t determined the pricing yet, but I&#8217;ll provide details in future.</p>
<h2>Services</h2>
<p>I&#8217;ve been turning down requests for <strong>custom WordPress plugins</strong> because I&#8217;ve been so busy. I&#8217;ll have to drop free model as there just isn&#8217;t time: I&#8217;m not going to stop working on my projects, unless I&#8217;m being paid for the work. </p>
<p>I&#8217;ll still be offering a <a href="http://www.scratch99.com/services/"><strong>Custom WordPress Plugin service</strong></a>, but I&#8217;ll have to be adequately compensated.</p>
<p>I&#8217;ll also offer a <strong>Custom WordPress Theme service</strong> in future, now that I have the taste for WordPress Theme development. This was always on the cards: it&#8217;s a natural extension for plugin developers with web design skills.</p>
<h2>Final Thoughts</h2>
<p>There&#8217;ll be a number of exciting things happening here in the coming months. I&#8217;m busy and I&#8217;m only going to get busier &#8211; but it&#8217;s all good!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2008/07/roundup-work-plugin-news-theme-update/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>A Host Of Changes (Not A Change Of Host)</title>
		<link>http://www.scratch99.com/2007/09/a-host-of-changes/</link>
		<comments>http://www.scratch99.com/2007/09/a-host-of-changes/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 16:21:11 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Adsense]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[DualFeeds]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[wordpress themes]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/2007/09/a-host-of-changes/</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2007/09/a-host-of-changes/.Return readers will notice some changes here at More Than Scratch The Surface. I normally don&#8217;t blog about changes, but in this case, there are so many that I thought it would be worthwhile. Here&#8217;s a rundown on them.
Modified Theme
My theme was just a customised [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2007/09/a-host-of-changes/">http://www.scratch99.com/2007/09/a-host-of-changes/</a>.<br /><p>Return readers will notice some changes here at <strong>More Than Scratch The Surface</strong>. I normally don&#8217;t blog about changes, but in this case, there are so many that I thought it would be worthwhile. Here&#8217;s a rundown on them.</p>
<h2>Modified Theme</h2>
<p>My theme was just a customised version of the default WordPress Theme. It still is, but I&#8217;ve modified it further. One day I will design a Theme from scratch, but for now I&#8217;d rather spend my time writing plugins.</p>
<p>The main change is that I&#8217;ve widened it: it was optimised for 800&#215;600 with one sidebar, it&#8217;s now optimised for 1024&#215;768 with two sidebars. I&#8217;ve put both sidebars on the right, although I may change this. I&#8217;ve stayed with fixed width, because I prefer to know exactly how it will look.</p>
<p>I&#8217;ve been threatening to do this for a while. Actually it&#8217;s only been 6 weeks (seems longer) since I said I&#8217;d do this in the comments of Untwisted Vortex&#8217;s <a href="http://www.untwistedvortex.com/2007/02/08/the-death-of-the-640x480-resolution/" title="Despite the title, this post is more about the death of 800x600" class="broken_link">The Death of the 640&#215;480 Resolution</a>.</p>
<h2>Menu Bar</h2>
<p>I&#8217;ve removed the Pages section of my sidebar and added a menu bar instead. I suspect this will get crowded as I write more plugins, but for now I&#8217;m happy with it.</p>
<h2>Contact Page</h2>
<p>I now have a Contact page, which was one of the things picked up when <a href="http://www.untwistedvortex.com/2007/08/20/blog-review-more-than-scratch-the-surface/" title="The review of More Than Scratch The Surface on the Untwisted Vortex site" class="broken_link">my site was reviewed</a> on Untwisted Vortex.</p>
<p>I am using a WordPress plugin to do this, but I won&#8217;t tell you which one yet. I tried out five different plugins in making the selection and I&#8217;m planning a <strong>series of reviews</strong> in the coming weeks. I don&#8217;t want to spoil the conclusion!</p>
<h2>Articles Page</h2>
<p>I&#8217;ve added the <a href="http://alexking.org/projects/wordpress" title="Alex King's Articles plugin for WordPress">Articles plugin</a> by Alex King and used it to create an Articles page, so my articles are not buried over time, as pointed out by Hari when he <a href="http://www.untwistedvortex.com/2007/08/23/haris-blog-review-more-than-scratch-the-surface/" title="Another review of my site on Untwisted Vortex, this time by guest reviewer Hari" class="broken_link">reviewed my site</a>. I will supplement this with some extra article features in future (such as a Most Viewed Articles section in the sidebar).</p>
<p>One thing I noticed while setting this up is that I have gotten away from article style posts in recent times. I am going to work to get back to articles in future.</p>
<h2>The Corn Factor</h2>
<p>I removed my &#8216;blurb&#8217; and changed my tagline (from <em>A Journey In Web Development</em> to <em>Exploring Web Development</em>). My blurb seemed good to me when I started out, but now it seems corny. To prove I still have the corn factor, I&#8217;ve added the infinite loop image to my header. </p>
<p>If I had a travel blog, I&#8217;d add a great photo to the header, but it&#8217;s not so easy to do when you are writing about web development! I&#8217;m sure something better will come later.</p>
<h2>Social Widgets</h2>
<p>The Bumpzee, MyBlogLog and BlogCatalog widgets have migrated from my sidebar to my footer. They were just taking too long to load. They aren&#8217;t any quicker in the footer, but at least they aren&#8217;t holding up the rest of the page.</p>
<h2>DualFeeds Beta</h2>
<p>I&#8217;ve also been running the beta version of <a href="http://www.scratch99.com/wordpress-plugin-dualfeeds/" title="The home page of the DualFeeds plugin for WordPress">DualFeeds</a> 1.1, which includes a sidebar widget and the ability to show the RSS feed links after each post. You can see these in action on my site.</p>
<p>Actually, I&#8217;ve held up the release of DualFeeds 1.1 while I&#8217;ve been redesigning the site. People haven&#8217;t been clamouring for it and I want to have my site right before I start pushing the update.</p>
<h2>FeedBurner</h2>
<p>I started using FeedBurner for my feeds several weeks ago, as part of testing DualFeeds 1.1. I am not sure I&#8217;ll keep using it. It&#8217;s nice to get stats about the number of subscribers and there are other benefits, but although FeedBurner works well for the main feeds, it&#8217;s not so good with WordPress&#8217; dynamic feeds (eg category feeds). I&#8217;ll discuss this further later on. </p>
<p>Also, it appears that FeedBurner feeds don&#8217;t work in China, meaning I can&#8217;t use my desktop reader to read my own feed! Makes testing interesting. The Subscribe To Email feature may sway me to stick with them.</p>
<h2>Antisocial Plugin</h2>
<p>I&#8217;ve adopted Andy Beard&#8217;s <a href="http://andybeard.eu/wordpress-plugin-hacks/" title="Andy Beard's hack of the Sociable plugin">Antisocial</a> hack of the <a href="http://push.cx/sociable" title="The original Sociable plugin">Sociable plugin</a>, which adds social bookmarking links to end of each post. Antisocial makes the links nofollow, so you don&#8217;t leak too much PageRank. I&#8217;m not sure if anyone is using them, but they sit just nicely below my feed icons.</p>
<h2>The Dreaded Adsense</h2>
<p>I&#8217;ve been warned that Adsense is not going to make me much money and that it may even drive readers away. I understand that my core readers are mostly Adsense blind and less likely to click ads. So why am I adopting it? </p>
<p>I&#8217;m about to develop a site for someone else and I may do more freelance web development in future. I should at least try Adsense shouldn&#8217;t I? I&#8217;ll be trying other options too in future, but I&#8217;ll try not to go overboard.</p>
<h2>Polls</h2>
<p>I&#8217;ve adopted Lester Chan&#8217;s <a href="http://www.lesterchan.net/portfolio/programming.php" title="One of Lester Chan's many plugins, this one creates user polls">WP-Polls plugin</a>. Polls are a great way to interact with your visitors, so I&#8217;ll be adding one every so often.</p>
<h2>Alexa Widget</h2>
<p>I&#8217;ve added an Alexa widget, now my ranking is semi-respectable. I know, I know, there are serious flaws with Alexa, but it&#8217;s one way to measure my progress. Let me add it damn it!</p>
<h2>The Future</h2>
<p>That&#8217;s all the changes for the moment. There will be more changes coming in future (rework my About page, separate comments and trackbacks, add a top commentator section, sort out my meta tags and a bunch of other stuff). I&#8217;ll leave all of that until after I get the DualFeeds 1.1 update out the door.</p>
<p>If you&#8217;ve read this far, you truly have stamina (or at least you&#8217;re not easily bored!).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2007/09/a-host-of-changes/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>
