<?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>WP Theming &#187; WordPress Tips</title> <atom:link href="http://wptheming.com/category/wordpress-tips/feed/" rel="self" type="application/rss+xml" /><link>http://wptheming.com</link> <description>Tutorials, Themes and Plugins</description> <lastBuildDate>Wed, 16 May 2012 15:18:49 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Theming the Image Post Format</title><link>http://wptheming.com/2012/01/theming-the-image-post-format/</link> <comments>http://wptheming.com/2012/01/theming-the-image-post-format/#comments</comments> <pubDate>Fri, 13 Jan 2012 22:35:03 +0000</pubDate> <dc:creator>Devin</dc:creator> <category><![CDATA[WordPress Tips]]></category> <guid
isPermaLink="false">http://wptheming.com/?p=2190</guid> <description><![CDATA[Working with post formats in WordPress can be challenging because of the lack of structured data, but jQuery can actually help out quite a bit.]]></description> <content:encoded><![CDATA[<p>Working with post formats in WordPress can be challenging because of the lack of structured data.  For instance, just because a user selects an &#8220;image&#8221; post format, there&#8217;s no guarantee that an image was actually attached to the post.</p><p>Alex King has <a
href="http://alexking.org/blog/2011/10/25/wordpress-post-formats-admin-ui">created a plugin</a> and submitted a couple patches, but until the WordPress UI catches up we as theme developers need to be a little creative.</p><p>In the most recent version of <a
href="http://wordpress.org/extend/themes/portfolio-press">Portfolio Press</a>, I ended up styling the image format to look like this:<br
/> <span
id="more-2190"></span><br
/> <img
src="http://wptheming.wpengine.netdna-cdn.com/wp-content/uploads/2012/01/post-format-590x548.jpg" alt="" title="post-format" width="590" height="548" class="alignnone size-large wp-image-2191" /></p><p>(You can also <a
href="http://themes.wptheming.com/portfolio/blog/">view it</a> on the demo site)</p><h3>Post Format Styling</h3><p>Instead of putting a title above the post like the standard format, I decided to hide it.  In my opinion the focus should be on the image.</p><p>Instead of displaying the the_excerpt like I do for other posts in the archive view, I display the_content so that full images are able to be displayed.</p><p>Then, using jQuery, I built a rollover effect that displays the post title when someone hovers over the image.  If you click on the image, it will take you to the full post.</p><h3>jQuery With Post Formats</h3><p>Using jQuery makes it much easier to work with the post formats because you don&#8217;t need to guess what&#8217;s in the content.  It also fails gracefully if it doesn&#8217;t find the markup it&#8217;s looking for.</p><p>For instance, the rollover effect in Portfolio Press is applied only on the first image detected in the post format- even if the author dropped 12 in there.  If there&#8217;s no image, no additional markup is added.</p><p>The script checks to make sure the image is at least 200px wide.  The rollover title still might not fit in a larger image, but at least it has a chance.</p><p>Authors sometimes link their images to the fullsize version.  However, in the archive view I want the image to only link to the full post.  The script I wrote will unwrap any link around the original image, and replace it with a link to the post in the archive view.  This might not be what some users in intend, but I think the majority will.</p><h3>Enough Talk</h3><p>Here&#8217;s the script I used to create the rollover effect on post format images:</p><pre class="brush: jscript; title: ; notranslate">
    // Image Post Format
    $('#content .format-image').each( function() {
    	var image = $(this).find('img:first');
    	if (image.width() &gt; 200 ) {
	    	var link = $(this).find('.entry-title').children();
	    	var title = link.text();
	    	image.unwrap('a');
	    	image.wrap('&lt;div class=&quot;image-wrap&quot; /&gt;');
	    	image.wrap(link.text(''));
	    	image.parent().append('&lt;h3/&gt;');
	    	$(this).find('h3').text(title).width(image.width() - 20);
    	}
    });
    $('.format-image .image-wrap a').hover( function() {
    	$(this).children('h3').slideDown(100);
    }, function(){
    	$(this).children('h3').slideUp(200);
    });
</pre><h3>View It</h3><p>You can view the <a
href="http://themes.wptheming.com/portfolio/blog/">post formats here</a>.  Portfolio Press 0.9 can be <a
href="https://github.com/devinsays/portfolio-press">downloaded from GitHub</a> (the latest isn&#8217;t in the .org repository yet).</p> ]]></content:encoded> <wfw:commentRss>http://wptheming.com/2012/01/theming-the-image-post-format/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Custom Design on WordPress.com</title><link>http://wptheming.com/2012/01/custom-design-on-wordpress-com/</link> <comments>http://wptheming.com/2012/01/custom-design-on-wordpress-com/#comments</comments> <pubDate>Thu, 12 Jan 2012 04:08:28 +0000</pubDate> <dc:creator>Devin</dc:creator> <category><![CDATA[WordPress Tips]]></category> <guid
isPermaLink="false">http://wptheming.com/?p=2154</guid> <description><![CDATA[If you want a highly customized theme for your WordPress site the only option is to self-host, right?  Not so fast...]]></description> <content:encoded><![CDATA[<p>If you want a highly customized theme for your WordPress site the only option is to self-host, right?  Not so fast&#8230;</p><p>I just finished a small project for Bluefin Software <a
href="http://blog.bluefinapps.com/">redeveloping their blog</a>.  They wanted to stay with WordPress.com hosting because of its ability to scale and low maintenance.  And incredibly, by using just the <a
href="http://en.support.wordpress.com/custom-design/">custom design upgrade</a> and widget areas in the <a
href="http://en.blog.wordpress.com/2010/08/09/new-theme-coraline/">Coraline Theme</a>, it was possible to build exactly what their designer had envisioned.<br
/> <span
id="more-2154"></span></p><h3>Bluefin Blog After Custom Design</h3><p><a
href="http://blog.bluefinapps.com/"><img
src="http://wptheming.wpengine.netdna-cdn.com/wp-content/uploads/2012/01/bluefin-590x510.jpg" alt="" title="Bluefin Blog" width="590" height="510" class="size-large wp-image-2157" /></a></p><h3>Bluefin Blog Original</h3><p><img
src="http://wptheming.wpengine.netdna-cdn.com/wp-content/uploads/2012/01/bluefin-original-590x419.jpg" alt="" title="bluefin-original" width="590" height="419" class="size-large wp-image-2161" /></p><h3>Benefits of Using WordPress.com</h3><p>Using WordPress.com has a few benefits:</p><ul><li>It&#8217;s completely free to have a basic blog.  The <a
href="http://en.support.wordpress.com/custom-design/">custom design option</a> is only $30/yr, and <a
href="http://en.support.wordpress.com/domain-mapping/map-existing-domain/">custom domains</a> are only $12.  Together, it&#8217;s still about half as much as using a shared host like HostGator or BlueHost.</li><li>It scales up incredibly well.  WordPress.com serves up <a
href="http://en.wordpress.com/stats/">2.5 billion pageviews a month</a>.  Your site will run fast, content is served off a global CDN, and you never have to worry about upgrading a plugin.</li><li>It handles everything most users need.  Contact forms, polls, stats, twitter widgets, code highlighters, and flickr widgets are all available.</li></ul><h3>Disadvantages of Using WordPress.com</h3><p>If you use WordPress.com you won&#8217;t be able to add any plugins.  You&#8217;re stuck with what they got.  No bbPress or Gravity Forms for you, sorry.</p><p>You can&#8217;t alter the theme markup.  Although it&#8217;s possible to do a lot with CSS, you won&#8217;t be able to do everything- especially in the javascript department.  You&#8217;re also limited to the selection of themes on WordPress.com.</p><h3>Tips for Custom Design on WordPress.com</h3><p>If that doesn&#8217;t deter you, here&#8217;s some tips for working with the custom design option:</p><h4>Pick the Right Theme</h4><p>Before you get heavily involved in the design, try to pick out the theme you want to use and work within it&#8217;s limitations.</p><p>I originally chose <a
href="http://en.blog.wordpress.com/2010/12/10/new-theme-toolbox/">Toolbox</a> to build the site off of since it&#8217;s a blank canvas with good markup, but to make the custom footer work I needed widget areas at the bottom.  That&#8217;s why I switched to <a
href="http://en.blog.wordpress.com/2010/08/09/new-theme-coraline/">Coraline</a>, which has an incredibly flexible layout.</p><h4>Use the Widget Areas</h4><p>Widget areas are the one part (besides the actual post content) where you can control the markup.  Just paste in the HTML you need (no scripts or iframes though).</p><h4>Build the Site Locally</h4><p>I built out the Bluefin design locally using MAMP.  All the free themes on WordPress.com are available on <a
href="http://wordpress.org/extend/themes/">WordPress extend</a> or directly <a
href="https://wpcom-themes.svn.automattic.com/">through SVN</a> from Automattic.</p><h4>Make a Child Theme</h4><p>Once you have the theme you plan to customization, make a child theme, import the WordPress.com content (if you have it), and start styling.  The other advantage of building a child theme is that it will be very easy to switch to self-hosted if you need to in the future.</p><h4>Upload All Your Assets to WordPress.com</h3><p>When you&#8217;re ready to move the design over, simply paste in the contents of your child theme&#8217;s CSS in the custom design editor.  If you&#8217;re using any images, those should be uploaded into your media assets on WordPress.com and replaced in the stylesheet so they can be served from WordPress.com&#8217;s CDN.</p><h3>In Conclusion</h3><p>WordPress.com won&#8217;t be for everyone- but it&#8217;s definitely a great option for some.  It&#8217;s low (or free) price and quality support make it a great option for folks who aren&#8217;t ready to make the plunge on self-hosted, and also for companies and organizations that just need a basic website and fairly unique look.</p><p>Also, as a developer it&#8217;s quite nice.  On a .org site you can do anything with enough time and work, but on .com the scope is inherently limited.  In this case, to 400 lines of CSS.</p> ]]></content:encoded> <wfw:commentRss>http://wptheming.com/2012/01/custom-design-on-wordpress-com/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>How to Make a Child Theme for Canvas</title><link>http://wptheming.com/2010/03/woo-themes-canvas/</link> <comments>http://wptheming.com/2010/03/woo-themes-canvas/#comments</comments> <pubDate>Sat, 27 Mar 2010 23:58:47 +0000</pubDate> <dc:creator>Devin</dc:creator> <category><![CDATA[Downloads]]></category> <category><![CDATA[WordPress Tips]]></category> <category><![CDATA[canvas]]></category> <category><![CDATA[child themes]]></category> <category><![CDATA[woo themes]]></category> <guid
isPermaLink="false">http://wordpresstheming.com/?p=717</guid> <description><![CDATA[I've been working a lot with <a
href="http://www.woothemes.com/amember/go.php?r=12019&#038;i=l64">Canvas</a>, a new framework by <a
href="http://www.woothemes.com/amember/go.php?r=12019&#038;i=b16">Woo Themes</a> that gives users a plethora of design options.  This <a
href="http://woothemes.com/demo/canvas/?p=94">video by Magnus</a> shows a little how it works.]]></description> <content:encoded><![CDATA[<p>I&#8217;ve been working a lot with <a
href="http://www.woothemes.com/amember/go.php?r=12019&#038;i=l64">Canvas</a>, a new framework by <a
href="http://www.woothemes.com/amember/go.php?r=12019&#038;i=b16">Woo Themes</a> that gives users a plethora of design options.  This <a
href="http://woothemes.com/demo/canvas/?p=94">video by Magnus</a> shows a little how it works.</p><p>When setting up a new site with Canvas, I&#8217;ll make new default style settings using a child theme.  This is the safe way to set up the theme, because if the design is done purely through the admin panel there&#8217;s the chance we&#8217;ll lose it if it&#8217;s ever reset.  It also gives us the full css toolkit rather than just the options that Woo has provided.</p><p>Additionally, by using a child theme, we can make changes to the markup (adding extra divs or wrapper for styling)- and not be worried about losing those customizations when a new updates of Canvas roll out.<br
/> <span
id="more-717"></span></p><h3>Instructions for Setting up the Child Theme</h3><ol><li>Install <a
href="http://www.woothemes.com/2010/02/canvas/">Canvas</a> in your WordPress theme directory.</li><li>Create a new folder in the themes directory for your child theme.</li><li>Add a &#8220;style.css&#8221; file, and paste in the following information:<br/><pre class="brush: php; title: ; notranslate">
/*
Theme Name: Canvas Child Theme
Theme URI: http://www.yoursite.com/
Version: 1.0
Description: Custom Theme based on Canvas
Author: Your Name
Author URI: http://www.yoursite.com
Template: canvas
*/
/* Default styles */
@import &quot;../canvas/css/reset.css&quot;;
@import &quot;../canvas/style.css&quot;;
/*-------------------------------------------------------------------------------------------*/
</pre></li><li>You would change the theme name, author, description etc. to customize it, but the important part is &#8220;Template: canvas&#8221; which tells the child theme where to get it&#8217;s template files from.</li><li>You can now add your own custom styles in the css file to override any of the default css settings of Canvas.</li></ol><h3>Remove Inline Styling Entirely</h3><p>If you like all the Canvas options that allow users to change the layout, logo, footer text, etc. but don&#8217;t necessarily want them altering the design, you can disable that ability from the Canvas admin panel.  If you want to make absolutely sure it&#8217;s off, you can also disable from the functions.php file in your child theme:</p><pre class="brush: php; title: ; notranslate">
// Removes the Woo Themes Inline Styling
	function remove_canvas_actions() {
 		remove_action('wp_head','woo_custom_styling');
	}
	add_action('init','remove_canvas_actions');
</pre><h3>Moving the Menu Above the Logo</h3><pre class="brush: php; title: ; notranslate">
// Unhook the menu from where it currently is
function remove_canvas_actions() {
		remove_action('woo_header_after','woo_nav');
	}
add_action('init','remove_canvas_actions');
// Move Menu Nav Above the Logo
add_action('woo_header_inside','woo_nav');
</pre><h3>Adding a Header Image</h3><p>One design feature I really like about the new default 2010 theme is the ability to set your own custom headers for individual pages and posts.  If you would like to have these on Canvas, it&#8217;ll just take a few more additions to the functions.php file:</p><pre class="brush: php; title: ; notranslate">
// Code to Create Custom Headers
	$defaultheader = get_bloginfo('stylesheet_directory') . '/images/default-photo.jpg';
	define( 'HEADER_TEXTCOLOR', '');
	define( 'HEADER_IMAGE', $defaultheader);
	define( 'HEADER_IMAGE_WIDTH', apply_filters( 'canvas_header_image_width',  960 ) );
	define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'canvas_header_image_height',	107 ) );
	define( 'NO_HEADER_TEXT', true );
	add_custom_image_header( '', 'canvas_admin_header_style' );
	// This theme needs post thumbnails
	add_theme_support( 'post-thumbnails' );
	// We'll be using them for custom header images on posts and pages
	// so we want them to be 960 pixels wide by 107 pixels tall (larger images will be auto-cropped to fit)
	set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );
	function canvas_admin_header_style() { ?&gt;
		&lt;style type=&quot;text/css&quot;&gt;
			#headimg {
 			height: &lt;?php echo HEADER_IMAGE_HEIGHT;
			?&gt;px;
 			width: &lt;?php echo HEADER_IMAGE_WIDTH;
			?&gt;px;
			}
			#headimg h1, #headimg #desc {
			display: none;
			}
		&lt;/style&gt;
		&lt;?php
		}
// Adds Header Image to Theme
	function childtheme_header_after() { ?&gt;
    &lt;div id=&quot;header-image&quot;&gt;
 	&lt;?php if ( is_singular() &amp;&amp; has_post_thumbnail( $post-&gt;ID ) ) {
		echo get_the_post_thumbnail( $post-&gt;ID, 'post-thumbnail' );
	} else { ?&gt;
  		&lt;img src=&quot;&lt;?php header_image(); ?&gt;&quot; alt=&quot;Header Image&quot; /&gt;
  	&lt;?php } ?&gt;
	&lt;/div&gt;
	&lt;?php }
 	add_action( 'woo_header_after', 'childtheme_header_after' );
</pre><p>This is just set up to for the 960 layout, but you could code it a little further to get the Canvas option for layout and set this width automatically.  See the child theme I built here: <a
href="http://canvas2010.wptheming.com/">http://canvas2010.wptheming.com/</a>.</p><h3>Unhook IE Conditional Stylesheets</h3><p>If you&#8217;re doing heavy customization of Canvas, you may also want to unhook the default IE conditional stylesheets and load your own new ones from the child theme.  Here&#8217;s how you would do that:</p><pre class="brush: php; title: ; notranslate">
// Reduces Database Calls
define('CHILDTHEME_URL', get_bloginfo('stylesheet_directory'));
// Removes Canvas Browser Specific Stylesheets
function remove_canvas_actions() {
		remove_action('wp_head','woo_IE_head');
	}
add_action('init','remove_canvas_actions');
// Adds the IE Stylesheets again, but now looks in the Child Theme Directory
function woochild_IE_head() {
?&gt;
&lt;!--[if IE 6]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/includes/js/pngfix.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/includes/js/menu.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; href=&quot;&lt;?php echo CHILDTHEME_URL; ?&gt;/css/ie6.css&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 7]&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; href=&quot;&lt;?php echo CHILDTHEME_URL; ?&gt;/css/ie7.css&quot; /&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 8]&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; href=&quot;&lt;?php echo CHILDTHEME_URL; ?&gt;/css/ie8.css&quot; /&gt;
&lt;![endif]--&gt;
&lt;?php
}
add_action('wp_head','woochild_IE_head');
</pre><h3>Add a New Widget Area</h3><p>Add this code to your functions file:</p><pre class="brush: php; title: ; notranslate">
function childtheme_widgets_init() {
	register_sidebar(array('name' =&gt; 'New Widget Area','id' =&gt; 'newwidgetarea','description' =&gt; &quot;New Widget Area Sidebar&quot;, 'before_widget' =&gt; '&lt;div id=&quot;%1$s&quot; class=&quot;widget %2$s&quot;&gt;','after_widget' =&gt; '&lt;/div&gt;','before_title' =&gt; '&lt;h3&gt;','after_title' =&gt; '&lt;/h3&gt;'));
}
add_action( 'init', 'childtheme_widgets_init' );
</pre><p>And replace the regular sidebar call in your template with this line:</p><pre class="brush: php; title: ; notranslate">
&lt;?php if ( is_active_sidebar('newwidgetarea') ) dynamic_sidebar('newwidgetarea'); ?&gt;
</pre><p>For instance, if you were replacing the sidebar on the home page, your code in index.php would look like this:</p><pre class="brush: php; title: ; notranslate">
&lt;/div&gt;&lt;!-- /#main --&gt;
            &lt;?php woo_main_after(); ?&gt;
            &lt;?php if ( is_active_sidebar('newwidgetarea') ) dynamic_sidebar('newwidgetarea'); ?&gt;
		&lt;/div&gt;&lt;!-- /#main-sidebar-container --&gt;
		&lt;?php get_sidebar('alt'); ?&gt;
    &lt;/div&gt;&lt;!-- /#content --&gt;
	&lt;?php woo_content_after(); ?&gt;
</pre>]]></content:encoded> <wfw:commentRss>http://wptheming.com/2010/03/woo-themes-canvas/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>Useful Thematic Filters</title><link>http://wptheming.com/2009/10/useful-thematic-filters/</link> <comments>http://wptheming.com/2009/10/useful-thematic-filters/#comments</comments> <pubDate>Fri, 30 Oct 2009 01:47:22 +0000</pubDate> <dc:creator>Devin</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[WordPress Tips]]></category> <category><![CDATA[thematic]]></category> <guid
isPermaLink="false">http://wordpresstheming.com/?p=285</guid> <description><![CDATA[The learning curve on Thematic is a bit steep if you've never used filters and hooks before.  So here's my growing list of Thematic filters for easy reference.  Replace the title with a logo, add Google Analytics code, change the footer and more.]]></description> <content:encoded><![CDATA[<p>The learning curve on Thematic is a bit steep if you&#8217;ve never used filters and hooks before.  The <a
href="http://themeshaper.com/thematic/guide/?page_id=12">Thematic guide</a> is a great place to start, and by looking at the <a
href="http://themeshaper.com/category/thematic-child-themes/">functions files</a> of other released themes I&#8217;ve found most of what I need.  But here&#8217;s my growing list of Thematic filters for easy reference:<br
/> <span
id="more-285"></span><br
/> <strong>Replace the Blog Title with Your Logo</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
//Replace Blog Title with Your Logo
function remove_thematic_blogtitle() {
     remove_action('thematic_header','thematic_blogtitle', 3);
}
add_action('init','remove_thematic_blogtitle');
function child_logo_image() {
     //Add your own logo image code
     //Here's an example
    ?&gt;
    &lt;h1&gt;&lt;a href=&quot;/&quot; title=&quot;&quot;&gt;&lt;img src=&quot;&lt;?php bloginfo('template_url'); ?&gt;/images/logo.jpg&quot; alt=&quot;&quot;/&gt;&lt;/a&gt;&lt;/h1&gt;
   &lt;?php
   // End Example
}
add_action('thematic_header','child_logo_image', 3);
</pre><p><strong>Add a Search Form to the Header</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
function add_search(){
include (TEMPLATEPATH . '/searchform.php');
}
add_action('thematic_header','add_search');
</pre><p><strong>Add &#8220;Home&#8221; to Menu Options</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
// Add 'Home' Menu Item
function childtheme_menu_args($args) {
    $args = array(
        'show_home' =&gt; 'Home',
        'menu_class' =&gt; 'menu',
        'echo' =&gt; true
    );
	return $args;
}
add_filter('wp_page_menu_args', 'childtheme_menu_args');
</pre><p><strong>Remove Blog Description</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
//Remove Blog Description
function remove_thematic_blogdescription() {
	remove_action('thematic_header','thematic_blogdescription',5);
	}
add_action('init','remove_thematic_blogdescription');
</pre><p><strong>Remove the Post Footer</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
add_filter('thematic_postfooter','my_postfooter');
function my_postfooter() {
// The Sound of One Hand Clapping
}
add_filter('thematic_postfooter','my_postfooter');
</pre><p><strong>Add a Twitter Link Under Each Post</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
function childtheme_postfooter($output) {
	$twitterlink = '&lt;p&gt;&lt;a href=&quot;http://www.twitter.com/devinsays&quot;&gt;Follow me on Twitter&lt;/a&gt;&lt;/p&gt;';
	return ($twitterlink . $output);
}
add_filter('thematic_postfooter','childtheme_postfooter');
</pre><p><strong>Add Google Analytics Tracking Code</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
//Google Analtyics
function analytic_footer() {?&gt;
&lt;script src=&quot;http://www.google-analytics.com/urchin.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
_uacct = &quot;XXXXXXX&quot;;
urchinTracker();
&lt;/script&gt;
&lt;? }
add_filter ('thematic_after', 'analytic_footer');
</pre><p><strong>Add Thumbnail Support</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
// Add Thumbnail Support for Theme (introduced in 2.9)
if ( function_exists( 'add_theme_support' ) ) {
	add_theme_support( 'post-thumbnails' );
	}
</pre><p><strong>Change the Footer Message in Your Site to:</strong><br
/> &#8220;Copyright (Current Year) (Your Blog Name) | (Link to Admin Page) | (Link to RSS)&#8221;</p><pre class="brush: php; gutter: false; title: ; notranslate">
// Generate footer code
function childtheme_footer($thm_footertext) {
     $date = date('Y');
     $blog_name = get_bloginfo('name');
     $admin_url = get_bloginfo('wpurl') . '/wp-admin';
     $entries_rss = get_bloginfo('rss2_url');
     $thm_footertext = sprintf(
     '&lt;p&gt;&amp;copy; %s %s | &lt;a href=&quot;http://wptheming.com/2009/10/useful-thematic-filters/&quot;&gt;Site Admin&lt;/a&gt; | &lt;a href=&quot;http://wptheming.com/2009/10/useful-thematic-filters/&quot;&gt;Entries RSS&lt;/a&gt;&lt;/p&gt;',
     $date, $blog_name, $admin_url, $entries_rss);
     return $thm_footertext;
     }
add_filter('thematic_footertext', 'childtheme_footer');
</pre><p><strong>Add a Favicon</strong></p><pre class="brush: php; gutter: false; title: ; notranslate">
function childtheme_favicon() { ?&gt;
    &lt;link rel=&quot;shortcut icon&quot; href=&quot;&lt;?php echo bloginfo('stylesheet_directory') ?&gt;/images/favicon.ico&quot;&gt;
&lt;?php }
add_action('wp_head', 'childtheme_favicon');
</pre><h3>Removing Plug-In Code</h3><p>A lot of times plug-ins will insert unnecessary stylesheets and scripts.  Here&#8217;s some filters to remove some of that cruft in popular plug-ins.  Although it&#8217;s listed here under Thematic filters, you can use the following code on any WordPress site.</p><pre class="brush: php; gutter: false; title: ; notranslate">
// Remove Page Navi CSS
function childtheme_deregister_styles() {
	wp_deregister_style( 'wp-pagenavi' );
}
add_action( 'wp_print_styles', 'childtheme_deregister_styles', 100 );
</pre><h3>Removing and Renaming Widget Areas</h3><p>This feature is in the <a
href="http://code.google.com/p/thematic/">trunk version of Thematic</a>.  It should be publicly released when WordPress 2.9 comes out, but you can download it via SVN if you want to get a jump on it.  For a more detailed tutorial on widget areas with Thematic <a
href="http://themeshaper.com/forums/topic/something-new-bout-widgetized-areas">read this post</a> in the forums.</p><pre class="brush: php; gutter: false; title: ; notranslate">
/* Defining Widget Areas */
function remove_widget_areas($content) {
	unset($content['1st Subsidiary Aside']);
	unset($content['2nd Subsidiary Aside']);
	unset($content['3rd Subsidiary Aside']);
	unset($content['Index Top']);
	return $content;
}
add_filter('thematic_widgetized_areas', 'remove_widget_areas');
function rename_widgetized_areas($content) {
	$content['Primary Aside']['args']['name'] = 'Sidebar';
	$content['Index Bottom']['args']['name'] = 'Home Content';
	return $content;
}
add_filter('thematic_widgetized_areas', 'rename_widgetized_areas');
</pre><h3>Disable Header Scripts</h3><p>If you&#8217;re not using drop down menus, no need to load the header scripts.</p><pre class="brush: php; gutter: false; title: ; notranslate">
function childtheme_remove_scripts() {
    remove_action('wp_head','thematic_head_scripts');
}
add_action('init', 'childtheme_remove_scripts');
</pre><h3>Other Resources</h3><p>If you&#8217;ve ever been to the Thematic forums, you&#8217;ve no doubt noticed Christopher Goßmann&#8217;s awesome presence.  Here&#8217;s his <a
href="http://www.wupperpiraten.de/kategorie/thematic/code_snippets/">code snippets</a> for changing/styling layouts.</p><p>Design Notes has a few <a
href="http://design-notes.info/tutorial/wordpress/thematic-child-theme-snippets/">snippets</a>, some of which I added to this list.</p><p>Here&#8217;s <a
href="http://anime2.kokidokom.net/6-useful-thematic-snippets/">6 Useful Thematic Snippets</a> for related posts, linkable post images, and removing default scripts and stylesheets.</p><p>If you&#8217;re interested in using non-standard web fonts, check out this article for <a
href="http://hardiannazief.com/08/how-to-add-typekit-to-your-thematic-child-themes/">How to Add Typekit to your Thematic Child Themes</a></p><p>Thanks to Justin Tadlock for the <a
href="http://justintadlock.com/archives/2009/08/06/how-to-disable-scripts-and-styles">PageNavi CSS removal</a> code.</p> ]]></content:encoded> <wfw:commentRss>http://wptheming.com/2009/10/useful-thematic-filters/feed/</wfw:commentRss> <slash:comments>23</slash:comments> </item> <item><title>WordPress and SEO</title><link>http://wptheming.com/2009/09/wordpress-seo-optimization/</link> <comments>http://wptheming.com/2009/09/wordpress-seo-optimization/#comments</comments> <pubDate>Wed, 16 Sep 2009 09:33:36 +0000</pubDate> <dc:creator>Devin</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[WordPress Tips]]></category> <category><![CDATA[seo]]></category> <guid
isPermaLink="false">http://wordpresstheming.com/?p=86</guid> <description><![CDATA["WordPress takes care of 80-90% of (the mechanics of ) Search Engine Optimization (SEO)".  So by using WordPress, you are already better positioned for search than the majority of websites.  But what else contributes to page rank and search optimization?]]></description> <content:encoded><![CDATA[<p><img
class="alignright size-full wp-image-97" title="matt-cutts" src="http://wptheming.wpengine.netdna-cdn.com/wp-content/uploads/2009/09/matt-cutts.jpg" alt="matt-cutts" width="200" height="150" /><a
href="http://www.mattcutts.com/blog/about-me/">Matt Cutts</a>, a software engineer for Google, gave a talk at WordCamp San Francisco 2009.</p><p>According to Matt, &#8220;WordPress takes care of 80-90% of (the mechanics of ) Search Engine Optimization (SEO)&#8221;.  So by using WordPress, you are already better positioned for search than the majority of websites.  But what else contributes to page rank and search optimization?</p><p>I would highly recommend watching <a
href="http://www.mattcutts.com/blog/seo-for-bloggers/">Matt&#8217;s presentation in full</a>, but if you don&#8217;t have 45 minutes to spare, I took some notes:<br
/> <span
id="more-86"></span></p><h4>Permalink Structure</h4><p>Use a permalink structure in WordPress that will take advantage of your keywords.  If your post titles have the most relevant search terms, use a preset structure like &#8220;http://wptheming.com/2009/09/sample-post/&#8221; or a custom structure like &#8220;/%postname%/&#8221;.  You can read about this more in depth at <a
href="http://www.wolf-howl.com/seo/url-configuration-wordpress/">Michael Gray&#8217;s</a> site.</p><h4>Alternate Keywords in the URL</h4><p>The url of your post is an opportunity to use alternative keywords.  If your title is &#8220;Changing the default printer on Linux and Firefox&#8221; you may want to your url be &#8220;change-default-printer-linux-firefox&#8221;.  The difference is the keyword &#8220;change&#8221; in your url vs. &#8220;changing&#8221; in your title.  By using both you will increase the odds of someone finding your content.</p><p>Also, make sure to separate the keywords in the url with dashes.  WordPress already does this by default, but you may want to pay more attention to what gets generated.</p><h4>An Overview of Page Rank</h4><p><img
class="alignright size-full wp-image-99" title="page-rank" src="http://wptheming.wpengine.netdna-cdn.com/wp-content/uploads/2009/09/page-rank.jpg" alt="page-rank" width="200" height="175" />Page rank determines how fast your site is found by Google, how often they search for new content, and how deep they look.  Matt defines page rank as &#8220;The number and importance of links pointing to you.&#8221;</p><p>Your page rank improves when other sites link to yours- especially if those sites are very relevant or popular.  A link from the New York Times, for example, will contribute more to your page rank than a link from a small time blog with just a few readers.</p><h4>How to Increase Page Rank</h4><p>Offering content people <em>want</em> to link to will help improve your page rank.  Matt offers these tips for expanding your reputation and generating quality links:</p><ol><li>Provide a useful service.</li><li>Do original research and reporting.</li><li>Give great information.</li><li>Have a creative niche.</li><li>Make lists, people love to read top ten reasons why&#8230;</li><li>Create controversy.</li><li>Social network and make friends.</li></ol><p>I won&#8217;t give examples for each of these tips, though Matt does in his presentation.  The main idea is if create content people want to read and share, they will link to you.</p><h4>Tips for Writing  Good Content</h4><p>Be interesting.  Write often.  And Katamari- which is Matt&#8217;s metaphor for starting small, finding your niche and slowly expanding.</p><h4>Keyword Possibilities</h4><p>Think about what people are likely to search for and include those terms in your content.  If you want someone to find a post about &#8220;flash drives&#8221;, also include the keywords &#8220;thumb drive&#8221; and &#8220;usb drive&#8221;.  Google offers a tool to help you find out <a
href="https://adwords.google.com/select/KeywordToolExternal">which keywords are relevant</a>.  Matt&#8217;s instructions for it are: &#8220;Think about the words you want to rank for, type those words in, and make sure those words are in your post.&#8221;</p><h4>Don&#8217;t Overdo It</h4><p>The last important rule is to not overdo it.  You don&#8217;t need to use a keyword five times in a post.  The search engine will get it after one, and definitely by the second.  The most important thing is to be relevant to your readers and write interesting content.</p> ]]></content:encoded> <wfw:commentRss>http://wptheming.com/2009/09/wordpress-seo-optimization/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
