<?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>WallOfScribbles &#187; Wordpress</title>
	<atom:link href="http://wallofscribbles.com/category/technology/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://wallofscribbles.com</link>
	<description>The ramblings of a man</description>
	<lastBuildDate>Sat, 07 Jan 2012 01:14:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>A Nip &amp; a Tuck</title>
		<link>http://wallofscribbles.com/2009/a-nip-a-tuck/</link>
		<comments>http://wallofscribbles.com/2009/a-nip-a-tuck/#comments</comments>
		<pubDate>Thu, 14 May 2009 22:38:05 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/?p=550</guid>
		<description><![CDATA[You may, or may not have noticed some changes around here. That is, if anyone actually reads my blog any more. I&#8217;m still working out some of the kinks in my websites design, but all in all it&#8217;s coming along quite well. I&#8217;ve simplified some things; removing search; displaying one item on the front page; [...]]]></description>
			<content:encoded><![CDATA[<p>You may, or may not have noticed some changes around here. That is, if anyone actually reads my blog any more. I&#8217;m still working out some of the kinks in my websites design, but all in all it&#8217;s coming along quite well. I&#8217;ve simplified some things; removing search; displaying one item on the front page; moved the resume and portfolio into the blog (the resume was its own WordPress install, and the portfolio just&#8230; didn&#8217;t exist); added a real, honest to God contact page. Things are looking up!</p>
<p>I&#8217;m still having a couple issues of course, that I&#8217;m trying to figure out (mystery htaccess file issues, CSS tweaks, ) but I&#8217;m sure I can get these figured out in the next little while. Anyways, on to things that are important to people other than me.</p>
<p><span id="more-550"></span>So I&#8217;ve finished my first year at Mohawk College, something I mentioned before that I had gotten into. Overall it&#8217;s been a good experience, with a couple colourful exceptions. I&#8217;m learning a lot, but I maitain that doing additional reading on the subject of graphic design has been a momentous help.</p>
<p>One part of the course that I am unimpressed with was the web coure(s). Having been on the Internet for as long as I have (10 years, at least) I&#8217;ve gained a certain amount of knowledge when it comes to web development. Heck, my resume happens to say that I was paid to do just that. As a result when I heard we were doing web design courses, I was ecstatic. Then I sat in on the first web course and had one of those &#8220;oh bugger&#8221; moments.</p>
<p>Now I mean no disrespect to the teacher, but I outstrip him in knowledge hands down. As a result I ended up becoming a peer tutor on the subject. I was the only first year peer tutor, may I add (ego stroke ahoy!).This saddens me a great deal, because as my aim is to go into web design when I get out of school, it&#8217;s a little upsetting to know that that part of my education is going to have to supplemented almost exclusively by the Internet. That&#8217;s never something you want to utter out loud. Trust me, it sounds scarier.</p>
<p>Who knows, maybe after I graduate and see the world somewhat, I&#8217;ll come back and offer to teach the course. I&#8217;m sure I&#8217;d at least get an interview.</p>
<p>The only other thing that&#8217;s been irritating me was the photography course. Photography is not an area I know much about. I understand some of the very basics, but I can&#8217;t tell you what anything on a DSLR does. As a result I was really looking forward to the class. What I was given was a crash course that left me with nothing to show. I am unimpressed to say the least.</p>
<p>Everything else was pretty much golden. I&#8217;ve come out two bursaries richer, and am sitting with a 94% average. This is basically unheard of for me. I was a man who was happy to get a 70, and was okay with having a 60. I never really aimed all that high when I was younger. Now? I don&#8217;t know what happened, probably the fact that I&#8217;m older, far more jaded, and paying for it all myself. I&#8217;m not bragging or anything, believe me when I say that it&#8217;s as shocking to me as it is to others who know me.</p>
<p>Also, watching TV while trying to write something is a sure-fire way to sound like your rambling. As punishment to myself, I&#8217;m going to leave it as is, just so I can know how terrible I am at things when the TV is actually turned on.</p>
<p>Honestly I never watch the thing, so the fact that it effects me so deeply should be understandable.</p>
<p>ANYWAYS, I&#8217;m off to alter my layout some more, play some Super Princess Peach (I hate this game, but I must finish) and My World, My Way (which borders on utterly fantastic).</p>
<blockquote><p>Now you worried about your faith,<br />
kneel down and obey.<br />
You&#8217;re happy you&#8217;re in love,<br />
you need someone to hate.<br />
An ordinary girl, an ordinary waist<br />
but ordinary&#8217;s just not good enough today.</p>
<p>Superman&#8217;s Dead &#8211; Our Lady Peace</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2009/a-nip-a-tuck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress plugins, I has them</title>
		<link>http://wallofscribbles.com/2009/wordpress-plugins-i-has-them/</link>
		<comments>http://wallofscribbles.com/2009/wordpress-plugins-i-has-them/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 18:14:53 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[PostDivider]]></category>
		<category><![CDATA[RandomQuotr]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/?p=382</guid>
		<description><![CDATA[The lolcat title reference aside, I have actually started producing WordPress plugins for myself. I&#8217;ve always wanted to make them, and so a while back I set aside a day (well two, once I got the hang of it) and learned. Granted I&#8217;ve still got a ways to go, but at least I&#8217;ve finally got [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="Lolcats!" href="http://icanhascheezburger.com/">lolcat</a> title reference aside, I have actually started producing WordPress plugins for myself. I&#8217;ve always wanted to make them, and so a while back I set aside a day (well two, once I got the hang of it) and learned. Granted I&#8217;ve still got a ways to go, but at least I&#8217;ve finally got my foot in the door with it all. The trick is to make sure to create things that are actually useful so that people will actually use them.</p>
<p>So as a result of my tooling around with WordPress, I&#8217;ve created two plugins for people to use.</p>
<h2><span id="more-382"></span></h2>
<h2>RandomQuotr</h2>
<p>In one of my older site lay­outs, I had a random quote dis­play­ing at the top of the page. The orig­i­nal logic was based very much on the Hello Dolly plugin that comes shipped with Word­Press. Even though I no longer use the func­tion within my layout, I still had the code and I felt that with a little revi­sion, this could be a psudo-​useful plugin.</p>
<p>So one morn­ing I did exactly that. <a title="Corey Dutson: RandomQuotr" href="/wordpress-plugins/randomquotr/">Ran­domQuotr</a> was born, and with it came the abil­ity to store all of the quotes within the WordPress data­base, as opposed to the PHP array that it started out as. Some more func­tion­al­ity was added to allow the selec­tion of spe­cific quotes.</p>
<h2>PostDivider</h2>
<p>I was a big advo­cate for using “the_excerpt()” for my sites layout, because it allowed me to split up my con­tent and work around my theme. the prob­lem is that using “the_excerpt()” sucks for many reasons:</p>
<ol>
<li>The field is HTML only.</li>
<li>The field is tiny and cannot be re-​sized.</li>
<li>It requires you to break up your most in a less than stel­lar way.</li>
</ol>
<p>Enter <a title="Corey Dutson: PostDivider" href="/wordpress-plugins/postdivider/">Post­Di­vider</a>.</p>
<p>Based on an <a title="WallOfScribbles.com: More with the More Tag" href="/2008/10/02/getting-more-with-the-more-tag/">old post of mine</a>, Post­Di­vider allows the user to get the con­tent before and after the &lt;!–MORE–&gt; tag sep­a­rately. With Post­Di­vider, hooks are pro­vided to allow the Theme to dis­play the text directly (echo­ing it), or return­ing the con­tent as a value from the func­tion. If no &lt;!–MORE–&gt; tag is pro­vided, it will return the_excerpt() and the_content() respectively.</p>
<p>So far those are the only ones I&#8217;ve developed. I&#8217;ve got a couple ideas for more, when I get around to building my portfolio and the like.</p>
<p>I&#8217;ve also <a title="Corey Dutson: WordPress Plugins" href="/wordpress-plugins/">created a page</a> that lists all of the plugins I have developed. They&#8217;re also hosted over on the <a title="Wordpress.org: Loveless" href="http://wordpress.org/extend/plugins/profile/loveless">wordpress.org plugins directory</a> if you want to keep watch there.</p>
<p>I&#8217;m always looking for feedback or suggestions, so feel free to email me or leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2009/wordpress-plugins-i-has-them/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Colour Swapper in WordPress</title>
		<link>http://wallofscribbles.com/2008/colour-swapper-in-wordpress/</link>
		<comments>http://wallofscribbles.com/2008/colour-swapper-in-wordpress/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 13:05:13 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[colour swapper]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/?p=267</guid>
		<description><![CDATA[Who likes website colour swappers? Anyone? When I developed the theme I am currently using, I searched high and low for something I could steal take inspiration from. The funny thing is that most people don&#8217;t even know where the colour swapper is on my site. So few in fact that I had to add [...]]]></description>
			<content:encoded><![CDATA[<p>Who likes website colour swappers? Anyone?</p>
<p>When I developed the theme I am currently using, I searched high and low for something I could <span style="text-decoration: line-through;">steal</span> take inspiration from. The funny thing is that most people don&#8217;t even know where the colour swapper is on my site. So few in fact that I had to add a caption to it to help make it a little more obvious.</p>
<p>In any case I felt that I would share the method I used to create the swapping functionality on my website. I&#8217;m aware that most of it can be figured out with a little imagination and some source viewing, but I think that going through it step by step is more helpful.</p>
<p><strong>UPDATE &#8211; 10/09/2008 -</strong> In record time, a second pair of eyes looking at this has managed to refine the process. Thank you <a title="Bartek Gniado" href="http://bart.whahay.net">Bart</a> for pointing out that if the CSS files are named the same as the Title attribute of the Anchor, then you can drop the whole If statement. I&#8217;ve updated the tutorial accordingly</p>
<p><span id="more-267"></span></p>
<h2>Table of contents</h2>
<ul>
<li><a href="#article_idea">The idea</a></li>
<li><a href="#article_before">Before we begin</a></li>
<li><a href="#article_setup">Setting up our files</a></li>
<li><a href="#article_css">Setting up the CSS files</a></li>
<li><a href="#article_php">A dash of PHP</a></li>
<li><a href="#article_markup">The basic markup</a></li>
<li><a href="#article_java">The JavaScript</a>
<ul>
<li><a href="#article_java_import">Importing the required files</a></li>
<li><a href="#article_java_func">Adding functionality</a></li>
</ul>
</li>
<li><a href="#article_together">Pulling it all together</a>
<ul>
<li><a href="#article_together_flow">Flow</a></li>
</ul>
</li>
<li><a href="#article_conclusion">Conclusion</a></li>
</ul>
<h2 id="article_idea">The idea</h2>
<p>So you want to build a colour swapper? Easy as pie. You want to do it without causing a postback and sustains itself throughout the navigation? That&#8217;s a little more tricky, and what I wanted to do myself.</p>
<p>What, you&#8217;re too lazy to figure this out for yourself? No problem. Read on and be merry.</p>
<h2 id="article_before">Before we begin</h2>
<p>A few words before we begin:</p>
<ul>
<li>I am not a master of JavaScript, let alone <a title="JQuery" href="http://jquery.com/">JQuery</a>. I&#8217;m not a novice, but I am in no way a master of the language. There are probably many ways in which to improve my methods here. I&#8217;m going to take another crack at them and see what I can come up with. I&#8217;ll update the code to this post If I come up with anything.</li>
<li>In addition to the last note, I&#8217;m not going to explain how JQuery works. they do a <a title="JQuery: How it works" href="http://docs.jquery.com/How_jQuery_Works">fine job on their own</a>. If you don&#8217;t understand it, I suggest you take some time and become familiar with it.</li>
<li>This whole solution rides on the idea that your users allow JavaScript and Cookies. If the Cookies are disabled, the styles will still change, but will not persist between page refreshes/navigation. If JavaScript is disabled, nothing will work because I have not yet implemented a postback-friendly alternate. If I find myself with time I&#8217;ll do this as well and update this post.</li>
<li>This whole tutorial is based on the idea that you are applying this to a WordPress theme. If you&#8217;re using something else, you&#8217;ll need to alter this as you need.</li>
<li>I have noticed that in some browsers, the swapping is not instant, and you may notice somewhat of a flicker. In my case the colours go away, and then the new ones are applied. Some browsers do not do this. I have no idea why this happens.</li>
</ul>
<h2 id="article_setup">Setting up our files</h2>
<p>For this solution we&#8217;re going to need to <a title="JQuery: Featured Downloads" href="http://code.google.com/p/jqueryjs/downloads/list?q=label:Featured">get some files</a> from the JQuery website (the latest JQuery build), and create some files in our Theme folder.</p>
<p>You are going to need to make a JavaScript folder &#8211; I called mine &#8220;js&#8221; &#8211; and multiple CSS files. One will be a core style sheet that contains all of the universal CSS styles, and then alternate sheets that contain the CSS that is swapped around.</p>
<h3 id="article_setup_example">Example setup:</h3>
<ul>
<li>THEME FOLDER
<ul>
<li>style.css</li>
<li>Yellow Version.css</li>
<li>Red Version.css</li>
<li>Blue Version.css</li>
<li>Green Version.css</li>
<li>JS FOLDER
<ul>
<li>jquery.js</li>
<li>functions.js</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>The rest of this example will assume that you have that setup.</p>
<p></p>
<h2 id="article_css">Setting up the CSS files</h2>
<p>First off, you&#8217;re going to need some CSS files to play around with. Generally you would have a core css file that would contain all the styles that wouldn&#8217;t be affected by your swapper. Depending on how you use your swapper, this may or may not be the case. Some people want to totally alter the website with their swapper; I just wanted a colour change.</p>
<p><em><strong>Note:</strong> I&#8217;m not going to paste all the CSS I used to format the actual tiles, because my layout requirements will be different than yours. Set the CSS code up however you need to make your selector HTML &#8211; we&#8217;ll see that in a bit &#8211; look right.</em></p>
<p>So you have your core css file (style.css for WordPress users). Do what you need to in that file and then put it away. We won&#8217;t be touching it very much. The only addition I put in my CSS files are the following:</p>
<pre>.red {background-color:#FF3333;}
.yellow {background-color:#FBDC00;}
.green {background-color:#1FF900;}
.blue {background-color:#00CCFF;}</pre>
<p>These four styles are in my core CSS file so that my swappers always have access to correct classes for them. What this means is that regardless of what CSS file is imported, the swapper tiles will always look the same.</p>
<p>Next up we have our swapping CSS files: Blue Version, Green Version, Red Version and Yellow Version.</p>
<p><em><strong>Note:</strong> I use Yellow Version as my default, but that doesn&#8217;t come in for a little bit yet.</em></p>
<p>So in each one of these CSS files, I have the same selectors:</p>
<pre>.specialBGColor {background-color:#FBDC00;}
a, .specialColourText, #left_bar .widget table th {color:#FBDC00;}
.specialTopBorder{border-top:20px solid #FBDC00;}</pre>
<p>All of your swappable CSS files will have the same selectors with whatever colour differences you need. In my case The hex colours are going to change to whatever is appropriate for the file (yellow is #FBDC00, red is #FF3333, etc.) &#8220;specialBGColor&#8221; is basically a class I apply to anything that is going to have a swappable background. I also have a &#8220;speciallTopBorder&#8221; that does something similar, and some selectors for links and table headers to change their colours.</p>
<p>All of these swappable CSS files should be in the same directory. Since I am using WordPress my CSS files are all kept together in the same directory: the theme directory. I dislike the lack of separation but I&#8217;ll manage.</p>
<p>Once you&#8217;ve got all those set up we can move on to setting up the PHP functions</p>
<h2 id="article_php">A dash of PHP</h2>
<p>We need to add a little function to our functions.php file. The function will attempt to grab a value from the users cookie cache and return it. Pretty simple overall. In my case, if the cookie is not found, it returns a default string that is the URL to my yellow style sheet. As previously stated, the Yellow CSS file is the same.</p>
<p>Add the following to your functions.php file:</p>
<pre>function getStyleCookie()
{
   if($_COOKIE["styleHref"] != null &amp;&amp; $_COOKIE["styleHref"] != "")
   {
      echo $_COOKIE["styleHref"];
   }
   else
   {
      $url = bloginfo('template_url') + "/Yellow Version.css";
      echo $url;
   }
}</pre>
<p>What this does is if it can get the cookies value &#8211; in this case &#8220;styleHref&#8221; cookie &#8211; this is explained in the JS &#8211; it will echo the value of the cookie. if it can&#8217;t it returns the default value of the Yellow Version.css location.</p>
<p><em><strong>Note:</strong> I could have made the function a bit more universal by passing in the cookie name, but as I&#8217;m only using it for this one instance, I didn&#8217;t bother.</em></p>
<h2 id="article_markup">The basic markup</h2>
<p>Alright lets set up the markup. Lets start with the header.</p>
<p>Locate the &lt;head&gt;&lt;/head&gt; section of your website (for WordPress users, this is usually the header.php file).</p>
<p>You&#8217;ll need to find where you have any current CSS files linked and paste the following over or after the CSS tags. I say over or after because depending how much of this you&#8217;re following, you may already have a core CSS file that you don&#8217;t want to remove.</p>
<pre>&lt;!-- THIS IS YOUR CORE CSS FILE. IGNORE THIS LINE IF YOU ALREADY HAVE THIS IN YOUR HEADER --&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" type="text/css"/&gt;

&lt;!-- some dynamic stuff that won't make any sense yet, but it will later --&gt;
&lt;?php if($_COOKIE["styleHref"] != null &amp;&amp; $_COOKIE["styleHref"] != "") : ?&gt;
   &lt;link id="altsheet" rel="stylesheet" href="&lt;?php echo $_COOKIE["styleHref"]; ?&gt;" type="text/css"/&gt;
&lt;?php else : ?&gt;
   &lt;link id="altsheet" rel="stylesheet" href="&lt;?php bloginfo('template_url'); ?&gt;/Yellow Version.css" type="text/css"/&gt;
&lt;?php endif; ?&gt;</pre>
<p><strong>What this does:</strong> try and get the URL to the currently used CSS file and render that CSS file. If nothing can be found, default to the Yellow Version style sheet. This may seem repetitive given that the functions.php code we put in also compensates for a lack of cookie. I&#8217;m one for having backup plans, and this was mine. If you don&#8217;t like it, you can simply remove the entire else section.</p>
<p></p>
<p>Next up is the actual swapper markup. I&#8217;m going to paste a simplified version of mine, because as I stated before, your swapper will look different than mine. As long as the base HMTL is the same, this solution works. how you style things up is totally up to you.</p>
<pre>&lt;div id="colour_swapper"&gt;
   &lt;ul&gt;
      &lt;li&gt;
         &lt;a href="javascript:;" class="green" title="Green Version"&gt;Swap to green&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;a href="javascript:;" class="yellow" title="Yellow Version"&gt;Swap to yellow&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;a href="javascript:;" class="blue" title="Blue Version"&gt;Swap to blue&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
         &lt;a href="javascript:;" class="red" title="Red Version"&gt;Swap to red&lt;/a&gt;
      &lt;/li&gt;
   &lt;/ul&gt;
&lt;/div&gt;</pre>
<p>The important parts to this are two-fold.</p>
<p>First, the <strong>ID of the DIV</strong> element is going to be used in the JavaScript. I&#8217;m aware that the DIV isn&#8217;t really needed, but as I said, this is a simplified version of what I&#8217;m using, and as such I&#8217;ve actually stripped out additional elements contained in the DIV.</p>
<p>The second thing is the <strong>title of the ANCHOR items</strong>. The title will be used in the JavaScript to determine what CSS file to get.</p>
<p><em><strong>Note:</strong> I&#8217;m aware that having a href of &#8216;javascript:;&#8217; is a bad practice. In reality the href should offer a link that would manually post back the page, and have PHP  code that would look for that action and set the cookie that way. Doing so would allow for the swapper to work when JavaScript is disabled. </em></p>
<h2 id="article_java">The JavaScript</h2>
<h3 id="article_java_import">Importing the required files</h3>
<p>This is where everything is tied together and starts working.</p>
<p>First off we need to import some JS files. This solution imports JQuery, as well as a functions.js file that I created in a sub directory of my Theme folder called &#8220;js&#8221;. This was explained in the <a title="Setting up your files" href="#article_setup">Setup</a> section, but I&#8217;m still reiterating.</p>
<p>First we need to add a bit more markup within our &lt;head&gt;&lt;/head&gt; sections:</p>
<pre>&lt;script type="text/JavaScript" src="&lt;?php bloginfo('template_url'); ?&gt;/js/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
   var templateUrl = "&lt;?php bloginfo('template_url'); ?&gt;";
&lt;/script&gt;
&lt;script type="text/JavaScript" src="&lt;?php bloginfo('template_url'); ?&gt;/js/functions.js"&gt;&lt;/script&gt;</pre>
<p>What we&#8217;re doing here:</p>
<ol>
<li>Importing the JQuery framework.</li>
<li>Setting a JavaScript variable that contains the template_url value from WordPress. This makes life easier when we get to the actual cookie setting.</li>
<li>Importing our functions.js file that will contain all of our functionality.</li>
</ol>
<p><em><strong>Note:</strong> I&#8217;m not a JavaScript expert, and part of me thinks that there should be a way to pass in the template URL to the functions.js import call. I don&#8217;t know and if someone can comment on this and explain, I&#8217;d be more than happy to refine my work.</em></p>
<p>Next up we need to add some functionality to the functions.js file!</p>
<h3 id="article_java_func">Adding functionality</h3>
<p>I&#8217;ll pase the code first and then explain it:</p>
<pre>var $j = jQuery.noConflict();

$j(document).ready(function(){
   $j("#colour_swapper a").click( function(){
	var style_title = $j(this).attr("title");
	var style_href= "";
	var altSheet = $j("#altsheet");

	altSheet.attr({"href":templateUrl +"/" + style_title+".css"});

	style_href = altSheet.attr("href");

	var date = new Date();
	date.setTime(date.getTime()+(1*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "styleHref="+style_href+"; expires="+date.toGMTString()+"; path=/";
   });
 });</pre>
<p><strong>What the hell is going on:</strong></p>
<ol>
<li>Set JQuery to no conflict mode by assigning it to a different variable. I had to do this because of other plugins I use on my site. I maintain that this is a good idea when you are working in a plugin-heavy framework like WordPress.</li>
<li>For every link found within the element with the id of colour_swapper attach a new click function</li>
<li>Set a variable to the value of the links title (Yellow Version, Green Version, etc)</li>
<li>Grab the element with the id of &#8220;altsheet&#8221; (in our case this is a link element in our header) and change it&#8217;s href value to the url of the new style sheet. This url is made up of the template URL and the name of the style sheet (title of the anchor)</li>
<li>Set a variable with the URL the new CSS file to be used.</li>
<li>Create a date variable, and set it to the future (exact day eludes me at the moment. Part of me thinks that it&#8217;s either 24 hours into the future, or 1000 days. I can&#8217;t honestly remember at this point).</li>
<li>Convert the date to a GMTString which is used in the creation of cookies.</li>
<li>Create a cookie, &#8220;styleHref&#8221;, that stores the URL of the style sheet used. This cookie is set to expire in the future, and will apply to all pages within the website (that&#8217;s what the &#8220;/&#8221; is for)</li>
</ol>
<p>Whew! That took longer to explain than I thought.</p>
<h2 id="article_together">Pulling it all together</h2>
<p>So now that we&#8217;ve gone through all that, everything should work. To give you an idea on how it all comes together I&#8217;ll explain the general flow.</p>
<h3 id="article_together_flow">Flow</h3>
<ul>
<li>While the page is loading, try and grab the cookie and set the secondary style sheet. If none is found, apply a default (Yellow Version)</li>
<li>Import all of the JavaScript needed.</li>
<li>User clicks on a style swapping link</li>
<li>JavaScript figures out what style sheet to use</li>
<li>Changes the secondary sheets href to the new CSS file</li>
<li>Sets a cookie to store the URL of the new CSS file</li>
</ul>
<p>Now if a user navigates to another page in your website, the first step will apply the change right off the bat.</p>
<h2 id="article_conclusion">Conclusion</h2>
<p>I hope that this helps someone out there, and comments are more than appreciated to help improve the solution. I&#8217;ll try and refine the solution a little more when I have time.</p>
<p>Good luck and happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2008/colour-swapper-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Getting more with the MORE tag</title>
		<link>http://wallofscribbles.com/2008/getting-more-with-the-more-tag/</link>
		<comments>http://wallofscribbles.com/2008/getting-more-with-the-more-tag/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 13:05:26 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/?p=261</guid>
		<description><![CDATA[So who out there uses WordPress? I&#8217;ve been told it&#8217;s somewhat popular. I myself am a fan despite it&#8217;s assault on the CPU and database. It&#8217;s fast, it&#8217;s simple, and so long as your website isn&#8217;t gaining huge traffic (or you&#8217;re paying peanuts for CPU usage and storage) than it&#8217;s a great selection. It&#8217;s fairly [...]]]></description>
			<content:encoded><![CDATA[<p>So who out there uses WordPress? I&#8217;ve been told it&#8217;s <a title="Wordpress: Most popular CMS" href="http://publisherblog.automattic.com/2008/01/23/wordpress-most-popular-cms-in-technoratis-top-100/">somewhat popular</a>.</p>
<p>I myself am a fan despite it&#8217;s <a title="Coding Horror: Behold WordPress, destroyer of CPUs" href="http://www.codinghorror.com/blog/archives/001105.html">assault on the CPU and database</a>. It&#8217;s fast, it&#8217;s simple, and so long as your website isn&#8217;t gaining huge traffic (or you&#8217;re paying peanuts for CPU usage and storage) than it&#8217;s a great selection. It&#8217;s fairly customizable, <a title="Wordress: Extend" href="http://wordpress.org/extend/">has a huge support and user base</a>, and it&#8217;s just damned easy to use. I&#8217;ve been slowly getting more and more into customizing and extending what WordPress can do out of the box.There&#8217;s more in the code than people think.</p>
<p>Recently I <a title="Bartek Gniado" href="http://bart.whahay.net">a friend of mine</a> ripped a strip off of me for only using summaries in my RSS feed. He told me that he, along with other net-savvy users, didn&#8217;t have time to get teased by RSS summaries.</p>
<p><strong>UPDATE: As of December 3rd, 2008 I&#8217;ve turned this baby into a plugin! <a title="Corey Dutson: PostDivider" href="/wordpress-plugins/postdivider/">Check it out.</a></strong></p>
<p><span id="more-261"></span></p>
<p><em>For those wishing to skip the lengthy buildup, here is a little table of contents:</em></p>
<ul>
<li><a title="The Back story" href="#solution_history">The Back Story</a></li>
<li><a title="Solution" href="#solution">Solution</a></li>
<li><a title="Explanation" href="#solution_explanation">Explanation</a></li>
<li><a title="Installation and Usage" href="#solution_installation">Installation and Usage</a></li>
<li><a title="Further Notes" href="#solution_notes">Further Notes</a></li>
</ul>
<h3 id="solution_history">The Back Story &#8211; To Summarize or not to Summarize</h3>
<p>This is some what of a conundrum, as I want people to actually come to my site. On the flip side, I want people to read what I write. So I can force people to come to my site and gain page views, or I can increase my RSS readership. After careful consideration, I&#8217;ve opted to fix my RSS feed to display the entire content.</p>
<p>Here&#8217;s the issue: Until now, I&#8217;ve used &#8216;The Excerpt&#8217; field in WordPress. Basically this allows me to have a pretty excerpt instead of 55 characters truncated with a &#8220;READ MORE PLEAZE!&#8221; I use the custom excerpt for the top part of the post; the preview if you will. The problem with this is that I had to rip out the first couple paragraphs from the post area, add some HTML to make sure it worked, and then post. The result looked pretty, but had some unexpected side-effects on the RSS.</p>
<p>As it turns out, when you decide to use the EXCERPT field, that excerpt will become the summary in the RSS. That&#8217;s all well and good, but what If you want to have the whole post? One would hope that it would stitch the Excerpt and the Post together, but alas this was not the case.</p>
<p>I turned to the &lt;!&#8211;more&#8211;&gt; tag to assist me.</p>
<p>What they don&#8217;t document about the more tag is pretty much all the bitchy parts of it. When you use the &lt;!&#8211;more&#8211;&gt; tag, you split the content, allowing for the excerpt to be defaulted to all the content preceding the tag. This is great, except for how my layout works. You see The top have is the Excerpt, and the bottom half is the rest of the post. Just using the_content wouldn&#8217;t work, because I would be repeating all the pre-more content.</p>
<p></p>
<p>I thought about maybe using an hr tag, or reworking my entire layout, but I dismissed those due to the complexity of the markup. My only option was to carve into WordPress itself. I first checked Google to see if anyone had come up against what I was facing. As it turns out <a title="Wordpress: Support" href="http://wordpress.org/support/topic/184581">people have asked the question</a>, but no one has posted the answer.</p>
<p>I am fixing that right now.</p>
<h3 id="solution">Getting the Pre and Post &lt;!&#8211;more&#8211;&gt; content separately</h3>
<p>Here is my solution, in full:</p>
<blockquote><p>function the_formatted_pre_more_from_content ($body)<br />
{<br />
$returnVal = get_the_formatted_pre_more_from_content ($body);<br />
if ($returnVal !== FALSE)<br />
echo get_the_formatted_pre_more_from_content ($body);<br />
else<br />
the_excerpt();<br />
}</p>
<p>function get_the_formatted_pre_more_from_content ($body)<br />
{<br />
$moreTag = &#8216;&lt;!&#8211;more&#8217;;<br />
$content = FALSE;</p>
<p>$morePos = stripos($body, $moreTag);<br />
if ($morePos !== FALSE || $morePos &gt; -1)<br />
$content = substr($body, 0, $morePos);<br />
else<br />
return FALSE;</p>
<p>$content = apply_filters(&#8216;the_content&#8217;, $content);<br />
$content = str_replace(&#8216;]]&gt;&#8217;, &#8216;]]&gt;&#8217;, $content);</p>
<p>return $content;<br />
}</p>
<p>function the_formatted_post_more_from_content ($body)<br />
{<br />
echo get_the_formatted_post_more_from_content ($body);<br />
}</p>
<p>function get_the_formatted_post_more_from_content ($body)<br />
{<br />
$moreTag = &#8216;&lt;!&#8211;more&#8217;;<br />
$content = FALSE;</p>
<p>$morePos = stripos($body, $moreTag);</p>
<p>if ($morePos !== FALSE || $morePos &gt; -1)<br />
{<br />
$content = substr($body, $morePos + strlen($moreTag));<br />
$morePos = stripos($content, &#8216;&#8211;&gt;&#8217;); // reuse variable<br />
if ($morePos !== FALSE || $morePos &gt; -1)<br />
$content = substr($content, $morePos + 3); // strip off rest of more tag<br />
}<br />
else<br />
$content = $body;</p>
<p>$content = apply_filters(&#8216;the_content&#8217;, $content);<br />
$content = str_replace(&#8216;]]&gt;&#8217;, &#8216;]]&amp;gt;&#8217;, $content);</p>
<p>return $content;<br />
}</p></blockquote>
<h3 id="solution_explanation">Explanation</h3>
<p>The two important functions here are &#8216;get_the_formatted_pre_more_from_content&#8217; and &#8216;get_the_formatted_post_more_from_content&#8217;. Long names, I know, but at least their mission is clear.</p>
<p></p>
<p>The other two functions &#8216;the_formatted_pre_more_from_content&#8217; and &#8216;the_formatted_post_more_from_content&#8217; pretty much add a bit of logic and echo the content automatically. I chose this naming structure and function structure to emulate what is already in WordPress (e.g. &#8216;the_content&#8217; versus &#8216;get_the_content&#8217;).</p>
<h3 id="solution_installation">Installation and Usage</h3>
<p>To use this code, add it all to your functions.php file of your theme. I&#8217;m sure I, or some other enterprising person, could turn this into a plugin, but at the moment I don&#8217;t feel it&#8217;s warranted.</p>
<p>All of the functions take one parameter:<strong> $body</strong>.</p>
<p>When you call these functions you must be in The Loop.</p>
<p><em><strong>example usage</strong>: &lt;?php the_formatted_pre_more_from_content($post-&gt;post_content); ?&gt;</em></p>
<p><em><strong>explanation</strong>: This call will display the content preceding the &lt;!&#8211;more&#8211;&gt; tag.</em></p>
<p><em><strong>example usage</strong>: &lt;?php the_formatted_post_more_from_content($post-&gt;post_content); ?&gt;</em></p>
<p><em><strong>explanation</strong>: This call will display the content proceeding the &lt;!&#8211;more&#8211;&gt; tag.</em></p>
<h3 id="solution_notes">Further Notes</h3>
<p><strong>UPDATE: As of December 3rd, 2008 I&#8217;ve turned this baby into a plugin! <a title="Corey Dutson: PostDivider" href="/wordpress-plugins/postdivider/">Check it out.</a> I&#8217;ve also fixed the post_content bug!<br />
</strong></p>
<p>Note the <strong>$post-&gt;post_content</strong> that is passed into the function. This exists automatically when you are in The Loop. This will pass all of the posts content to the function without any formatting. The only thing that isn&#8217;t straight text &#8211; conveniently &#8211; is the &lt;!&#8211;more&#8211;&gt; tag. As a result the content becomes fairly straight forward.</p>
<p>As of right now you must pass $post-&gt;post_content to the functions. I tried to do it without passing the value, and they don&#8217;t seem to pick up the value.</p>
<p>I opted for using a substring functionality as opposed to an array split function simply because it was 2 am when I finally got this going. I don&#8217;t know which is more efficient, so someone who is more knowledgeable in PHP can comment on this and state which is better.</p>
<p>I only search for &#8216;&lt;!&#8211;more&#8217; because according to the tag documentation, there is text that can follow the MORE that changes some functionality. As a result, I have an additional if statement in the get_post function that will detect for the end of the tag and substring the content again to trim that out.</p>
<p>I hope that this helps out some people who may be in a similar boat as I was.</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2008/getting-more-with-the-more-tag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Of backing up and checking twice</title>
		<link>http://wallofscribbles.com/2008/of-backing-up-and-checking-twice/</link>
		<comments>http://wallofscribbles.com/2008/of-backing-up-and-checking-twice/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 04:05:01 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Bad bad bad]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/?p=159</guid>
		<description><![CDATA[How good is your memory? Chances are it's better than mine. At the very least, your short-term memory has to be better than mine, as mine borders on 'utterly pathetic.'

As i <a title="Resdesign is finally up" href="/2008/07/14/redesign-is-finally-up/">recently mentioned</a>, I've redone my website a tad and I busted my ass to cover as many of the style bugs as possible. Everything was going well until I upgraded to <a title="Wordpress 2.6" href="http://wordpress.org/wordpress-2.6.zip">Wordpress 2.6</a>. Now I'm not saying the version of Wordpress busted my website good and proper, but that's what happened.]]></description>
			<content:encoded><![CDATA[
<a href="http://wallofscribbles.com/gallery/Misc. Images/Memory.jpg" title="" class="thickbox" rel="singlepic565" >
	<img class="ngg-singlepic" src="http://wallofscribbles.com/gallery/cache/565__220x220_Memory.jpg" alt="Memory.jpg" title="Memory.jpg" />
</a>

<p>Being the smart man that I am, I thought &#8220;Hell, I&#8217;ll just roll back a version to when it worked! It&#8217;s probably some little bug with WordPress, no big deal.&#8221; I totally forgot my FTP information, so there was 40 minutes of my life I can&#8217;t bet back.</p>
<p>In the end I rolled everything back and now the site worked again, but I was still getting an error that I couldn&#8217;t figure out. I tried re-installing the latest version, and I was still getting an error which totally confused me.</p>
<p>Now I&#8217;m getting angry. Something had changed between a couple days ago and now. Could I remember? Of course not. If I could remember what I had really done, I wouldn&#8217;t of had a problem. As a result I ended up searing a bunch and scrambling to get my site working as it should again. I tried every combination I could think of that involved installing and uninstalling everything. In this process I told myself, &#8220;make sure you backup that theme you worked so hard on!&#8221;</p>
<p>I didn&#8217;t of course, but we&#8217;ll get to that.</p>
<p>Eventually I had the bright idea of &#8220;Why not just copy my development version over to of the live version? I mean it works fine there!&#8221; I forgot that when you&#8217;re going to do a blind copy, it&#8217;s generally good practice to back up any and all files you may have changed from one server to the other. This includes the files that make up my new theme. The result? I rolled back 2 days worth of changes to the websites theme and the problem was <em><strong>still there</strong></em>.</p>
<p></p>
<p>Now I&#8217;m swearing up and down the walls. I&#8217;m saying things that I should probably seek forgiveness for having said. I&#8217;m angry because now not only have i rolled back my theme and lost so much work, but Isomehow still have this messed up error!</p>
<p>Now it&#8217;s time for me to bust out my debugging skills.</p>
<ul>
<li>I removed the entire installation including all theme files, plugins, and extras.<br />
<strong>Result: </strong>Site is dead. Good start.</li>
<li>I reinstall WordPress and get it pointing to the old database (which was a fun time in and of itself, as i forgot my database server location)<br />
<strong>Result: </strong>site is up, back to the old blue but up.</li>
<li>I re-install my theme and apply it<br />
<strong>Result: </strong>Site is borked because I need certain things in my theme to work. Old error isn&#8217;t appearing</li>
<li>Copy in my plugins<br />
<strong>Result:</strong> no change</li>
<li>Activate &#8220;Hello Dolly&#8221; plugin (I like it, shut up)<br />
<strong>Result: </strong>Crazy error shows up. I&#8217;m now confused.</li>
<li>Deactivate Hello Dolly, and activate Twitter.<br />
<strong>Result: </strong>Everything&#8217;s great. Still confused.</li>
<li>Activate Hello Dolly again.<br />
<strong>Result:</strong> The shit&#8217;s fucked up again.</li>
</ul>
<p>Somehow throughout all of my backups and my restores, the Hello Dolly plugin got rather messed up. I cannot and refuse to explain or understand why. In the end I lost two days of work, and a day of progress because of a useless plugin. What have I learned from this?</p>
<h3>Back your shit up before you start, and for the love of all that is sacred and pure, think about what you&#8217;re doing before you do it.</h3>
<p>I eventually got everything running again (as you can see) but believe me when I say I could have done without the self-loathing, swearing, and stress.</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2008/of-backing-up-and-checking-twice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

