<?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>Matt Hodder</title>
	<atom:link href="http://www.matthodder.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matthodder.com</link>
	<description>Freelance Web Design, Thesis Skins, and Wordpress &#38; Thesis Design</description>
	<lastBuildDate>Wed, 04 Aug 2010 12:33:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Events Calendar Pro for Thesis</title>
		<link>http://www.matthodder.com/events-calendar-pro-for-thesis/</link>
		<comments>http://www.matthodder.com/events-calendar-pro-for-thesis/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 12:28:46 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[calendar for thesis]]></category>
		<category><![CDATA[events calendar pro]]></category>
		<category><![CDATA[events calendar pro fix]]></category>
		<category><![CDATA[thesis]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=590</guid>
		<description><![CDATA[Throughout my time with WordPress, I have not found a good calendar/events plugin, but Events Calendar Pro (available here) changes that. It&#8217;s been the only solution I&#8217;ve found that covered everything you&#8217;d expect in a full calendar and events list. In the plugin creator&#8217;s own words: The Events Calendar Premium plugin for WordPress enables you to [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/events-calendar-pro-for-thesis/" title="Permanent link to Events Calendar Pro for Thesis"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/2010/08/ecp.jpg" width="540" height="122" alt="Post image for Events Calendar Pro for Thesis" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fevents-calendar-pro-for-thesis%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fevents-calendar-pro-for-thesis%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Throughout my time with WordPress, I have not found a good calendar/events plugin, but <strong>Events Calendar Pro</strong> (<a href="http://codecanyon.net/item/events-calendar-pro-wordpress-premium-plugin/109301?ref=xkey">available here</a>) changes that. It&#8217;s been the only solution I&#8217;ve found that covered everything you&#8217;d expect in a full calendar and events list. In the plugin creator&#8217;s own words:</p>
<blockquote><p>The Events Calendar Premium plugin for WordPress enables you to rapidly create and manage events using the post editor. Features include Google Maps integration as well as default templates such as a calendar grid and event list for streamlined one click installation. Check out the <a href="http://screenr.com/0PK">full screencast here</a>.</p></blockquote>
<p>I purchased and rolled out the plugin onto a new site only to find out that Events Calendar Pro doesn&#8217;t work well with Thesis. However, Events Calendar Pro provides an easy way to template the plugin without touching any core files. So after some hacking and messing around, I&#8217;ve came up with a working template for Thesis.</p>
<p>Download the fix below and move the downloaded folder into your installed Thesis folder. Obviously you will need to already have <a href="http://codecanyon.net/item/events-calendar-pro-wordpress-premium-plugin/109301?ref=xkey">Events Calendar Pro</a> installed in order for the template files to do anything.</p>
<p class="note"><strong>Note:</strong> I&#8217;ve tested the files with both Thesis 1.7 and Thesis 1.8b2 so far. Let me know if anyone sees any issues.</p>
<p style="text-align: center;"><a href="http://www.matthodder.com/wp-content/plugins/download-monitor/download.php?id=Events+Calendar+Pro+Templates+for+Thesis"><img class="aligncenter size-full wp-image-329" title="Download!" src="http://www.matthodder.com/wp-content/uploads/2010/02/download-button.png" alt="" width="322" height="62" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/events-calendar-pro-for-thesis/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>New Thesis Skins</title>
		<link>http://www.matthodder.com/new-thesis-skins/</link>
		<comments>http://www.matthodder.com/new-thesis-skins/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 22:54:25 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Skins]]></category>
		<category><![CDATA[thesisfolio]]></category>
		<category><![CDATA[thesisplay]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=513</guid>
		<description><![CDATA[I thought I&#8217;d keep everyone updated here about my latest Thesis skins, as that&#8217;s what most people end up here for anyways. So read on about my latest skins and a sweet coupon code! ThesisFolio ThesisFolio is my latest skin and I have to say I&#8217;m pretty proud of it.  The new skin comes standard with [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/new-thesis-skins/" title="Permanent link to New Thesis Skins"><img class="post_image aligncenter frame" src="http://matthodder.com/wp-content/uploads/2010/07/post.jpg" width="540" height="100" alt="Post image for New Thesis Skins" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fnew-thesis-skins%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fnew-thesis-skins%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I thought I&#8217;d keep everyone updated here about my latest Thesis skins, as that&#8217;s what most people end up here for anyways. So read on about my latest skins and a sweet coupon code!</p>
<h2>ThesisFolio</h2>
<p><a href="http://thesisthemes.com/premium-skins/thesisfolio/"><img class="alignleft size-full wp-image-514 frame" title="thesisfolio-small" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/07/thesisfolio-small.jpg" alt="" width="275" height="185" /></a> ThesisFolio is my latest skin and I have to say I&#8217;m pretty proud of it.  The new skin comes standard with new templates for both a custom homepage and custom portfolio pages, which allows you to create a great site in a matter of minutes. The new featured area provides the ability to showcase your portfolio items or blog posts along a big “sell” area for your services/products. The design is also rock solid and very appealing. Twelve themes and a colour picker give you unlimited options for design. The skin is meant for companies or individuals looking for a way to showcase their skills or products. View <a href="http://thesisthemes.com/premium-skins/thesisfolio/">more info and the demo here</a>.</p>
<p class="alert">Use coupon <strong>5957E65135</strong> and get $10 off ThesisFolio. Snag it quick though, as it&#8217;ll expire after the first 10 purchases!</p>
<h2>ThesisPlay</h2>
<p><a href="http://thesisthemes.com/premium-skins/thesisplay/"><img class="alignleft size-full wp-image-518 frame" title="thesisplay-small3" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/07/thesisplay-small3.jpg" alt="" width="275" height="185" /></a>ThesisPlay has been out for a while (on version 1.1 at time of typing) but I never officially announced it here. I still dig it, and of course it&#8217;s still being supported and updated continually. ThesisPlay is for people who are looking for something far from the conventional Thesis look. Hours were put into changing even the smallest detail to get a totally new, unique Thesis look unlike any other skin out there. It&#8217;s a great skin for people looking for a content-driven, social site. <a href="http://thesisthemes.com/premium-skins/thesisplay/">Check out all the details here</a>.</p>
<p class="alert">Use coupon <strong>CCDE12</strong> and get 20% off of ThesisPlay. This one doesn&#8217;t expire!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/new-thesis-skins/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Enable WordPress 3.0 Features for the Thesis Theme</title>
		<link>http://www.matthodder.com/enable-wordpress-3-0-features-for-the-thesis-theme/</link>
		<comments>http://www.matthodder.com/enable-wordpress-3-0-features-for-the-thesis-theme/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 12:46:28 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[thesis theme]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[Wordpress 3.0]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=423</guid>
		<description><![CDATA[If you haven&#8217;t heard, Wordpress 3.0 dropped the other day with a bunch of new features. Although there&#8217;s no news on a Thesis update, Thesis 1.7 seems to work fine with WordPress 3.0 but unfortunately doesn&#8217;t cash in on any of the new features. I&#8217;ve decided to tackle a few of those features to make them available right [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/enable-wordpress-3-0-features-for-the-thesis-theme/" title="Permanent link to Enable WordPress 3.0 Features for the Thesis Theme"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/wp3.jpg" width="540" height="131" alt="Post image for Enable WordPress 3.0 Features for the Thesis Theme" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fenable-wordpress-3-0-features-for-the-thesis-theme%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fenable-wordpress-3-0-features-for-the-thesis-theme%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you haven&#8217;t heard, Wordpress 3.0 dropped the other day with a <a href="http://wordpress.org/development/2010/06/thelonious/">bunch of new features</a>.</p>
<p>Although there&#8217;s no news on a Thesis update, Thesis 1.7 seems to work fine with WordPress 3.0 but unfortunately doesn&#8217;t cash in on any of the new features. I&#8217;ve decided to tackle a few of those features to make them available right away:</p>
<ul>
<li><a href="#custom-background">Custom Background Option</a></li>
<li><a href="#custom-menu">WP 3.0 Navigation Menus</a></li>
<li><a href="#custom-header">Custom Header Image</a></li>
</ul>
<h2 id="custom-background">Use the WordPress 3.0 Custom Background Option with Thesis</h2>
<p>Let&#8217;s start small. Open up your <em>custom_functions.php</em> file (found in the custom folder) and add the following code at the end of the file:</p>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;">add_custom_background();</pre>
<p><img class="alignleft size-full wp-image-420" title="Wordpress 3.0 Custom Background with Thesis" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/06/background-thesis1.png" alt="Wordpress 3.0 Custom Background with Thesis" width="154" height="149" />Now if you pop in your Dashboard, drop down the <strong>Appearance</strong> tab you should see a <strong>Background</strong> option where you can set a background colour or image. I&#8217;ve heard plenty of people looking for this sort of customization so hopefully it helps!</p>
<h2 id="custom-menu" style="clear: both;">Use WordPress 3.0 Navigation Menus with the Thesis Theme</h2>
<p>I&#8217;ve seen a few tutorials on this already out in the wild- however they don&#8217;t provide full functionality like I had expected, so I worked in my own. Again, open up <em>custom_functions.php</em> and paste this code there:</p>
<pre>add_theme_support('menus');
register_nav_menu('primary', 'Primary Navigation');
remove_action('thesis_hook_before_header', 'thesis_nav_menu');
add_action('thesis_hook_before_header', 'new_menu');
function new_menu() {
   	wp_nav_menu( array( 'container_class' =&gt; 'menu-header', 'theme_location' =&gt; 'primary' ) );
}</pre>
<p><img class="alignright size-full wp-image-428" title="WordPress 3.0 Navigation Menus with Thesis" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/06/menus-thesis1.png" alt="WordPress 3.0 Navigation Menus with Thesis" width="289" height="198" />This will allow you to use the <strong>Menus </strong>option found under the <strong>Appearance</strong> tab in your Dashboard. Also (and this is where other solutions fell flat) you can create different sets of menus and switch them out as you please. Check the screen shot to see what I mean. Furthermore, you can see how you can use the code above to create different menus in different areas (say a menu in the footer area).</p>
<h2 id="custom-header">Use WordPress 3.0 Custom Header Images with Thesis</h2>
<p>I&#8217;ll finish this round of WP 3.0 tricks off with a long set of code that gives functionality to change out the header background image for Thesis. This one is a bit &#8220;hacky&#8221; but I&#8217;ve tested it out with a bunch of different options and it seems to work fine.</p>
<p>So like usual, fire up your code editor and open <em>custom_functions.php</em>. Add this set of code to it:</p>
<pre>global $thesis_design;
$layout = $thesis_design-&gt;layout;
$width_one = $layout['widths']['content'];
$width_two = $layout['widths']['sidebar_1'];
$width_three = $layout['widths']['sidebar_2'];

if ($layout['columns'] == 3) { $width_full = $width_one+$width_two+$width_three+79; }
elseif ($layout['columns'] == 2) { $width_full = $width_one+$width_two+57; }
elseif ($layout['columns'] == 1) { $width_full = $width_one+22; }

define( 'NO_HEADER_TEXT', true );
define('HEADER_IMAGE_WIDTH', $width_full); // Width will change automatically (depending on your Thesis options)
define('HEADER_IMAGE_HEIGHT', 110); // If you need a taller header image change this value

function header_style() { // Gets included in the site header
	?&gt;&lt;style type="text/css"&gt;
    	#header { background: url(&lt;?php header_image(); ?&gt;); }
    &lt;/style&gt;
&lt;?php }

function admin_header_style() { // Gets included in the admin header
    ?&gt;&lt;style type="text/css"&gt;
        #headimg { width: &lt;?php echo HEADER_IMAGE_WIDTH; ?&gt;px; height: &lt;?php echo HEADER_IMAGE_HEIGHT; ?&gt;px; }
    &lt;/style&gt;
&lt;?php }

add_custom_image_header('header_style', 'admin_header_style');</pre>
<p><a href="http://174.121.151.58/~mthodder/wp-content/uploads/2010/06/header-thesis.png"><img class="alignleft size-thumbnail wp-image-477" title="Wordpress 3.0 Custom Header Images with Thesis" src="http://www.matthodder.com/wp-content/uploads/header-thesis-150x150.png" alt="Wordpress 3.0 Custom Header Images with Thesis" width="99" height="99" /></a></p>
<p>What this does is allow you to set a background for the Header element (which contains your Site Heading and Tagline). You can use the WP 3.0 crop tool as well. Check out the screenshot to see a (small) header that was easily uploaded and changed with this procedure.</p>
<h2>Source File</h2>
<p><img class="size-full wp-image-476 alignright" title="menu-thesis" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/06/menu-thesis.png" alt="" width="148" height="164" /></p>
<p>I&#8217;ve packaged all three bits of code and have it available for <a href="http://www.matthodder.com/wp-content/plugins/download-monitor/download.php?id=Thesis+WP3">download here</a>. If you copy all of these functions over you should see three new options when you drop down your <strong>Appearance</strong> menu in your WP dashboard. If you don&#8217;t, make sure you have the latest version of both Thesis and WordPress and that you copied everything over correctly.</p>
<p>Let me know if you find any issues or anything wrong with my code!</p>
<h2>Bonus: Even More WP 3.0 and Thesis Tutorials</h2>
<ul>
<li>Looking to work in new WP 3.0 Custom Post Types and Taxonomies? Check out <a href="http://www.kristarella.com/2010/06/wordpress-3-0-custom-post-types-taxonomies-thesis/">Kristarella&#8217;s post here</a>.</li>
<li>Problem with the custom file editor when updating to WordPress 3.0? Find the <a href="http://sproutnewmedia.com/how-to-fix-thesis-custom-editor-wordpress-3-0">fix here</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/enable-wordpress-3-0-features-for-the-thesis-theme/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Change Your Thesis Site to a Fluid Layout</title>
		<link>http://www.matthodder.com/change-thesis-to-a-fluid-layout/</link>
		<comments>http://www.matthodder.com/change-thesis-to-a-fluid-layout/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 01:11:17 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[fluid layout]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[thesis tutorial]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=389</guid>
		<description><![CDATA[Thesis comes packed with plenty of configuration options, but I&#8217;m going to show you how to create a fluid layout for your site by only editing custom.css. Not sure what a fluid layout even is? Basically it&#8217;s just means the site width is determined by the size of the users browser window. If you resize, [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/change-thesis-to-a-fluid-layout/" title="Permanent link to Change Your Thesis Site to a Fluid Layout"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/2.jpg" width="540" height="200" alt="Post image for Change Your Thesis Site to a Fluid Layout" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fchange-thesis-to-a-fluid-layout%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fchange-thesis-to-a-fluid-layout%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Thesis comes packed with plenty of configuration options, but I&#8217;m going to show you how to create a fluid layout for your site by only editing custom.css.</p>
<p class="alert">Not sure what a <strong>fluid layout</strong> even is? Basically it&#8217;s just means the site width is determined by the size of the users browser window. If you resize, the content resizes as well. <a href="http://www.w3.org/">W3C&#8217;s site</a> is a good example of a fluid/liquid layout. Google &#8220;Fluid Layout&#8221; and you&#8217;ll find plenty of info on it!</p>
<p>Making this change is actually pretty easy, but it should also be noted that you&#8217;ll lose the functionality inside Thesis to define column sizes. Also, with the code provided you can only use the 2 columns option (without making extra changes on your own).</p>
<p>Anyways, lets get to it- open up the <strong>custom.css</strong> file found inside the Thesis custom folder and add the code below:</p>
<pre>#container { width: 100%; }
	#content_box { background-position: 70% 0; }
		#content { width: 70%; }
			.teasers_box { width: auto; }
				.teaser { width: 48%; }
		#sidebars { width: 30%; }
			#image_box { text-align: center; overflow: hidden; }
				#image_box img { display: inline-block; border: none; background: none; }</pre>
<p>That&#8217;s going to give you your fluid design with no other steps and you should have something that looks like the site in the image below:</p>
<p><img class="aligncenter size-full wp-image-391" title="thesis-fluid" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/06/thesis-fluid.png" alt="Thesis Fluid Screenshot" width="540" height="399" /></p>
<p>Of course you can take things into your own hands and edit the different % values to come up with different sidebar / content ratios (make sure it equals 100%). If you&#8217;re using interior lines (the default) make sure the background the <em>#content_box</em> and <em>#content</em> values match up. If you want to use your sidebar on the left column, have the <em>#content_box</em> value equal your <em>#sidebars</em> value.</p>
<p>Need more padding on the sides? Thesis has an option found in <strong>Design Options</strong> called <strong>Outer Page Padding</strong>, which you can tweak to your fancy.</p>
<p>I didn&#8217;t do extensive testing, but from the looks of things it works in IE6+ and all major browsers. Let me know any different.</p>
<p><strong>Leave your questions, comments, and issues after the break!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/change-thesis-to-a-fluid-layout/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gmail Tip &#8211; Easily Store Affiliate Links</title>
		<link>http://www.matthodder.com/gmail-tip-easily-store-affiliate-links/</link>
		<comments>http://www.matthodder.com/gmail-tip-easily-store-affiliate-links/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:29:17 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Random Tech Tips]]></category>
		<category><![CDATA[affiliate tips]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[gmail tips]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=346</guid>
		<description><![CDATA[If you&#8217;re anything like me you get quite a few different emails each and every day. I&#8217;ve noticed a lot of people who had emailed me would, either initially or further down the road, be looking for recommendations on things like hosting or WordPress themes. I&#8217;d either give them a direct link or have to take the time to search [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/gmail-tip-easily-store-affiliate-links/" title="Permanent link to Gmail Tip &#8211; Easily Store Affiliate Links"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/google-pimage.png" width="540" height="100" alt="Post image for Gmail Tip &#8211; Easily Store Affiliate Links" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fgmail-tip-easily-store-affiliate-links%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fgmail-tip-easily-store-affiliate-links%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you&#8217;re anything like me you get quite a few different emails each and every day. I&#8217;ve noticed a lot of people who had emailed me would, either initially or further down the road, be looking for recommendations on things like hosting or WordPress themes. I&#8217;d either give them a direct link or have to take the time to search and find my affiliate links so I can make an extra buck.</p>
<p>Getting tired of this (<em>hey</em>- every minute counts) I searched through Google Labs to find an easier solution. Luckily, Gmail has a featured called <strong>Canned Responses</strong> which, when enabled, you can create and delete responses you find you use often. This works perfectly with affiliate links.</p>
<h2>Enabling Canned Responses</h2>
<p>If you&#8217;ve never searched through Google Labs, you&#8217;re really missing out. They have loads of interesting, useful, and border-line ridiculous features that can be enabled.</p>
<div id="attachment_348" class="wp-caption alignleft" style="width: 278px">
	<img class="size-full wp-image-348" style="border: 0px initial initial;" title="google1" src="http://174.121.151.58/~mthodder/wp-content/uploads/2010/02/google1.png" alt="" width="278" height="69" />
	<p class="wp-caption-text">Click on the Labs icon.</p>
</div>
<p>Anyways, to enabled our feature we have to access <strong>Google Labs</strong>. First, click on the green beaker thing in the top right corner of your Gmail screen.</p>
<div class="clearall"></div>
<div id="attachment_357" class="wp-caption alignleft" style="width: 300px">
	<a href="http://174.121.151.58/~mthodder/wp-content/uploads/2010/02/google2.png"><img class="size-medium wp-image-357" title="google2" src="http://www.matthodder.com/wp-content/uploads/google2-300x64.png" alt="" width="300" height="64" /></a>
	<p class="wp-caption-text">Enabled Canned Responses and save.</p>
</div>
<p>From there scroll all the way down and find the featured called <strong>Canned Responses</strong> (tough, right?). Enable it, scroll down further and save.</p>
<h2>Using Canned Responses</h2>
<p>Cake walk. Whenever you&#8217;re replying to an email or you compose a new email you&#8217;ll now have a new option right under your subject on the far right. Here you can add, delete, and of course insert your affiliate links.</p>
<div id="attachment_366" class="wp-caption alignleft" style="width: 300px">
	<a href="http://174.121.151.58/~mthodder/wp-content/uploads/2010/02/google3.png"><img class="size-medium wp-image-366" title="google3" src="http://www.matthodder.com/wp-content/uploads/google3-300x215.png" alt="" width="300" height="215" /></a>
	<p class="wp-caption-text">When in an email, click Canned Responses under the subject.</p>
</div>
<p>To insert new links, just compose a new blank email, paste your link into the email body, drop down <strong>Canned Responses</strong>, and hit <strong>New canned response </strong>naming it whatever you want.</p>
<p>Congratulations, you now have an extra 30 seconds to do <strong><em>whatever you want</em></strong>. You can thank me later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/gmail-tip-easily-store-affiliate-links/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Thesis Starter PSD and Custom Files</title>
		<link>http://www.matthodder.com/thesis-starter-psd-and-custom-files/</link>
		<comments>http://www.matthodder.com/thesis-starter-psd-and-custom-files/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 15:28:55 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Free Downloads]]></category>
		<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[thesis psd]]></category>
		<category><![CDATA[thesis skin]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=325</guid>
		<description><![CDATA[I&#8217;m still kicking it in the Thesis world. For those of you who still don&#8217;t know what Thesis is, check it out here. Anyways, as I&#8217;m sure most of you do know, Thesis is a leading WordPress framework that provides SEO, stability, and plenty of ways to customize your site. The customization scene has been [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/thesis-starter-psd-and-custom-files/" title="Permanent link to Thesis Starter PSD and Custom Files"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/free-download.png" width="540" height="200" alt="Thesis - Free Download" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fthesis-starter-psd-and-custom-files%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fthesis-starter-psd-and-custom-files%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;m still kicking it in the Thesis world. For those of you who <strong>still </strong>don&#8217;t know what Thesis is, <a href="http://www.matthodder.com/get-thesis">check it out here</a>.</p>
<p>Anyways, as I&#8217;m sure most of you do know, Thesis is a leading WordPress framework that provides SEO, stability, and plenty of ways to customize your site. The customization scene has been picking up lately, with <a href="http://www.artofblog.com/thesis-design-customizations/">hundreds of great examples</a>. Seeing all of those great customizations and skins that people are hammering out, I figured I&#8217;d try to make things easier for some people by providing a sort of starter pack to the public.</p>
<p>The files included in the pack are exactly what I use when I start a new site or skin. Included in the download are:</p>
<ul>
<li>Default Thesis PSD for a 2 column (600&#215;300) site. Includes extra layers to visualize the blog page, normal page, comments and dropdowns. Also has default folders to keep things organized.</li>
</ul>
<ul>
<li>Custom files, custom.css and custom-functions.php already commented out. Custom.css also includes some default styling for forms (as I&#8217;m not a fan of the default styling).</li>
</ul>
<ul>
<li>Two import files that gives you a de-lined, full-width page with my preferred options (just try it out). <strong>NOTE:</strong> You need the <a href="http://wordpress.org/extend/plugins/thesis-settings-export/">Thesis import/export plugin</a> in order to use these two files.</li>
</ul>
<p style="text-align: center;"><a href="http://www.matthodder.com/wp-content/plugins/download-monitor/download.php?id=Thesis+Starter+Pack"><img class="size-full wp-image-329 aligncenter" title="download-button" src="http://www.matthodder.com/wp-content/uploads/2010/02/download-button.png" alt="" width="322" height="62" /></a></p>
<p><span style="font-weight: normal;"><em>For those of you who don&#8217;t want to spend any time customizing stuff, why don&#8217;t you download my new Thesis skin: </em></span><a href="http://thesisthemes.com/premium-skins/thesisplay"><span style="font-weight: normal;"><em>ThesisPlay</em></span></a><span style="font-weight: normal;"><em>. It&#8217;s awesome- in fact, it&#8217;s the skin running this very site! </em></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/thesis-starter-psd-and-custom-files/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Add Built-in Widgets to Thesis / WordPress Theme</title>
		<link>http://www.matthodder.com/build-widgets-in-thesis-wordpress-theme/</link>
		<comments>http://www.matthodder.com/build-widgets-in-thesis-wordpress-theme/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:32:46 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[thesis skin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=248</guid>
		<description><![CDATA[Almost anything that can be done with a normal theme can, in almost the same way, be done with Thesis. The main custom functions file (custom_functions.php) is just an extension of Functions.php, the main function file for WordPress themes. So is it possible to add built in widgets with a Thesis skin or customization? Of [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/build-widgets-in-thesis-wordpress-theme/" title="Permanent link to Add Built-in Widgets to Thesis / WordPress Theme"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/4.jpg" width="540" height="200" alt="Post image for Add Built-in Widgets to Thesis / WordPress Theme" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fbuild-widgets-in-thesis-wordpress-theme%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fbuild-widgets-in-thesis-wordpress-theme%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Almost anything that can be done with a normal theme can, in almost the same way, be done with Thesis. The main custom functions file (<strong>custom_functions.php</strong>) is just an extension of <strong>Functions.php</strong>, the main function file for WordPress themes. So is it possible to add built in widgets with a Thesis skin or customization? Of course!</p>
<p class="note"><em>Note: For Thesis 1.5+ / WordPress 2.8.x</em></p>
<p class="note"><em>Double Note: If you came here looking how to build a widget into a non-thesis wordpress theme, almost the same tutorial applies. The only difference is you would contain everything in Functions.php.</em></p>
<p>In this example we&#8217;re going to build a simple rss/twitter widget, which will allow the user to input a twitter username and RSS link and have it show up wherever they place said widget.</p>
<h2>To begin</h2>
<p>First, open up <strong>custom_functions.php</strong> (found in your thesis install folder/custom). Anywhere after the code already in the file, paste the following:</p>
<div>
<pre class="brush: php;">class my_subscribe_widget extends WP_Widget {

	function my_subscribe_widget() {
		// Construct our widget
	}

	function widget($args, $instance) {
		// Our front end
	}

	function update($new_instance, $old_instance) {
		// Updates our widget
	}

	function form($instance) {
		// Our back end
	}
}

register_widget('my_subscribe_widget');</pre>
<p>This is a widget function, bare-bones. Our class name is <strong>my_subscribe_widget</strong>, which is extending the <strong>WP_Widget class</strong> to allow us to use its functions and properties. We can now build upon our frame and create a widget that actually has some use.</p>
<pre class="brush: css;">&lt;?php
class my_subscribe_widget extends WP_Widget {
 function my_subscribe_widget() {
 $widget_ops = array('classname' =&gt; 'widget_bu_subscribe', 'description' =&gt; 'Add an RSS and twitter link' );
 $this-&gt;WP_Widget('my_subscribe_widget', 'RSS/Twitter Links', $widget_ops);
 }

 function widget($args, $instance) {
 extract($args, EXTR_SKIP);

 echo $before_widget;
 $title = empty($instance['title']) ? '&amp;nbsp;' : apply_filters('widget_title', $instance['title']);
 $rss_link = empty($instance['rss_link']) ? '&amp;nbsp;' : apply_filters('widget_rss_link', $instance['rss_link']);
 $twitter_link = empty($instance['twitter_link']) ? '&amp;nbsp;' : apply_filters('widget_twitter_link', $instance['twitter_link']);

 if ( !empty( $title ) ) { echo $before_title . $title . $after_title; }; ?&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a title="Subscribe to the RSS Feed" href="&lt;?php echo $rss_link; ?&gt;"&gt;Subscribe to the RSS Feed&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a title="Follow on Twitter" href="http://www.twitter.com/&lt;?php echo $twitter_link; ?&gt;"&gt;Follow us on Twitter&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;

 &lt;?php echo $after_widget;
 }

 function update($new_instance, $old_instance) {
 $instance = $old_instance;
 $instance['title'] = strip_tags($new_instance['title']);
 $instance['rss_link'] = strip_tags($new_instance['rss_link']);
 $instance['twitter_link'] = strip_tags($new_instance['twitter_link']);
 return $instance;
 }

 function form($instance) {
 $rss_default = get_bloginfo('rss2_url');
 $instance = wp_parse_args( (array) $instance, array( 'title' =&gt; '', 'rss_link' =&gt; $rss_default, 'twitter_link' =&gt; '') );
 $title = strip_tags($instance['title']);
 $rss_link = strip_tags($instance['rss_link']);
 $twitter_link = strip_tags($instance['twitter_link']);
?&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;"&gt;Title: &lt;input id="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('title'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($title); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('rss_link'); ?&gt;"&gt;RSS Feed Link: &lt;input id="&lt;?php echo $this-&gt;get_field_id('rss_link'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('rss_link'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($rss_link); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('twitter_link'); ?&gt;"&gt;Twitter Username: &lt;input id="&lt;?php echo $this-&gt;get_field_id('twitter_link'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('twitter_link'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($twitter_link); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;

&lt;?php
 }
}

register_widget('my_subscribe_widget');</pre>
<p>That seems like a lot of code but if you sift through it, it should start to make sense. With this code, you now have a fully functional RSS/Twitter widget. You will still need to style it to match your current theme however.</p>
<h2>Breaking it Down</h2>
<p>If playing with and deciphering code isn&#8217;t your thing, lets go ahead and break the code down.</p>
<pre> function my_subscribe_widget() {
 $widget_ops = array('classname' =&gt; 'widget_bu_subscribe', 'description' =&gt; 'Add an RSS and twitter link' );
 $this-&gt;WP_Widget('my_subscribe_widget', 'RSS/Twitter Links', $widget_ops);
 }</pre>
<p>Above we are basically naming and describing our widget, while setting its class name. The widget will be named <em>RSS/Twitter Links</em> and will have a short description under it of  <em>Add an RSS and twitter link</em>.</p>
<pre>function widget($args, $instance) {
 extract($args, EXTR_SKIP);

 echo $before_widget;
 $title = empty($instance['title']) ? '&amp;nbsp;' : apply_filters('widget_title', $instance['title']);
 $rss_link = empty($instance['rss_link']) ? '&amp;nbsp;' : apply_filters('widget_rss_link', $instance['rss_link']);
 $twitter_link = empty($instance['twitter_link']) ? '&amp;nbsp;' : apply_filters('widget_twitter_link', $instance['twitter_link']);

 if ( !empty( $title ) ) { echo $before_title . $title . $after_title; }; ?&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a title="Subscribe to the RSS Feed" href="&lt;?php echo $rss_link; ?&gt;"&gt;Subscribe to the RSS Feed&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a title="Follow on Twitter" href="http://www.twitter.com/&lt;?php echo $twitter_link; ?&gt;"&gt;Follow us on Twitter&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;

 &lt;?php echo $after_widget;
 }</pre>
<p><a href="http://174.121.151.58/~mthodder/wp-content/uploads/2009/11/frontend.jpg"><img class="alignleft size-full wp-image-272" style="border: 1px solid #DDDDDD;" title="frontend" src="http://174.121.151.58/~mthodder/wp-content/uploads/2009/11/frontend.jpg" alt="frontend" width="242" height="242" /></a>The actual widget function will be what is displayed on the front end. In this occasion, we are first grabbing our instances from what the user set on the back end. We pull the title, RSS link, and Twitter link into respected variables. We create a title (if there is one) and then proceed with our RSS / Twitter list. We echo (print) out our variables in their correct locations to create our links. Since we only want the user to input a Twitter username, we only echo that variable out after http://www.twitter.com/ .</p>
<pre>function update($new_instance, $old_instance) {
 $instance = $old_instance;
 $instance['title'] = strip_tags($new_instance['title']);
 $instance['rss_link'] = strip_tags($new_instance['rss_link']);
 $instance['twitter_link'] = strip_tags($new_instance['twitter_link']);
 return $instance;
 }</pre>
<p>In this function we are updating our data from the back end. Just make sure all option entries match up in titles.</p>
<pre> function form($instance) {
 $rss_default = get_bloginfo('rss2_url');
 $instance = wp_parse_args( (array) $instance, array( 'title' =&gt; '', 'rss_link' =&gt; $rss_default, 'twitter_link' =&gt; '') );
 $title = strip_tags($instance['title']);
 $rss_link = strip_tags($instance['rss_link']);
 $twitter_link = strip_tags($instance['twitter_link']);
?&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;"&gt;Title: &lt;input id="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('title'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($title); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('rss_link'); ?&gt;"&gt;RSS Feed Link: &lt;input id="&lt;?php echo $this-&gt;get_field_id('rss_link'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('rss_link'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($rss_link); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('twitter_link'); ?&gt;"&gt;Twitter Username: &lt;input id="&lt;?php echo $this-&gt;get_field_id('twitter_link'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('twitter_link'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($twitter_link); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;

&lt;?php
}</pre>
<p><a href="http://174.121.151.58/~mthodder/wp-content/uploads/2009/11/rss-twitter.jpg"><img class="size-full wp-image-254 alignleft" title="rss-twitter" src="http://174.121.151.58/~mthodder/wp-content/uploads/2009/11/rss-twitter.jpg" alt="rss-twitter" width="269" height="238" /></a>Finally we are creating our back end form. This is what the user sees on the widget section of their dashboard after they add it to a sidebar (see image). First we create a variable called<strong> $rss_default</strong>, which grabs in the current RSS feed. This saves the user time and enters that value as the default RSS link value once the widget is added. Of course they are free to change it afterwords We put our default values into <strong>$instance</strong> (where you can see <strong>$rss_default</strong> being used, and everything else blank). We pull our instances into separate variables to use in the form.</p>
<p>Then we build our actual user input form. We label and title our fields for usability, and echo any values that might be in the fields. We are only using input fields here but if you need different types of input, there are plenty more. Check other widgets to see what you can or cannot do easily.</p>
<h2>Hope everyone kept up! If you have any questions or comments, leave them below.</h2>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/build-widgets-in-thesis-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Add an options menu to the WordPress dashboard for a Thesis Skin</title>
		<link>http://www.matthodder.com/thesis-skins-add-an-options-menu-to-wordpress/</link>
		<comments>http://www.matthodder.com/thesis-skins-add-an-options-menu-to-wordpress/#comments</comments>
		<pubDate>Fri, 29 May 2009 21:09:52 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Skins]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[thesis skin]]></category>
		<category><![CDATA[thesis tutorial]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress dashboard]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=154</guid>
		<description><![CDATA[Lately I&#8217;ve been venturing into the Thesis community, coming across loads of great people and excellent resources. Although publicly released skins (both paid and free) seem to be taking off only as of lately, I&#8217;ve had a chance to try out a few free Thesis skins. Something I haven&#8217;t seen a Thesis skin tap into, [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/thesis-skins-add-an-options-menu-to-wordpress/" title="Permanent link to Add an options menu to the WordPress dashboard for a Thesis Skin"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/1.jpg" width="540" height="200" alt="Post image for Add an options menu to the WordPress dashboard for a Thesis Skin" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fthesis-skins-add-an-options-menu-to-wordpress%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fthesis-skins-add-an-options-menu-to-wordpress%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Lately I&#8217;ve been venturing into the Thesis community, coming across loads of great people and excellent resources. Although publicly released skins (both paid and free) seem to be taking off only as of lately, I&#8217;ve had a chance to try out a few free Thesis skins.</p>
<p>Something I haven&#8217;t seen a Thesis skin tap into, is theme options directly editable through the WordPress dashboard- despite its easy implementation. Let me show you how to accomplish this, starting with the source code complete with comments:</p>
<pre class="brush: php;">// NOTE: Hover top right to download! //

&lt;?php

add_action('admin_menu', 'thesis_custom_add_page'); // Moves the add page function in the WP dashboard admin menu via WP hook

function thesis_custom_add_page() { // Adds our test page to Thesis menu
add_theme_page('Test Page', 'Test Page', 'edit_themes', 'test-page', 'test_page_admin');
}

function test_page_admin() { // Our function (as seen above) that runs when the page is accessed

$tt_twitter_option = 'tt_twitter_name'; // Option name (in db)
$tt_hidden_field_name = 'tt_submit_hidden';
$tt_data_field_name = 'tt_twitter_field';

$tt_twitter_value = get_option($tt_twitter_option); // Read in existing option value from database

if( $_POST[ $tt_hidden_field_name ] == 'yes' ) { // If form has been sumbitted
$tt_twitter_value = $_POST[ $tt_data_field_name ]; // Read value from post
update_option($tt_twitter_option, $tt_twitter_value); // Save value in database

?&gt;
&lt;div class="updated"&gt;&lt;p&gt;&lt;strong&gt;&lt;?php _e('Your options have been saved.', 'mt_trans_domain' ); ?&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;?php

}
// Main screen:
echo '&lt;div class="wrap"&gt;';
echo "&lt;h2&gt;" . __( 'Thesis Themes - Customization', 'mt_trans_domain' ) . "&lt;/h2&gt;"; // header

?&gt;

&lt;form name="form1" method="post" action="&lt;?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?&gt;"&gt;
&lt;input type="hidden" name="&lt;?php echo $tt_hidden_field_name; ?&gt;" value="yes"&gt;
&lt;p&gt;&lt;?php _e("Enter your twitter username:", 'mt_trans_domain' ); ?&gt;
&lt;input type="text" name="&lt;?php echo $tt_data_field_name; ?&gt;" value="&lt;?php echo $tt_twitter_value; ?&gt;" size="25"&gt;
&lt;/p&gt;

&lt;p class="submit"&gt;
&lt;input type="submit" name="Submit" value="&lt;?php _e('Update Options', 'mt_trans_domain' ) ?&gt;" /&gt;
&lt;/p&gt;

&lt;/form&gt;
&lt;/div&gt;

&lt;?php

}</pre>
<h2>Where should I put the code?</h2>
<p>Well you should be using only a couple files to customize Thesis: custom.css and custom_functions.php. You can paste all of the source code directly into custom_functions.php.</p>
<h2>What does the code do?</h2>
<p>Right now, the code isn&#8217;t going to be any use to your front end. The code will create a new menu called &#8220;Test Page&#8221; under the appearance tab in your WordPress dashboard. Further, it will have a title, field, and submit button. The field will iniatily hold no value, but after you fill it in, it will be saved to the database. The value being saved is called &#8220;tt_twitter_name&#8221;, although you could rework the titles and have the value do anything. Lets take a closer look at the code.</p>
<pre class="brush: php;">add_action('admin_menu', 'thesis_custom_add_page');</pre>
<p>Thesis didn&#8217;t invent the hook. WordPress has a number of hooks throughout its code, both for the  backend and frontend. Basically, in this line of code, we are adding a custom function <strong>(thesis_custom_add_page) </strong>at the hook location of <strong>admin_menu. </strong>This will let our function run at the right location and time.</p>
<pre class="brush: php;">function thesis_custom_add_page() {
add_theme_page('Test Page', 'Test Page', 'edit_themes', 'test-page', 'test_page_admin');
}</pre>
<p>Here&#8217;s our function we looked at above. What is the function doing? Adding our theme ofcourse. The <strong>add_theme_page</strong> function runs like this: add_menu_page(<em>page_title</em>, <em>menu_title</em>, <em>access_level/capability</em>, <em>file</em>, <em>[function]</em>, <em>[icon_url]</em>);. We are adding a page title of &#8220;Test Page&#8221;, a menu title of &#8220;Test Page&#8221;, access rights of &#8220;edit_themes&#8221; (which means you must be able to edit themes to access this page), the file name, and the resulting function.</p>
<pre class="brush: php;">function test_page_admin() {

$tt_twitter_option = 'tt_twitter_name';
$tt_hidden_field_name = 'tt_submit_hidden';
$tt_data_field_name = 'tt_twitter_field';</pre>
<p>In this set of code we are opening our function that will run once the page is accessed <strong>(test_page_admin) </strong>and setting our variables. In this example we are going to get the user to input a Twitter username, so that we can access it later.</p>
<p><strong>$tt_twitter_option</strong> is our option name, and will hold our database field name (it&#8217;s up to you).</p>
<p><strong>$tt_hidden_field</strong>_<strong>name</strong> is simply the name of the hidden field in the html form that will load. It will be used to check whether the user had submitted form on load.</p>
<p><strong>$tt_data_field_name</strong> is the the name of our field, where the user will input his/her Twitter username.</p>
<pre class="brush: php;">$tt_twitter_value = get_option($tt_twitter_option);</pre>
<p>Here we have another variable, <strong>tt_twitter_value</strong>, which runs a WordPress function to get the value already present in the database (if it is there at all).</p>
<pre class="brush: php;">if( $_POST[ $tt_hidden_field_name ] == 'yes' ) {
$tt_twitter_value = $_POST[ $tt_data_field_name ];
update_option($tt_twitter_option, $tt_twitter_value);
?&gt;
&lt;div class="updated"&gt;&lt;p&gt;&lt;strong&gt;&lt;?php _e('Your options have been saved.', 'mt_trans_domain' ); ?&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;?php</pre>
<p>As mentioned before, we want to check if the user submitted the form already, and we do that by using the hidden field. If the hidden field is set to &#8220;yes&#8221; once accessed, we will run some of this code and show the user a message indicating options were saved. <strong>update_option(); </strong>is another wordpress function. It will update the database <strong>($tt_twitter_option) </strong>with the new value (<strong>$tt_twitter_value).</strong></p>
<pre class="brush: php;">echo '&lt;div class="wrap"&gt;';
echo "&lt;h2&gt;" . __( 'Thesis Themes - Customization', 'mt_trans_domain' ) . "&lt;/h2&gt;"; // header

?&gt;

&lt;form name="form1" method="post" action="&lt;?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?&gt;"&gt;
&lt;input type="hidden" name="&lt;?php echo $tt_hidden_field_name; ?&gt;" value="yes"&gt;
&lt;p&gt;&lt;?php _e("Enter your twitter username:", 'mt_trans_domain' ); ?&gt;
&lt;input type="text" name="&lt;?php echo $tt_data_field_name; ?&gt;" value="&lt;?php echo $tt_twitter_value; ?&gt;" size="25"&gt;
&lt;/p&gt;

&lt;p class="submit"&gt;
&lt;input type="submit" name="Submit" value="&lt;?php _e('Update Options', 'mt_trans_domain' ) ?&gt;" /&gt;
&lt;/p&gt;

&lt;/form&gt;
&lt;/div&gt;</pre>
<p>Alright, so we&#8217;re at the last bit of code. This should be pretty straightforward. This is what is going to actually show up when you load the new page we created. We have our header being echoed out, our input fields, and our submit button. The user will now be able to enter in a twitter username, and hit save. If he/she comes back to the same page the field will be populated with the same twitter username.</p>
<h2>Phew. So we have the input, what can I do with it?</h2>
<p>Well, you can essentially grab that value whenever and wherever you want within thesis by calling <strong>get_option(&#8216;tt_twitter_name&#8217;);</strong>. For example, <a href="http://thesisthemes.com/">as seen on my most recent skins</a>,  if you wanted to have a link to the users twitter account you would enter something like:</p>
<pre class="brush: php;">&lt;?php $tt_twitter_username = get_option('tt_twitter_name'); ?&gt;
&lt;p class="tt_twitter"&gt;&lt;a href="http://www.twitter.com/&lt;?php echo $tt_twitter_username; ?&gt;"&gt;Follow on Twitter&lt;/a&gt;&lt;/p&gt;</pre>
<h2>What now?</h2>
<p>At this point we are beyond Thesis. If you read this coming from a WordPress theme designer you probably didn&#8217;t get much from this, as it&#8217;s essentialy the same stuff. The only difference is you have to call the functions from the custom_functions.php file (which you can and should extend to different php files). For further tutorials, references, and code check out <a href="http://codex.wordpress.org/">http://codex.wordpress.org/</a>. Didn&#8217;t get something above? Add me to <a href="http://www.twitter.com/matthodder">Twitter</a> or write me below, and I&#8217;ll do my best to help out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/thesis-skins-add-an-options-menu-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Remove all borders in Thesis 1.5</title>
		<link>http://www.matthodder.com/remove-all-borders-in-thesis-15/</link>
		<comments>http://www.matthodder.com/remove-all-borders-in-thesis-15/#comments</comments>
		<pubDate>Wed, 27 May 2009 16:11:24 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[Thesis Skins]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=142</guid>
		<description><![CDATA[Re-working the Thesis framework to your own liking? Well, if your doing a huge overhaul, you might want to get rid of the separator lines the default styling has included. This includes the sidebar lines, the teaser box lines, the comment lines.etc. To get rid of these lines, while editing the css (you should be [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/remove-all-borders-in-thesis-15/" title="Permanent link to Remove all borders in Thesis 1.5"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/2.jpg" width="540" height="200" alt="Post image for Remove all borders in Thesis 1.5" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fremove-all-borders-in-thesis-15%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fremove-all-borders-in-thesis-15%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Re-working the Thesis framework to your own liking?</p>
<p>Well, if your doing a huge overhaul, you might want to get rid of the separator lines the default styling has included. This includes the sidebar lines, the teaser box lines, the comment lines.etc.</p>
<p>To get rid of these lines, while editing the css (you should be using the custom.css located in the custom folder of Thesis) input this code at the top:</p>
<pre class="brush: css;">.custom #header, .custom .post, .custom .teasers_box, .custom #footer, .custom #footer a, .custom #footer a:active, .custom #archive_info, .custom .prev_next, .custom #comment_list, .custom #comment_list dd, .custom #commentform, .custom #sidebar_1, .custom #sidebar_2, .custom #comment_list dt.comment, .custom #comment_list dd.comment, .custom #comment_list dl .bypostauthor .format_text, .custom #trackback_list {
        border-bottom: 0px;
        border-top: 0px;
        border-right: 0px;
        border-left: 0px;
}
.custom #content_box, .custom #column_wrap {
        background: none;
}</pre>
<p>This will effectively get rid of all separators, no matter the framework (page or full-width) or column amount / justification. Also, since you placed this code at the very top of the document, any border you might want to add in later will over-rule the top declarations. Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/remove-all-borders-in-thesis-15/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>New look via Thesis</title>
		<link>http://www.matthodder.com/new-look-via-thesis/</link>
		<comments>http://www.matthodder.com/new-look-via-thesis/#comments</comments>
		<pubDate>Thu, 21 May 2009 07:36:22 +0000</pubDate>
		<dc:creator>Matt Hodder</dc:creator>
				<category><![CDATA[Matthodder.com]]></category>
		<category><![CDATA[Thesis Customization]]></category>
		<category><![CDATA[thesis]]></category>
		<category><![CDATA[thesis child theme]]></category>
		<category><![CDATA[thesis skin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.matthodder.com/?p=115</guid>
		<description><![CDATA[Yep, I&#8217;m using Thesis. For the last couple of weeks I have been working with the latest Thesis framework (and WordPress of course) to create a variety of different Thesis &#8220;skins.&#8221; These skins will be released completely free sometime next month. The skin I currently have enabled is one of the simpler, toned down skins [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://www.matthodder.com/new-look-via-thesis/" title="Permanent link to New look via Thesis"><img class="post_image aligncenter frame" src="http://www.matthodder.com/wp-content/uploads/3.jpg" width="540" height="200" alt="Post image for New look via Thesis" /></a>
</p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.matthodder.com%2Fnew-look-via-thesis%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.matthodder.com%2Fnew-look-via-thesis%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Yep, I&#8217;m using Thesis.</p>
<p>For the last couple of weeks I have been working with the latest Thesis framework (and WordPress of course) to create a variety of different Thesis &#8220;skins.&#8221; These skins will be released completely <strong>free</strong> sometime next month. The skin I currently have enabled is one of the simpler, toned down skins that are planned to be released to the public.</p>
<p>Now, I&#8217;m sure some of you proud Thesis owners might be thinking &#8220;Its pretty and all, but do I really want to go through all of the work to get it up and operational- and how much &#8216;out of the box&#8217; work did you do to get it to look like this?&#8221; Well I won&#8217;t speak for the rest of the themes just yet- but this theme itself honestly took about 5 minutes to install. You do not need to enter in any hooks, or change any functions. There are a few steps to get the design &#8220;just right&#8221;, which can all be achieved using Thesis&#8217; built in options. Upload, point, click, click, click save. Done.</p>
<p>Anyways- I won&#8217;t go into detail right now- but if you are a Thesis fan and happened to stumble across this post, bookmark the site, add me to twitter, drop a comment, or grab the RSS. I promise you won&#8217;t be disappointed.</p>
<p>Original Photo Credit: <a href="http://www.flickr.com/photos/aheram/3531514902/">Flickr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthodder.com/new-look-via-thesis/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 10.516 seconds -->
