<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Swank Web Design</title>
	
	<link>http://swankwebdesign.com</link>
	<description>Web Design and Hosting</description>
	<lastBuildDate>Mon, 06 May 2013 22:39:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Swank" /><feedburner:info uri="swank" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:emailServiceId>Swank</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>How to add Related Posts with (or without) Thumbnails to your WP Blog</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/cc9-FY91M94/</link>
		<comments>http://swankwebdesign.com/resources/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 19:29:43 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[related posts]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//?p=177</guid>
		<description><![CDATA[<p>Adding related posts to your blog is a great way to help your readers find other posts on your site that interest them. And if you have ads, increasing the number of pageviews on your blog can turn out to be quite lucrative. I recently had a request from a client to use a certain [...]</p><p>The post <a href="http://swankwebdesign.com/resources/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/">How to add Related Posts with (or without) Thumbnails to your WP Blog</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Adding related posts to your blog is a great way to help your readers find other posts on your site that interest them.  And if you have ads, increasing the number of pageviews on your blog can turn out to be quite lucrative.  I recently had a request from a client to use a certain widget that she had seen on many other blogs that adds a list of recent posts along with a thumbnail image from that post.  But after looking at the widget and researching the many other plugins that are available to add this functionality, I decided I wanted to find a way to code it directly into the template.</p>
<p>One reason for this is that the more plugins installed on a blog, the more that can slow down the loading time of that blog.  If you can hard-code a function into the template, it&#8217;s almost always preferable to using a plugin.  Plus many of the plugins or widgets I looked at gave very little control over things like styling or where the list appears in the template or even how they even figured out what was &#8220;related&#8221;.  What if you want them to be related by tag instead of category or vice versa? What if you just want other posts by the same author?</p>
<p>After doing some more googling and modifying some of the code I found I figured out how to do everything I wanted to and more.  My client was extremely pleased with the results and was amazed that I&#8217;d even been able to implement it without using a plugin or the widget she had originally wanted:</p>
<blockquote><p>&#8220;It IS cool!  A zillion people are going to see it now and want it on their WP blogs!  Thanks!&#8221;</p></blockquote>
<p>Which leads us to this post.  I thought I would share my findings so that you can implement the same feature on your own WordPress blog.  Below I will show you how to add related posts by <strong>category, tag or author</strong>. I will preface this by saying you should probably have some very basic knowledge about how to edit a template in WordPress, but for the most part, you can copy the code directly and paste it into your template.  That&#8217;s it.  For people with more advanced knowledge I&#8217;ll point out things that you can edit further and customize to your liking.</p>
<p><span id="more-177"></span></p>
<p>&nbsp;</p>
<h2>Where to add the code:</h2>
<p>To start, you should figure out where you want your related posts to show up.  Generally, you are going to want to include this on your single post page, which is the page that has the full post including comments.  In your WP admin, click on Appearance>Editor and look for the template called <strong>Single Post or single.php</strong>.  You may also want it to show up on your <strong>main page (index.php)</strong> and your <strong>archives (archive.php)</strong>.  If you do want this to show up on all three templates, generally you can just copy and paste the same code in the same spot on all of them, but some themes may have the archives or index page formatted differently.  When in doubt just put it on the single post template and that&#8217;s probably enough.</p>
<p>There will be two separate pieces of code and two different places you need to find in your template to insert them. The first is the beginning of the WP loop and the second is the spot that you want the related posts to show up.  </p>
<p>The beginning of your loop is going to look like either of these:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw1">if</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw1">while</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">:</span> the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">or</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw1">if</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>The first code snippet should be inserted <strong>directly above</strong> this line. It&#8217;s very important that it&#8217;s above because you want it to be <strong>outside</strong> of the loop.  It can create some very weird behavior otherwise, which I found out in the trial and error of testing all of this.</p>
<p>The other code snippet will be inserted <strong>inside</strong> the loop in the place where you want the related posts to appear on your page. If you&#8217;re not sure where it should go generally you are going to want it at the bottom of the post either after the post ends or after the comment link (assuming that&#8217;s at the bottom of your post).  Look in your template for something that looks like this and insert the code somewhere underneath.  You can always move it around until it appears in the place you want it to.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> the_content<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> comments_popup_link<span class="br0">&#40;</span><span class="st0">&#39;No Comments &amp;#187;&#39;</span><span class="sy0">,</span> <span class="st0">&#39;1 Comment &amp;#187;&#39;</span><span class="sy0">,</span> <span class="st0">&#39;% Comments &amp;#187;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>&nbsp;</p>
<h2>Adding Thumbnails:</h2>
<p>If you want to display thumbnails, you will have to go one step further and add a thumbnail image custom field to your posts.  If you want, you can just start doing this on your most recent post, but you may want to go back through previous posts and add thumbnails to them as well (at least the last 5 posts or however many you want to display).  Until you have a bunch of posts with thumbnails assigned, it won&#8217;t have too much to choose from when displaying the related post list.</p>
<p><img src="http://swankwebdesign.com//wp-content/uploads/2009/07/custom-field.jpg" alt="custom-field" title="custom-field" width="500" height="132" class="aligncenter size-full wp-image-200" /></p>
<p>Adding a custom field is simple.  If you haven&#8217;t already, upload your photo in WordPress.  If you&#8217;ve already uploaded the image you want to use, open the uploader and choose the image you want from the gallery. The WP uploader will have created different sizes for you.  By Alignment, choose <strong>Left</strong> and by Size, choose <strong>Thumbnail</strong> and click the &#8216;Insert into Post&#8217; button.  Copy the entire code snippet and scroll down the post page to the box that says <strong>Custom Fields</strong>.  Under &#8220;Add new custom field&#8221; click on the &#8220;Enter New&#8221; link. Under &#8220;Name&#8221; type: <strong>thumbnail</strong>.  Paste your image code into the large box under &#8220;Value&#8221;.  Click on the button that says &#8220;Add Custom Field&#8221;.  That&#8217;s it.  Finish and publish your post like normal.</p>
<p>&nbsp;</p>
<h2>See it in Action:</h2>
<p>Below is the code you need to implement these functions on your blog.  Copy it into your template and you&#8217;ll have a simple unordered list <em>without</em> thumbnails.  Read the <strong>further customization</strong> section for what you need to change to make it display thumbnails and other customizations like changing the number of posts or what order they appear in.</p>
<p>But before you see the code (which I realize may just look like a bunch of gibberish to some people), here are some examples of it in action:</p>
<p><strong>Related by Category, with thumbnails:</strong></p>
<ul>
<li><a href="http://suzannemcminn.com/blog/2009/07/19/coconut-oatmeal-rum-pie-with-walnuts/">Chickens in the Road</a></li>
<li><a href="http://backtothecuttingboard.com/2009/06/17/molten-chocolate-cakes/">Back to the Cutting Board</a></li>
</ul>
<p><strong>Related by Tag:</strong> Look at the bottom of <a href="http://http://swankwebdesign.com//2009/07/20/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/">this very post</a> (or any of the posts on this blog) to see the related post list using this function.</p>
<p>&nbsp;</p>
<h3><strong>Skip Directly to the section you want:</strong></h3>
<ul>
<li><a href="#cat">Related Posts by Category</a></li>
<li><a href="#tag">Related Posts by Tag</a></li>
<li><a href="#author">Related Posts by Author</a></li>
</ul>
<p>&nbsp;</p>
<p><a name="cat"></a></p>
<h2>Related Posts by Category</h2>
<p><em>Via <a href="http://www.darrenhoyt.com/2008/06/11/displaying-related-category-and-author-content-in-wordpress/">DarrenHoyt.com</a></em></p>
<p><strong>This code searches other posts in the same category and returns the title of 5 random posts in list form.</strong></p>
<p>Insert this <strong>above</strong> your loop:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//Gets category info</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">global</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$cats</span> <span class="sy0">=</span> get_the_category<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tempQuery</span> <span class="sy0">=</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$currentId</span> <span class="sy0">=</span> <span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//related category posts</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$catlist</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">forEach</span><span class="br0">&#40;</span> <span class="re1">$cats</span> <span class="kw1">as</span> <span class="re1">$c</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$catlist</span> <span class="sy0">!=</span> <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="re1">$catlist</span> <span class="sy0">.=</span> <span class="st0">&quot;,&quot;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$catlist</span> <span class="sy0">.=</span> <span class="re1">$c</span><span class="sy0">-&gt;</span><span class="me1">cat_ID</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$newQuery</span> <span class="sy0">=</span> <span class="st0">&quot;posts_per_page=6&amp;orderby=rand&amp;cat=&quot;</span> <span class="sy0">.</span> <span class="re1">$catlist</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">query_posts<span class="br0">&#40;</span> <span class="re1">$newQuery</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$categoryPosts</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$count</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">while</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$count</span><span class="sy0">&lt;</span><span class="nu0">5</span> <span class="sy0">&amp;&amp;</span> <span class="re1">$currentId</span><span class="sy0">!=</span><span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$count</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$categoryPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$wp_query</span> <span class="sy0">=</span> <span class="re1">$tempQuery</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>Insert this in the spot that you want the list to show up:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>h3<span class="sy0">&gt;</span>Related Posts<span class="sy0">&lt;/</span>h3<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>ul<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re1">$categoryPosts</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<h2>Further Customization</h2>
<h3><strong>Change the number of posts that show up:</strong></h3>
<p>1.  On <strong>Line 14</strong> of the first snippet, change the number &#8217;6&#8242; to the number of posts you want <strong>plus one</strong>.  So if you want 10 posts, put in 11.</p>
<p>2.  On<strong> Line 21</strong> change the number &#8217;5&#8242; to the number of posts you want to show.</p>
<h3><strong>Change the order of posts that show up:</strong></h3>
<p>1.  On <strong>Line 14</strong> change <strong>orderby=rand</strong> to any of the following:</p>
<ul>
<li>orderby=author</li>
<li>orderby=date</li>
<li>orderby=title</li>
<li>orderby=modified</li>
<li>orderby=ID</li>
</ul>
<h3><strong>Display thumbnails, with post title underneath:</strong></h3>
<p>1.  Change <strong>Line 14</strong> to:</p>
<div class="geshi php">
<ol start="14">
<li class="li1">
<div class="de1"><span class="re1">$newQuery</span> <span class="sy0">=</span> <span class="st0">&quot;posts_per_page=6&amp;meta_key=thumbnail&amp;orderby=rand&amp;cat=&quot;</span> <span class="sy0">.</span> <span class="re1">$catlist</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p><em>This tells it to only search for posts with a thumbnails.  If all your posts have thumbnails, then you can skip this step.</em></p>
<p>2.  Change <strong>Line 23</strong> to:</p>
<div class="geshi php">
<ol start="23">
<li class="li1">
<div class="de1"><span class="re1">$categoryPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> get_post_meta<span class="br0">&#40;</span> <span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">,</span> <span class="st0">&quot;thumbnail&quot;</span><span class="sy0">,</span> <span class="re1">$single</span> <span class="sy0">=</span> <span class="kw2">true</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p><em>This is the formatting.  Both the thumbnail and the post title below it link to the post&#8217;s permalink.</em></p>
<p>3.  You may also want to style your thumbnails (add a border, spacing between them, etc.). The <strong>alignleft</strong> class should already be in your stylesheet if you have any kind of standard WP theme, but if you don&#8217;t see it listed, add this to the end of style.css for some basic styling:</p>
<div class="geshi no css">
<ol>
<li class="li1">
<div class="de1">img<span class="re1">.alignleft</span> <span class="br0">&#123;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">img<span class="re1">.size-thumbnail</span> <span class="br0">&#123;</span> <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">10px</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>&nbsp;</p>
<p><a name="tag"></a></p>
<h2>Related Posts by Tag</h2>
<p><em>I combined code from <a href="http://www.darrenhoyt.com/2008/06/11/displaying-related-category-and-author-content-in-wordpress/">DarrenHoyt.com</a> and <a href="http://www.techieblues.com/wordpress/show-related-posts-in-wordpress-without-any-plugins/">Techie Blues</a> for this function.</em></p>
<p><strong>This code searches other posts with the same tags and returns the title of 5 random posts in list form.</strong></p>
<p>Insert this <strong>above</strong> your loop:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">global</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tags</span> <span class="sy0">=</span> wp_get_post_tags<span class="br0">&#40;</span><span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tempQuery</span> <span class="sy0">=</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$tags</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tag_ids</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$tags</span> <span class="kw1">as</span> <span class="re1">$individual_tag</span><span class="br0">&#41;</span> <span class="re1">$tag_ids</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$individual_tag</span><span class="sy0">-&gt;</span><span class="me1">term_id</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$newQuery</span><span class="sy0">=</span><span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&#39;tag__in&#39;</span> <span class="sy0">=&gt;</span> <span class="re1">$tag_ids</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&#39;post__not_in&#39;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&#39;showposts&#39;</span><span class="sy0">=&gt;</span><span class="nu0">5</span><span class="sy0">,</span> <span class="co1">// Number of related posts that will be shown.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&#39;orderby&#39;</span><span class="sy0">=&gt;</span>rand<span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&#39;caller_get_posts&#39;</span><span class="sy0">=&gt;</span><span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">query_posts<span class="br0">&#40;</span> <span class="re1">$newQuery</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tagPosts</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">while</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tagPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$wp_query</span> <span class="sy0">=</span> <span class="re1">$tempQuery</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>Insert this in the spot that you want the list to show up:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>h3<span class="sy0">&gt;</span>Related Posts<span class="sy0">&lt;/</span>h3<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>ul<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re1">$tagPosts</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<h2>Further Customization</h2>
<h3><strong>Change the number of posts that show up:</strong></h3>
<p>1.  On <strong>Line 13</strong> from the first snippet, change the number &#8217;5&#8242; to the number of posts you want to show.</p>
<h3><strong>Change the order of posts that show up:</strong></h3>
<p>1.  On <strong>Line 14</strong> change  <strong>&#8216;orderby&#8217;=>rand,</strong> to any of the following:</p>
<ul>
<li>&#8216;orderby&#8217;=>author,</li>
<li>&#8216;orderby&#8217;=>date,</li>
<li>&#8216;orderby&#8217;=>title,</li>
<li>&#8216;orderby&#8217;=>modified,</li>
<li>&#8216;orderby&#8217;=>ID,</li>
</ul>
<h3><strong>Display thumbnails, with post title underneath:</strong></h3>
<p>1.  Under <strong>Line 13</strong> add:</p>
<div class="geshi php">
<ol start="14">
<li class="li1">
<div class="de1"><span class="st0">&#39;meta_key&#39;</span><span class="sy0">=&gt;</span>thumbnail<span class="sy0">,</span></div>
</li>
</ol>
</div>
<p><em>This tells it to only search for posts with a thumbnails.  If all your posts have thumbnails, then you can skip this step.</em></p>
<p>2.  Change <strong>Line 22</strong> to:</p>
<div class="geshi php">
<ol start="22">
<li class="li1">
<div class="de1"><span class="re1">$tagPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> get_post_meta<span class="br0">&#40;</span> <span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">,</span> <span class="st0">&quot;thumbnail&quot;</span><span class="sy0">,</span> <span class="re1">$single</span> <span class="sy0">=</span> <span class="kw2">true</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p><em>This is the formatting.  Both the thumbnail and the post title below it link to the post&#8217;s permalink.</em></p>
<p>3.  You may also want to style your thumbnails (add a border, spacing between them, etc.). The <strong>alignleft</strong> class should already be in your stylesheet if you have any kind of standard WP theme, but if you don&#8217;t see it listed, add this to the end of style.css for some basic styling:</p>
<div class="geshi no css">
<ol>
<li class="li1">
<div class="de1">img<span class="re1">.alignleft</span> <span class="br0">&#123;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">img<span class="re1">.size-thumbnail</span> <span class="br0">&#123;</span> <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">10px</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>&nbsp;</p>
<p><a name="author"></a></p>
<h2>Related Posts by Author</h2>
<p><em>Via <a href="http://www.darrenhoyt.com/2008/06/11/displaying-related-category-and-author-content-in-wordpress/">DarrenHoyt.com</a></em></p>
<p><strong>This code searches other posts by the same author and returns the title of 5 random posts in list form.</strong></p>
<p>Insert this <strong>above</strong> your loop:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//Gets author info</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">global</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$postAuthor</span> <span class="sy0">=</span> <span class="re1">$wp_query</span><span class="sy0">-&gt;</span><span class="me1">post</span><span class="sy0">-&gt;</span><span class="me1">post_author</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$tempQuery</span> <span class="sy0">=</span> <span class="re1">$wp_query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$currentId</span> <span class="sy0">=</span> <span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//related author posts</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$newQuery</span> <span class="sy0">=</span> <span class="st0">&quot;posts_per_page=6&amp;orderby=rand&amp;author=&quot;</span> <span class="sy0">.</span> <span class="re1">$authorPosts</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">query_posts<span class="br0">&#40;</span> <span class="re1">$newQuery</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$authorPosts</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$count</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">while</span> <span class="br0">&#40;</span>have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$count</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$count</span><span class="sy0">&lt;</span><span class="nu0">5</span> <span class="sy0">&amp;&amp;</span> <span class="re1">$currentId</span><span class="sy0">!=</span><span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$count</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$authorPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$wp_query</span> <span class="sy0">=</span> <span class="re1">$tempQuery</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>Insert this in the spot that you want the list to show up:</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>h3<span class="sy0">&gt;</span>More Posts by this Author<span class="sy0">&lt;/</span>h3<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>ul<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re1">$authorPosts</span><span class="sy0">;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<h2>Further Customization</strong></h2>
<h3><strong>Change the number of posts that show up:</strong></h3>
<p>1.  On <strong>Line 9</strong> of the first snippet, change the number &#8217;6&#8242; to the number of posts you want <strong>plus one</strong>.  So if you want 10 posts, put in 11.</p>
<p>2.  On<strong> Line 17</strong> change the number &#8217;5&#8242; to the number of posts you want to show.</p>
<h3><strong>Change the order of posts that show up:</strong></h3>
<p>1.  On <strong>Line 9</strong> change to <strong>orderby=rand</strong> to any of the following:</p>
<ul>
<li>orderby=date</li>
<li>orderby=title</li>
<li>orderby=modified</li>
<li>orderby=ID</li>
</ul>
<h3><strong>Display thumbnails, with post title underneath:</strong></h3>
<p>1.  Change <strong>Line 9</strong> to:</p>
<div class="geshi php">
<ol start="9">
<li class="li1">
<div class="de1"><span class="re1">$newQuery</span> <span class="sy0">=</span> <span class="st0">&quot;posts_per_page=5&amp;meta_key=thumbnail&amp;orderby=rand&amp;author=&quot;</span> <span class="sy0">.</span> <span class="re1">$authorPosts</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p><em>This tells it to only search for posts with a thumbnails.  If all your posts have thumbnails, then you can skip this step.</em></p>
<p>2.  Change <strong>Line 19</strong> to:</p>
<div class="geshi php">
<ol start="19">
<li class="li1">
<div class="de1"><span class="re1">$authorPosts</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt;li&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> get_post_meta<span class="br0">&#40;</span> <span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">,</span> <span class="st0">&quot;thumbnail&quot;</span><span class="sy0">,</span> <span class="re1">$single</span> <span class="sy0">=</span> <span class="kw2">true</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> get_permalink<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> the_title<span class="br0">&#40;</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="kw2">false</span> <span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p><em>This is the formatting.  Both the thumbnail and the post title below it link to the post&#8217;s permalink.</em></p>
<p>3.  You may also want to style your thumbnails (add a border, spacing between them, etc.). The <strong>alignleft</strong> class should already be in your stylesheet if you have any kind of standard WP theme, but if you don&#8217;t see it listed, add this to the end of style.css for some basic styling:</p>
<div class="geshi no css">
<div class="head">img.alignleft { float: left; }</div>
<ol>
<li class="li1">
<div class="de1">img<span class="re1">.size-thumbnail</span> <span class="br0">&#123;</span> <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">10px</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>The post <a href="http://swankwebdesign.com/resources/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/">How to add Related Posts with (or without) Thumbnails to your WP Blog</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=cc9-FY91M94:bIkyG2SyMxY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=cc9-FY91M94:bIkyG2SyMxY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=cc9-FY91M94:bIkyG2SyMxY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=cc9-FY91M94:bIkyG2SyMxY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/cc9-FY91M94" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/how-to-add-related-posts-with-or-without-thumbnails-to-your-wp-blog/</feedburner:origLink></item>
		<item>
		<title>Web 101: Fixed a hacked site and prevent it from happening again – Part 2</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/r3E7IAze_DU/</link>
		<comments>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 20:27:54 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Web 101]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//?p=71</guid>
		<description><![CDATA[<p>In my previous post I talked about what to do to fix a hacked site. This post is about things you can do to make WordPress more secure so that something like that doesn&#8217;t happen again (or ever). The basic things were mentioned in the last post: change your passwords regularly, use strong passwords and [...]</p><p>The post <a href="http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/">Web 101: Fixed a hacked site and prevent it from happening again &#8211; Part 2</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://swankwebdesign.com//2008/09/09/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/">In my previous post</a> I talked about what to do to fix a hacked site.  This post is about things you can do to make WordPress more secure so that something like that doesn&#8217;t happen again (or ever).  The basic things were mentioned in the last post: change your passwords regularly, use strong passwords and always have the most current version of WP.  But here are some other things you can do:</p>
<p><span id="more-1214"></span></p>
<p><strong>DON&#8217;T FORGET ABOUT YOUR PLUGINS!</strong> Security vulnerabilities can be just as much of an issue with plugins so they need to be updated, too.  The newest version of WP makes this easier than ever.  It tells you when you have a plugin that needs updating (a bubble pops up on the plugins link like it does for new comments) and all you have to do is press on &#8220;upgrade automatically&#8221;.  On many servers, you don&#8217;t need to do anything it will upload and install the plugin in seconds.  If your server isn&#8217;t set up that way, then you just need to put in your ftp host (in most cases, ftp.yourdomain.com), username and password.  Your host would have sent all this info to you, so you should have it.  If you don&#8217;t then get it, this is really important information to have.</p>
<p><strong>ADD SECRET KEYS TO YOUR WP-CONFIG.PHP</strong>.  As of WP 2.5 and then later in 2.6, they introduced the addition of several keys that can be added to increase security for your blog.  Open up wp-config.php and find this line:</p>
<blockquote><p>define(&#8216;DB_HOST&#8217;, &#8216;localhost&#8217;);    // 99% chance you won&#8217;t need to change this value</p></blockquote>
<p>Under it add these:</p>
<blockquote><p>define(&#8216;SECRET_KEY&#8217;, &#8216;PuT-in-A-bunCh-of-ranDom-leTTers,NumBers-and-syMbolS&#8217;);</p>
<p>define(&#8216;AUTH_KEY&#8217;, &#8216;PuT-in-A-bunCh-of-ranDom-leTTers,NumBers-and-syMbolS&#8217;);</p>
<p>define(&#8216;SECURE_AUTH_KEY&#8217;, &#8216;PuT-in-A-bunCh-of-ranDom-leTTers,NumBers-and-syMbolS&#8217;);</p>
<p>define(&#8216;LOGGED_IN_KEY&#8217;, &#8216;PuT-in-A-bunCh-of-ranDom-leTTers,NumBers-and-syMbolS&#8217;);</p></blockquote>
<p>You need to put a different random string of characters in each line.  You will <strong>never</strong> have to remember these, so make them as long and as random as possible.  <a href="http://api.wordpress.org/secret-key/1.0/">This handy site</a> will generate a random string for your every time you refresh the page.</p>
<p><strong>EDIT UNSECURE TEMPLATE TAGS</strong>.</p>
<p>In search.php or searchform.php find this:</p>
<blockquote><p><code>&lt;?php echo $_SERVER ['PHP_SELF']; ?&gt;</code></p></blockquote>
<p>And replace it with this:</p>
<blockquote><p><code>&lt;?php bloginfo ('home'); ?&gt;</code></p></blockquote>
<p>That makes it so it can only search your blog and not your entire server.</p>
<p>Also check search.php, searchform.php or header.php for this:</p>
<blockquote><p><code>&lt;?php echo $s; ?&gt;</code></p></blockquote>
<p>This allows malicious code injection so replace it with this:</p>
<blockquote><p><code>&lt;?php echo wp_specialchars($s, 1); ?&gt;</code></p></blockquote>
<p><strong>MAKE IT IMPOSSIBLE FOR SEARCH ENGINES TO INDEX WORDPRESS FILES</strong>.  It&#8217;s not a good idea to let search engines like google index every single part of your site, specifically your WordPress files.  Say that a vulnerability is discovered in one of the files in the wp-admin folder.  A hacker could just google that file name and the first site at the top of the list is the one he&#8217;s going to hack today.  To prevent this simply open up notepad or an HTML/text editor and add this:</p>
<blockquote><p>User-agent: *<br />
Disallow: /*/feed/<br />
Disallow: /*/feed/rss/<br />
Disallow: /*/trackback/<br />
Disallow: /wp-<br />
Disallow: /feed/<br />
Disallow: /trackback/<br />
Disallow: /tag/</p></blockquote>
<p>Name it <strong>robots.txt</strong> and upload the file to your WordPress directory (same place where you should find wp-config.php and .htaccess).  This not only disallows search engines from indexing private WP files, but also prevents them from indexing redundant files (which search engines can read as trying to spam them).</p>
<p><strong>DON&#8217;T ADVERTISE WHAT VERSION YOU ARE RUNNING</strong>.  If all your blog pages say &#8220;Powered by WordPress 2.5&#8243; (when the current version is 2.6.2), then you are just asking to be hacked.  Take that version out of your template.  In most cases this is going to either be in the sidebar.php or footer.php files.  Look for either of these template tags and delete them:</p>
<blockquote><p><code>&lt;?php get_bloginfo('version'); ?&gt;</code><br />
<code>&lt;?php bloginfo('version'); ?&gt;</code></p></blockquote>
<p>Also, check header.php, look for this line and delete it:</p>
<blockquote><p><code>&lt;meta name="generator" content="WordPress 2.5" /&gt;</code></p></blockquote>
<p>Unfortunately, in 2.5+ WordPress has started inserting this automatically.  This is bad because hackers only need to put that line into a search engine to find people using old versions of WP. If you have your robots.txt in place then this is not a major issue, because your template won&#8217;t be showing up.  But if you are still uncomfortable with having your version so public (they only need to view the page source to see it), then open up notepad or an HTML/text editor and paste this in:</p>
<blockquote><p><code>&lt;?php remove_action( 'wp_head', 'wp_generator' ); ?&gt;</code></p></blockquote>
<p>Save as functions.php and upload it to your theme folder.  If you have widgetized sidebars, then you probably already have a functions.php, so just edit the file and insert that code in there.</p>
<p>*Hat tip to <a href="http://www.binarymoon.co.uk/2008/04/how-to-stop-your-wordpress-blog-from-being-hacked-or-banned-by-technorati/">Binary Moon</a> for this.</p>
<p><strong>MAKE SURE YOUR DATABASE PASSWORD IS NOT THE SAME AS ANY OTHERS</strong>.  Your wp-config.php is a very easy file to find.  It has your database password sitting right inside it.  You absolutely must make sure that your database password is completely different from your WordPress password and your FTP/cpanel password.  If you are using the same password for all, a hacker can easily find this file and get in everywhere. If it is the same, then it will probably be simpler for you to change your WP and FTP passwords.  But changing your database password isn&#8217;t too hard through cpanel (click on MySQL and add a new user and password, then assign that user to your WP database, then go and update your wp-config.php file with the new user info).</p>
<p><strong>DON&#8217;T USE THE DEFAULT SETTINGS</strong>.  Most of the time, when you install WordPress it automatically gives you the username &#8216;admin&#8217;.  Hackers know this, so it can be unsafe because then all they have to do to get in is guess the password.  Go to Users and add a new username for yourself.  For the role, choose Administrator.  Once you&#8217;ve added your new username, log out and log in as the new user.  It&#8217;s better to have your nickname (what is displayed publicly on your blog) be different from your username, so you might want to edit your new user profile to change that.  Then check the box next to the admin username and delete it.  It will ask if you want to attribute all of admin&#8217;s posts to someone else, choose your new username.  This will transfer all your posts over to the new username.</p>
<p><strong>CHANGE THE DATABASE PREFIX.</strong> This is really a recommendation for when you are setting up a new installation of WordPress.  It&#8217;s not recommended for already installed blogs, especially for beginners as you can severely mess up your blog.  But if you are setting up a new WP blog, it&#8217;s a simple thing you can do to help increase security.  In the wp-config file, just look for the line that says:</p>
<blockquote><p>// You can have multiple installations in one database if you give each a unique prefix<br />
$table_prefix  = &#8216;wp_&#8217;;   // Only numbers, letters, and underscores please!</p></blockquote>
<p>wp_ is the default prefix and hackers know this, so this is just another case of changing the default WP options.  Change it to anything you want, though you&#8217;ll probably want to keep it short and random like kb_, cc_, ibc_, aba_, etc.</p>
<p>The plugin I mentioned in my previous post, <a href="http://semperfiwebdesign.com/plugins/wp-security-scan/">WP Security Scan</a>, will actually change the prefix for an already installed blog, but proceed with caution and make sure to backup your database before you try it.</p>
<p><strong>Here are some other plugins I know of that can help make your blog more secure:</strong></p>
<p><a href="http://wordpress.org/extend/plugins/askapache-password-protect/">AskApache Password Protect</a> &#8211; The author describes this plugins as creating a virtual wall around your blog to stop attackers from exploiting any kind of vulnerabilities.  Has some server requirements, though, so make sure you have those before installing.</p>
<p><a href="http://www.bad-neighborhood.com/login-lockdown.html">Login Lockdown</a> &#8211; Records the IP of every failed login attempt of your blog, the IP gets locked out after a certain number of failed attempts.  You can set this number and how long they get locked out, but the default is 3 failed attempts locks them out for an hour.</p>
<p><a href="http://wordpress.org/extend/plugins/stealth-login/">Stealth Login</a> &#8211; You can customize the login and registration URLs of your blog.  Just another example of changing the default options, making it harder for hackers to get in.</p>
<p><a href="http://wordpress.org/extend/plugins/secure-wordpress/">Secure WordPress</a> &#8211; This plugin removes the error info on the login page (so it doesn&#8217;t say &#8220;Wrong Password&#8221; anymore when you try to log in), removes the WP version from your theme and adds an index file to your plugin directory, so it can&#8217;t be accessed directly.</p>
<p>The post <a href="http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/">Web 101: Fixed a hacked site and prevent it from happening again &#8211; Part 2</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=r3E7IAze_DU:cWdABmvK9GA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=r3E7IAze_DU:cWdABmvK9GA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=r3E7IAze_DU:cWdABmvK9GA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=r3E7IAze_DU:cWdABmvK9GA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/r3E7IAze_DU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/</feedburner:origLink></item>
		<item>
		<title>Web 101: Fixed a hacked site and prevent it from happening again – Part 1</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/GqjtDB74QyI/</link>
		<comments>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 14:35:55 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Web 101]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//?p=58</guid>
		<description><![CDATA[<p>A client and Swank hostee emailed me a few days ago because her browser had notified her that her blog had been marked as suspicious by Google and she didn&#8217;t know how or why that had happened.  Further checking revealed that google had found malicious software being downloaded and installed without user consent.  Her site [...]</p><p>The post <a href="http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/">Web 101: Fixed a hacked site and prevent it from happening again &#8211; Part 1</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>A client and Swank hostee emailed me a few days ago because her browser had notified her that her blog had been marked as suspicious by Google and she didn&#8217;t know how or why that had happened.  Further checking revealed that google had found malicious software being downloaded and installed without user consent.  Her site had been hacked and the hacker had added malicious code to her blog template.</p>
<p>Unfortunately, this can happen to anyone and there are a myriad of ways that a hacker can get into your site.  I believe in this instance that the hacker was able to guess her password, which was a very simple name.  So what is one to do if your site is hacked?  My client had no clue and I know that not everyone has a trusted designer or tech support that they can email with problems such as these (plus speed is key, so waiting around for help can be frustrating), so I thought I&#8217;d write up a checklist of things you should do to remove malicious code from your hacked site and prevent it from happening again (or ever if it hasn&#8217;t happened yet).  I&#8217;m specifically going to be using WordPress blogs as an example since almost my entire clientele uses WordPress, but most of these things can be applied to all content management systems.</p>
<p><span id="more-1213"></span></p>
<p><strong>CHANGE YOUR PASSWORDS.</strong> First things first when you discover your site has been hacked is to change your passwords FOR EVERYTHING.  You&#8217;ll absolutely want to change your blog password and your FTP/control panel passwords (if they aren&#8217;t the same).  But if you use the same or similar password for your email or anywhere else, you are going to want to change them as well.  Even if you&#8217;ve never been hacked, it&#8217;s good practice to change your passwords regularly, at the very least yearly.  Make your passwords as secure as possible and try not to use the same password for everything:</p>
<ul>
<li>Use a combination of letters and numbers as well as lowercase and uppercase and possibly even some symbols</li>
<li>Try not to use recognizable names or dates/numbers</li>
<li>6-8 characters is a good length (though the longer the better)</li>
</ul>
<p>Here&#8217;s a password trick I learned a while back that has been invaluable to me.  It&#8217;s a way to make every password for every site you visit different, but also something that you can remember.  First think of a good base using the rules I mentioned above, like: <strong>Xd5ye8*K</strong></p>
<p>It may be hard to remember at first, but you are going to be typing it over and over so you should have no problem memorizing it eventually.  Next, you&#8217;re going to add an identifier of the site your password is for, so you need to come up with a system.  Examples of this could be the first four letters of the site name or the first two and last two.  It doesn&#8217;t really matter how you want to do it, just come up with a rule that can be applied to all sites.  Once you&#8217;ve done that add the letters to front or back of the base password you already came up with.</p>
<p>So for flickr, you password would be: flicXd5ye8*K.  For gmail it would be gmaiXd5ye8*K. For facebook faceXd5ye8*K, and so on.</p>
<p><strong>DELETE/CHANGE YOUR USERS&#8217; PASSWORDS.</strong> The hacker could have registered themselves as a user on you blog so that they could get in again.  Or they could have changed the password for one of your users so they could log in under that username.  Click on Users in your WP admin and look over the list of registered users.  If you have too many users and don&#8217;t want to have to change them all, you might consider deleting them all (except for yourself, of course).  People can always re-register.</p>
<p>Look for users with suspicious or spammy looking emails and delete them.  Many of my blogs have been getting a lot of registration spam lately.  Delete these users immediately, specifically if any of the users have an email address like xzy@mail.ru or anything else that looks random or generic.</p>
<p>If you don&#8217;t have a lot of users, then if may just be better in the long run to turn that option off altogether.  Go to Settings and under Membership, un-check the box next to &#8220;Anyone can register&#8221;.</p>
<p><strong>SEARCH YOUR THEME FILES</strong>.  Next you&#8217;ll need to find whatever the hacker added and take it out.  The first place to look, especially if you are a WordPress user, is your template.  In your WP admin, click on Design and then Theme Editor.  A list of all your theme files will be down the right side.  The main ones you want to check are header.php, sidebar.php, footer.php and index.php, but you will want to check every single file listed for anything suspicious.</p>
<p>So what is suspicious code?  Look for anything that looks like a bunch of garbled text/code, or maybe a bunch of links to spammy-looking sites.  <strong>Specifically look for anything that uses the <code>eval()</code> command, <code>base64_decode()</code>, k1b0rg or keymachine.de and delete these lines of code.</strong> (You may want to back up your theme files before doing this in case you accidentally remove something important.)</p>
<p><strong>UPGRADE/REPLACE YOUR WORDPRESS FILES</strong>.  If you don&#8217;t have the most recent version of WordPress, upgrade immediately.  <a href="http://swankwebdesign.com//2007/06/21/upgrading-wordpress/">Here&#8217;s a tutorial I wrote if you need help.</a> Even if you are current, you should replace all your files with a fresh install in case the hacker modified any of the files or added any new files to your WP folders.  This means completely removing your wp-admin and wp-includes folders and all of the wp-something.php files that are in the main WP directory.  <strong>DO NOT remove wp-config.php or the wp-content folder.</strong> Everything else is replaceable, though.</p>
<p><strong>CHECK FOR SUSPICIOUS FILES IN (AND AROUND) YOUR WORDPRESS DIRECTORY</strong>.  You can access this via FTP or through your control panel file manager.  First look at your .htaccess file, which is in the main WP directory (or root as it&#8217;s called).  If you have nice permalinks (links to posts look like http://yoursite.com/2008/09/08/post-title/) it should look like this:</p>
<blockquote><p><code># BEGIN WordPress<br />
<ifmodule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</ifmodule><br />
# END WordPress</code></p></blockquote>
<p>There probably won&#8217;t be much else in there unless you&#8217;ve specifically added something.  Though some plugins like WP-Super Cache or feed/site redirecting plugins do add things to this file, so just be careful about if you delete anything from this (again make sure you have a backup).</p>
<p>Since you didn&#8217;t delete your wp-content folder, you will need to check this for suspicious files as well.  The main place to look will be your <strong>uploads folder</strong>, where the pictures you upload to your blog are stored.  For most WP blogs this is in wp-content>uploads though some older blogs may not have the uploads folder.  They might also be separated into year and month folders.  Look through all the files and make sure they are the right file extensions.  Picture file extensions are .jpg, .gif, .png and bmp.  Delete anything that isn&#8217;t one of these extensions unless you uploaded it yourself.  Nothing with a .php file extension should be in your uploads folder.  Those kinds of files are most certainly bad.  Besides looking for weird file extensions, look for files that have strange/random names that you know you did not upload.  If you see a folder called js_cache with a file in it starting with tinymce_, that is supposed to be there, so don&#8217;t delete that.</p>
<p>After checking your uploads folder go through and also check your plugins and themes folders for the same kind of files.  Make sure to check the images folder in your themes.  You may want to reinstall all your plugins as well to make sure none of them had been modified either. (I&#8217;ve never seen that happen, but you never know).  I have seen and heard of files being added the cache folder if you have WP Super Cache or the image-headlines folder if you using that plugin (or ones like it), so those are definitely ones to delete and reinstall if you have them.  Also, be sure to check any and all other folders and files in your root directory for anything suspicious that you know you did not put there.</p>
<p>Checking all these things may sound tedious, but if you know the exact day the hack happened, you can look for things that were added/modified on that day.</p>
<p><strong>CHECK AGAIN.</strong> So you went through all your files and you think you got everything bad removed, but how can you be sure?  That&#8217;s where these handy plugins come in:</p>
<p><a href="http://ocaoimh.ie/exploit-scanner/">WordPress Exploit Scanner</a> &#8211; This will scan your files and your database for suspicious activity.</p>
<p><a href="http://semperfiwebdesign.com/plugins/wp-security-scan/">WP Security Scan</a> &#8211; This will scan your site and show you any vulnerabilities you have.  This is for more advanced users, as it doesn&#8217;t always tell you how to fix these vulnerabilities (it assumes you already know).  I&#8217;ll talk more in my next post about some of the simpler things that you can do to make your site more secure.</p>
<p>Also <a href="http://ocaoimh.ie/2008/06/08/did-your-wordpress-site-get-hacked/">check out this article</a> which goes into a bit more depth about some of the specific hacks that can happen to WordPress users and some fixes for them. (There&#8217;s some good tips in the comments as well.)</p>
<p><strong>NOTIFY GOOGLE THAT YOUR SITE IS SAFE.</strong> Now that you&#8217;ve gotten everything removed and your site is safe again, how do you get google to remove that warning?  When I visited my client&#8217;s hacked site in Firefox 3, it wouldn&#8217;t let me view it.  It gave me a big red screen saying the site was dangerous.  Unfortunately, this doesn&#8217;t automatically go away once you remove the malicious files.  You need to notify google to re-scan your site and verify that it is safe again.  You can do this by putting in your URL here: <a href="http://www.google.com/safebrowsing/report_error/?tpl=mozilla">http://www.google.com/safebrowsing/report_error/?tpl=mozilla</a></p>
<p>You can also request a review using <a href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a>.  You have to register and verify your site first, so it&#8217;s a little more involved, but I think you may get faster results if you go through the effort.  <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=45432&#038;topic=15265">Here&#8217;s some more info about that straight from Google.</a></p>
<p>In my next post I will talk about some of the things you can do to keep your site secure and prevent it from being hacked.</p>
<p><a href="http://swankwebdesign.com//2008/09/16/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-2/">Go to Part 2.</a></p>
<p>The post <a href="http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/">Web 101: Fixed a hacked site and prevent it from happening again &#8211; Part 1</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=GqjtDB74QyI:VkvWVkjsDBU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=GqjtDB74QyI:VkvWVkjsDBU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=GqjtDB74QyI:VkvWVkjsDBU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=GqjtDB74QyI:VkvWVkjsDBU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/GqjtDB74QyI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/web-101-fixed-a-hacked-site-and-prevent-it-from-happening-again-part-1/</feedburner:origLink></item>
		<item>
		<title>Adding ShareThis plugin to Advanced Typepad Templates</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/CpEb_5P-zd0/</link>
		<comments>http://swankwebdesign.com/resources/adding-sharethis-plugin-to-advanced-typepad-templates/#comments</comments>
		<pubDate>Tue, 06 May 2008 16:01:43 +0000</pubDate>
		<dc:creator>Leslie</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[sharethis]]></category>
		<category><![CDATA[social bookmarking]]></category>
		<category><![CDATA[typepad]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//?p=32</guid>
		<description><![CDATA[<p>After looking for some answers and being very unsatisfied with the amount of information out there, I decided to share this. What you need 1. You’ll need advanced template access in Typepad. 2. A Share This script for your registered blog. 3. Some HTML knowledge. Basics The Typepad foundation uses Moveable Type tags. You’ll see [...]</p><p>The post <a href="http://swankwebdesign.com/resources/adding-sharethis-plugin-to-advanced-typepad-templates/">Adding ShareThis plugin to Advanced Typepad Templates</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>After looking for some answers and being very unsatisfied with the amount of information out there, I decided to share this.</p>
<p><strong>What you need</strong></p>
<p>1. You’ll need advanced template access in Typepad.<br />
2. A <a title="Share This" href="http://sharethis.com">Share This</a> script for your registered blog.<br />
3. Some HTML knowledge.</p>
<p><strong>Basics</strong></p>
<p>The Typepad foundation uses Moveable Type tags. You’ll see a tag called &lt; MT Entries &gt; that surrounds your posts. These tags are what list the posts on the page. There is an <!-- MT Entries--> tag to close the post area. You’ll need to use these tags to place the ShareThis script in each post.</p>
<p>If you look in your Main Index Advanced Template, you will see a tag &lt; $MTWeblogIncludeModule module=&#8221;entry-list-sticky&#8221;$ &gt;. This is where your &lt; MT Entries &gt; &#8230;&#8230;. &lt; /MT Entries &gt; tag actually lives on the front page. In other pages (Individual, Date Archive, etc) we’ll be modifying a similar, but slightly different, entry list module. So it’s not going to be as obvious about where to place the script. We’ll need to do a teeny tiny hack to get it to display at each post.</p>
<p><span id="more-1222"></span></p>
<p><strong>The Hack</strong></p>
<p>1. Log in to your Advanced Templates and choose your current design. Feel free to <a title="create a backup copy" href="http://www.typepadhacks.org/2006/04/some_general_ti.html">create a backup copy</a> of your current design and mess with that one. This has saved me several (hundred) times.</p>
<p>2. Go to the Create New Template Module. Name it something helpful and obvious. We’ll be making two new modules, one for the main index page and one for the individual entry pages. I’m naming my main page module entry-list-addthis-main.</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/picture_18.png" alt="" width="425" height="67" /></p>
<p>3. Open a new tab (or window) and copy the <a href="http://support.typepad.com/cgi-bin/typepad.cfg/php/enduser/std_adp.php?p_faqid=548&amp;p_sid=Wm*wSY2j&amp;p_lva=137&amp;p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9OSZwX3Byb2RzPSZwX2NhdHM9MTgsMjImcF9wdj0mcF9jdj0yLjIyJnBfcGFnZT0xJnBfc2VhcmNoX3RleHQ9bW9kdWxl&amp;p_li=#">Featured Post</a> code.</p>
<p>4. Paste your code in to the new entry-list-addthis-main module.</p>
<p>5. Copy your Addthis Script and place it just below the &lt; p class=&#8221;entry-footer-info&#8221; &gt;	&lt; $MTEntryPostFooter$ &gt; Tag.</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/sharethis.gif" alt="" width="480" /></p>
<p>6. Publish your template.</p>
<p>7. Open your Main Index Template and look for the original &lt; $MTWeblogIncludeModule module=&#8221;entry-list-sticky&#8221;$ &gt; and replace it with &lt; $MTInclude module=&#8221;entry-list-addthis-main&#8221;$ &gt; (be sure to put the name of your main module if you chose a different name! And there shouldn&#8217;t be any spaced in the tags.)</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/main-els.gif" alt="" width="477" height="79" /></p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/picture_16.png" alt="" width="388" height="55" /></p>
<p>8. Save and Publish your templates.</p>
<p>(As an aside&#8230;. Feel free to place &lt; p &gt; tags (no spaces) around the script if you want it on its own line like this..)</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/picture_12.png" alt="" width="461" height="69" /></p>
<p><strong>Individual Archive Pages</strong></p>
<p>Only slightly different since we&#8217;ll be using the <a title="Individual Entries" href="http://support.typepad.com/cgi-bin/typepad.cfg/php/enduser/std_adp.php?p_faqid=547&amp;p_created=1158161412&amp;p_sid=z*HR7Z2j&amp;p_lva=542&amp;p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9MTcmcF9wcm9kcz0mcF9jYXRzPTE4LDIyJnBfcHY9JnBfY3Y9Mi4yMiZwX3BhZ2U9MSZwX3NlYXJjaF90ZXh0PWluZGl2aWR1YWw*&amp;p_li=&amp;p_topview=1">Individual Entries</a> tag, you&#8217;ll create another module (I called mine entry-lists-individual. Such Genius.) Copy and Paste the code from <a href="http://support.typepad.com/cgi-bin/typepad.cfg/php/enduser/std_adp.php?p_faqid=547&amp;p_created=1158161412&amp;p_sid=z*HR7Z2j&amp;p_lva=542&amp;p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9MTcmcF9wcm9kcz0mcF9jYXRzPTE4LDIyJnBfcHY9JnBfY3Y9Mi4yMiZwX3BhZ2U9MSZwX3NlYXJjaF90ZXh0PWluZGl2aWR1YWw*&amp;p_li=&amp;p_topview=1">the individual entries tag</a> in to the template. Place your script in the same location (under the &lt; div class=&#8221;entry-footer&#8221; &gt; &lt; MTIfNonEmpty tag=&#8221;MTEntryPostFooter&#8221; &gt; &lt; p class=&#8221;entry-footer-info&#8221; &gt; tags) placing a &lt; br / &gt; between them if you&#8217;d prefer. (Click Save) Go back to your Individual Archive template and replace &lt; $MTWeblogIncludeModule module=&#8221;entry-individual&#8221;$ &gt; with &lt; $MTInclude module=&#8221;entry-list-individual&#8221;$ &gt;. (Click Save)</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/picture_14.png" alt="" width="353" height="69" /></p>
<p>Publish your posts.</p>
<p>Viola!</p>
<p><img class="centered" src="http://swankwebdesign.com//wp-content/uploads/2008/05/picture_15.png" alt="" width="310" height="60" /></p>
<p><em>(Special thanks to <a href="http://weblog.ashaland.com/ashaland/2006/06/how_to_place_go.html">Asha</a> for the module tips.)</em></p>
<p>(Created and originally posted on <a title="Mrs. Flinger" href="http://mrs.flinger.us">Mrs. Flinger</a>)</p>
<p>The post <a href="http://swankwebdesign.com/resources/adding-sharethis-plugin-to-advanced-typepad-templates/">Adding ShareThis plugin to Advanced Typepad Templates</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=CpEb_5P-zd0:x57YD6NEb5M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=CpEb_5P-zd0:x57YD6NEb5M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=CpEb_5P-zd0:x57YD6NEb5M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=CpEb_5P-zd0:x57YD6NEb5M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/CpEb_5P-zd0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/adding-sharethis-plugin-to-advanced-typepad-templates/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/adding-sharethis-plugin-to-advanced-typepad-templates/</feedburner:origLink></item>
		<item>
		<title>Web 101: Full vs Partial Feeds</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/o3VhsQH56wc/</link>
		<comments>http://swankwebdesign.com/resources/web-101-full-vs-partial-feeds/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 21:12:51 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Web 101]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Feeds]]></category>
		<category><![CDATA[full feed]]></category>
		<category><![CDATA[partial feed]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//2008/03/24/web-101-full-vs-partial-feeds/</guid>
		<description><![CDATA[<p>Over at the Blog Herald, there&#8217;s a great article on why people shouldn&#8217;t be using partial feeds. The author makes a lot of good points, essentially boiling it down to the fact that there are no benefits to using a partial feed. It doesn&#8217;t deter sploggers from stealing your content and it doesn&#8217;t bring extra [...]</p><p>The post <a href="http://swankwebdesign.com/resources/web-101-full-vs-partial-feeds/">Web 101: Full vs Partial Feeds</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Over at the <a href="http://www.blogherald.com/">Blog Herald</a>, there&#8217;s a great article on <a href="http://www.blogherald.com/2008/03/24/why-not-to-switch-to-partial-feeds/">why people shouldn&#8217;t be using partial feeds</a>.  The author makes a lot of good points, essentially boiling it down to the fact that there are no benefits to using a partial feed.  It doesn&#8217;t deter sploggers from stealing your content and it doesn&#8217;t bring extra traffic to your site; you are basically just frustrating your regular readers and alienating new ones.  Read the <a href="http://www.blogherald.com/2008/03/24/why-not-to-switch-to-partial-feeds/">full article</a> for more.</p>
<p>What I find funny is his rationalizing of why it&#8217;s okay for <em>some</em> blogs (*ahem* the one he&#8217;s writing on) to use partial feeds.  The only instance in which I think it&#8217;s okay to offer a partial feed is if you offer a full feed as well.  I have seen several blogs that offered a full feed with ads and a partial feed without ads.  I have no problem with that, it even kind of makes sense.  Although, I can&#8217;t imagine there are an overwhelming number of people that hate ads so much they would put up with the frustration of a partial feed.  But different strokes, right?  </p>
<p>You should respect your readers enough to let them choose how they want to view your site. Offering just a partial feed takes that choice away and more often than not, they won&#8217;t bother reading at all.</p>
<p>The post <a href="http://swankwebdesign.com/resources/web-101-full-vs-partial-feeds/">Web 101: Full vs Partial Feeds</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=o3VhsQH56wc:2kTXGbfvMoQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=o3VhsQH56wc:2kTXGbfvMoQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=o3VhsQH56wc:2kTXGbfvMoQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=o3VhsQH56wc:2kTXGbfvMoQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/o3VhsQH56wc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/web-101-full-vs-partial-feeds/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/web-101-full-vs-partial-feeds/</feedburner:origLink></item>
		<item>
		<title>Beginners Guide to WordPress Plugins</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/nvfsG-fdLKM/</link>
		<comments>http://swankwebdesign.com/resources/beginners-guide-to-wordpress-plugins/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 21:38:46 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://swankwebdesign.com//2008/01/14/beginners-guide-to-wordpress-plugins/</guid>
		<description><![CDATA[<p>One of the biggest advantages of using WordPress is the ability to use plugins to expand the capabilities of your blog or website. Since WordPress has such a large community of plugin developers, it means that you can make your WordPress website do pretty much anything you want it to. If you&#8217;ve ever thought about [...]</p><p>The post <a href="http://swankwebdesign.com/resources/beginners-guide-to-wordpress-plugins/">Beginners Guide to WordPress Plugins</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>One of the biggest advantages of using <a href="http://wordpress.org">WordPress</a> is the ability to use plugins to expand the capabilities of your blog or website.  Since WordPress has such a large community of plugin developers, it means that you can make your WordPress website do pretty much anything you want it to.  If you&#8217;ve ever thought about a feature that you wanted in WordPress, chances are that if you look around, you&#8217;ll find someone who has created a plugin to integrate that feature.</p>
<p>The problem is that many people don&#8217;t know how to go about installing plugin or think they are not technologically inclined enough to be able to.  But these days most of the plugins available for WordPress only require one or two steps to get working so anyone can do it.</p>
<p>If you read my other tutorial about <a href="http://swankwebdesign.com//2007/06/21/upgrading-wordpress/">Upgrading WordPress</a> then you will be familiar with the basics.  You will need an FTP client to connect to your web space.  If your host used cPanel, you can also use the file manager and upload plugins from there.  Most plugins are installed in the same place, a folder called &#8216;plugins&#8217; inside the wp-content directory.</p>
<p>To activate or deactivate a plugin, you just need to log into your WP admin and find Plugins in the top menu.  This page lists all installed plugins.</p>
<p>The really great thing about the newest version of WordPress is that it will keep track of most of your plugins and let you know if they need to be updated.</p>
<p><span id="more-1221"></span></p>
<p><strong>Finding Plugins</strong></p>
<p>Now let&#8217;s talk about where to find plugins.  There are two big places to find pretty much all the WordPress plugins available:</p>
<p>First is the <a href="http://wordpress.org/extend/plugins/">Plugins Directory</a> on the main WordPress website.  However this is still fairly new, so it may be a bit limited.  But you&#8217;re going to find the newest version of plugins here and it will tell you what version of WP the plugin is compatible up to.  This is where the updater in you WP admin culls from, so if you&#8217;re plugin isn&#8217;t in here, it&#8217;s not going to tell you when there&#8217;s an update available.</p>
<p>The other place is <a href="http://wp-plugins.net/">Plugins Database</a>. This has been around for 3+ years, so it&#8217;s really extensive.  The problem here is that some of the plugins are for REALLY old versions of WordPress and/or haven&#8217;t been updated in a long time.  You could find the perfect plugin and find out that it doesn&#8217;t work anymore.  It&#8217;s important to click on the Plugin Homepage link here because that will usually take you to a page that tells you if this plugin has been updated for the newest version of WP.</p>
<p>Another option is, of course, Google.  Since WordPress is open source, it&#8217;s not uncommon that a new person will take a plugin that hasn&#8217;t been updated in a long time and take over the development of that plugin.  So if you are struggling to find a plugin that does a specific thing or find out if someone has updated a certain plugin, Google can definitely be your friend.  The <a href="http://wordpress.org/support/">WP Support forums</a> are also a good place to find out info.</p>
<p><strong>Installing Plugins</strong></p>
<p>The main thing with installation is to follow the developer&#8217;s instructions.  Some plugins may have really specific things you need to do.  However, like I said above, most plugins these days have three steps:</p>
<p>1. Download and unzip the plugin.</p>
<p>2. Upload the plugin folder/files to your wp-content&gt;plugins directory.</p>
<p>3. Activate plugin.</p>
<p>If a plugin has any kind of configuration options, these will usually appear in your WP admin under Options, though depending on the plugin could also appear under any of the other top menu items, like Manage.</p>
<p><strong>Handy Plugins</strong></p>
<p>I thought I&#8217;d go though some plugins that are really useful and add some great features to your website or blog.</p>
<p><em>Site and Admin plugins</em></p>
<p>1. First let&#8217;s talk about a plugin that already comes installed with WordPress.  It&#8217;s called Akismet and it&#8217;s a spam prevention plugin.  If your blog has comments you WILL get spam and this is the BEST spam prevention plugin available.  There is absolutely no reason for you not to activate this plugin, in fact you are creating a big headache for yourself if you don&#8217;t.</p>
<p>In order to use Akismet, you need a WordPress API key.  However, this is simple to get.  If you ever had a WordPress.com blog or signed up for a username to comment on a WordPress.com user&#8217;s blog, then you already have one.  Log into your WP.com account and find this under Users&gt;Your Profile.  If you don&#8217;t have a WordPress.com account or you don&#8217;t want one, don&#8217;t fear, you can just sign up for a username, which will give you an API key.  Go to <a href="http://wordpress.com">wordpress.com</a> and click on Sign Up, then make sure to check the &#8220;just a username&#8221; option on the sign up form.  You will be emailed your API key.  Copy the key, go to your blog and activate Akismet, and put in your key where it asks you to.  The newest version of Akismet has to option to automatically delete spam on older entries.  I&#8217;ve found that MOST spam comes in on your oldest entries, so this is a really great option.  Otherwise anything tagged as spam will appear under Comments&gt;Akismet Spam and you can check to make sure no real comments have gotten tagged.  If they have, just check next to &#8216;Not Spam&#8217; and it shouldn&#8217;t tag that commenter as spam anymore.</p>
<p>2. <a href="http://anirudhsanjeev.org/oneclick-plugin/">OneClick</a>.  The great thing about this plugin is that it makes other plugins and themes easier to install.  You don&#8217;t need to use an FTP client to install plugins anymore.  You don&#8217;t even have to upzip the plugins.  Once this plugin is installed, you can upload and install plugins right from your WP admin.  All you have to do it upload them and it does ALL the installation work for you.  He even made a companion extension for FireFox users that makes the process even simpler.</p>
<p>3. <a href="http://wordpress.org/extend/plugins/wp-db-backup/">WP-DB-Backup</a>.  If you read my tutorial about upgrading WP, you know how important your WordPress database is and how important it is to back it up regularly.  With this plugin, you can do it straight from your WP admin.</p>
<p>4. <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemaps</a>.  Having a sitemap is easiest way to set your site up for better search engine optimization and this plugin creates one for with a few clicks.</p>
<p>5. <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> &#8211; If you have an even slightly high traffic blog or website, this plugin will save you tons of money on bandwidth costs.  It&#8217;s also really handy to guard against Digg or other social networking sites whose huge traffic spike could literally bring your site down.</p>
<p>6. <a href="http://www.feedburner.com/fb/a/help/wordpress_quickstart">Feedburner Feedsmith</a>.  Route your WP feed through <a href="http://www.feedburner.com/">Feedburner</a>, a very handy service that keeps stats for your feed as well as adding a lot of really nice functionality.  This plugin sets it up so all your feeds will automatically forward to your new feedburner address, so you won&#8217;t lose subscribers and you get the most extensive look at who is reading you via feedreader.</p>
<p>7.  <a href="http://blog.happyarts.de/wp-shortstat">WP-Shortstat</a>. One of my favorite stats plugins.  This one has gone though many developers though the years and there are a few different versions floating around, but this is most recently updated.</p>
<p><em>Features or additional functionality</em></p>
<p>8.  <a href="http://wordpress.org/extend/plugins/simple-tags/">Simple Tags</a>.  Like the new tagging feature in WP 2.3 but frustrated with the lack of management for your tags?  This plugin is all you need.  It auto-suggests tags for your posts, lets you add/edit/delete tags, mass edit tags on ALL posts, add related posts on all your entries, tag clouds and much more.</p>
<p>9.  <a href="http://www.joostdevalk.nl/wordpress/enhanced-wordpress-contactform-plugin/">Enhanced WP Contact Form</a>.  A very simple, but nice, contact form plugin with spam prevention option.</p>
<p>10. <a href="http://wordpress.org/extend/plugins/wp-youtube/">WP You Tube</a>.  Easily add videos from You Tube to your posts.</p>
<p>11. <a href="http://wordpress.org/extend/plugins/sideblog/#post-1294">Sideblog</a>.  Very handy plugin for creating a miniblog/linkblog on your blog sidebar or even on another page of your website (like if you wanted to have &#8220;News&#8221; section on your main page or something like that).</p>
<p>12. <a href="http://wordpress.org/extend/plugins/subscribe-to-comments/#post-869">Subscribe to Comments</a>.  Allows your commenters to subscribe to receive notice of additional comments.  Very handy, especially if you have long comment threads.</p>
<p>13.  <a href="http://wordpress.org/extend/plugins/easygravatars/">Easy Gravatars</a>.  Adds <a href="http://gravatar.com">gravatars</a> to your comments, no template editing necessary.</p>
<p>14. <a href="http://wordpress.org/extend/plugins/exec-php/">Exec-PHP</a>.  Use PHP in your posts or pages.  Really handy plugin, especially in addition to other plugins that require you to use special template tags or code in your posts or pages.</p>
<p><em>Advanced plugins</em></p>
<p>15.  <a href="http://www.dagondesign.com/articles/secure-form-mailer-plugin-for-wordpress/">Secure Form Mailer Plugin</a>.  This is hands down the best contact form I&#8217;ve found.  You can set up multiple forms on your site, and you can edit the form fields to your heart&#8217;s content using many many options, such as dropdown menus, radio buttons, check boxes, text areas, upload fields, plus it&#8217;s very secure and doesn&#8217;t let in spammers.  This is probably more than some people need, but if you need an custom contact form, this is your best bet.</p>
<p>16.  <a href="http://rhymedcode.net/custom-field-gui/custom-field-gui">Custom Field GUI</a>.  This plugin is for more advanced users as it requires some basic configuration and template editing, but I&#8217;ve found it to be a really handy plugin.  It lets you add custom fields to the Write Post page in your WP admin.  Say for instance you have a weightloss blog and every day you post your weight or how many miles you ran.  Or maybe you want to say what you are currently reading/doing/watching/feeling.  You can add a field to make it easier to add this info to your posts.  We&#8217;re using it in our <a href="http://swankwebstyle.com/portfolio/">portfolio</a> to display information about each project (designer, CMS, launch date, etc.).  This plugin allows us to add this info in a matter of minutes whereas if we had to hand code all that info for each project it would take a long time and adding to our portfolio would be a pain to do.</p>
<p>17.  <a href="http://tribulant.com/products/view/1/wordpress-mailing-list.html">WP Mailing List</a>.  This plugin is not free (it costs $30 to download), but if you have a mailing list to run, I promise you it is 100% worth the cost.  It&#8217;s extremely easy to install and set up, you can add multiple lists with multiple templates and it&#8217;s all controlled from your WP admin.</p>
<p>18.  <a href="http://www.instinct.co.nz/?p=16">WP Shopping Cart</a>.  Another very easy to install plugin if you want to sell products on your site.  Add and edit products right in your WP admin, create and assign templates for your product pages.  It&#8217;s free, but does have paid upgrades which are worth the price (especially the DropShop and Gridview).</p>
<p>19.  <a href="http://www.stuff.yellowswordfish.com/simple-forum/">Simple Forum</a>.  Want a forum for your blog or website but don&#8217;t want to bother with trying to figure out how to set on up?  This plugin integrates a forum right into WordPress using the inherent multiple user feature.  Extremely easy install and set up.  Custom templates are available or you can create one yourself.  Control everything right from your WP admin.</p>
<p><em>Plugin Masters</em></p>
<p>20. <a href="http://lesterchan.net/portfolio/programming.php">Plugins by Lester Chan</a>.  There are too many plugins here to mention.  Just click on the link and take a look.  All of his plugins are really great and do fun as well as useful things.  Plus he is a very active developer and usually updates all his plugins after every major WP release.</p>
<p>21. <a href="http://alexking.org/projects/wordpress">Plugins by Alex King</a>.  Another great plugin developer with lots of good plugins.  My personal favs are WP-Grins and WP-Mobile Edition and Share This.</p>
<p>I could literally go on and on and on about all the great plugins there are out there.  I tried to cover some big ones that do a variety of things in WordPress.  Pretty much all of them can be installed and configured in a matter of minutes and they all add some great features for your blog or website.</p>
<p>What are your favorite WP plugins?</p>
<p>The post <a href="http://swankwebdesign.com/resources/beginners-guide-to-wordpress-plugins/">Beginners Guide to WordPress Plugins</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=nvfsG-fdLKM:v28LOu68Bgo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=nvfsG-fdLKM:v28LOu68Bgo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=nvfsG-fdLKM:v28LOu68Bgo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=nvfsG-fdLKM:v28LOu68Bgo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/nvfsG-fdLKM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/beginners-guide-to-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/beginners-guide-to-wordpress-plugins/</feedburner:origLink></item>
		<item>
		<title>Creating great photos for your online shop</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/VqUAvcq5HbA/</link>
		<comments>http://swankwebdesign.com/resources/creating-great-photos-for-your-online-shop/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 15:08:24 +0000</pubDate>
		<dc:creator>Shaz</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[store]]></category>

		<guid isPermaLink="false">http://swankwebstyle.com/new/blog/2007/08/23/creating-great-photos-for-your-online-shop/</guid>
		<description><![CDATA[<p>I have worked with many small business owners in the past who were trying to build an online store. The thing about online stores is that the product images must look amazing, it&#8217;s easy to figure out that the more amazing they look, the more interest they generate! Being small business owners though, means that [...]</p><p>The post <a href="http://swankwebdesign.com/resources/creating-great-photos-for-your-online-shop/">Creating great photos for your online shop</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.hammacher.com/publish/73033.asp?promo=sportleisure#"><img src="http://s7ondemand1.scene7.com/is/image/Hammacher/73033?wid=180" alt="light box" class="alignleft" /></a> I have worked with many small business owners in the past who were trying to build an online store. The thing about online stores is that the product images must look amazing, it&#8217;s easy to figure out that the more amazing they look, the more interest they generate!</p>
<p>Being small business owners though, means that some things must be compromised due to costs, and one of those things is often getting professional photographs of the products. While this is not recommended, I completely understand the decision.</p>
<p>When I came across this cool little gadget, I thought it was the perfect thing to recommend to my clients, as a lot of them were selling jewelry and small handmade items. It&#8217;s called the <a href="http://www.hammacher.com/publish/73033.asp?promo=sportleisure#">Table Top Photo Studio</a> by HAMMACHER SCHLEMMER.</p>
<p>If you&#8217;ve used it in the past, I would love to hear your feedback! </p>
<p>The post <a href="http://swankwebdesign.com/resources/creating-great-photos-for-your-online-shop/">Creating great photos for your online shop</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=VqUAvcq5HbA:fBICYq7XC2U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=VqUAvcq5HbA:fBICYq7XC2U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=VqUAvcq5HbA:fBICYq7XC2U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=VqUAvcq5HbA:fBICYq7XC2U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/VqUAvcq5HbA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/creating-great-photos-for-your-online-shop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/creating-great-photos-for-your-online-shop/</feedburner:origLink></item>
		<item>
		<title>The Keys To Success: do you have it?</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/sZL3-0BEkqo/</link>
		<comments>http://swankwebdesign.com/resources/the-keys-to-success-do-you-have-it/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 17:44:25 +0000</pubDate>
		<dc:creator>Shaz</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[achievement]]></category>
		<category><![CDATA[fear]]></category>
		<category><![CDATA[success]]></category>

		<guid isPermaLink="false">http://swankwebstyle.com/new/blog/2007/07/30/the-keys-to-success-do-you-have-it/</guid>
		<description><![CDATA[<p>Although I have always dreamt of having my own design firm, the thought is also extremely scary to me &#8211; I am terrified of failure, but I am equally fearful of success. I think it is in our nature to love the comfort of familiar surroundings and people, which means that it usually takes a [...]</p><p>The post <a href="http://swankwebdesign.com/resources/the-keys-to-success-do-you-have-it/">The Keys To Success: do you have it?</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Although I have always dreamt of having my own design firm, the thought is also extremely scary to me &#8211; I am terrified of failure, but I am equally fearful of success.</p>
<p>I think it is in our nature to love the comfort of familiar surroundings and people, which means that it usually takes a lot of strength to move against the grain. Very often when I ponder success, I wonder if I can handle the publicity, the criticism, the stress of always having to appear perfect, and I start to feel very overwhelmed, you see as much as I dream of being a recognizable success, my fear of it is becoming one of my biggest obstacles.</p>
<p>Successful people seem to have the ability to overcome their fears and inhibitions, the sensibility to move past the maliciousness of some, and the stamina to take endless risks. </p>
<p>I was working at a large corporation for about 6 years, where only the people on my team knew me, and I was so comfortable with being effectively invisible that when I decided to start my own business, it took me several months to get brave enough to even put up my portfolio. My insecurities are sometimes a challenge to overcome, but I am continually learning and being inspired by those around me, and I am slowly making my dream a reality.</p>
<p>Many times I am completely inspired by my own clients, most of whom are following their own dream, and taking chances to make it a reality. I found that as long as they were passionate about what they did, and able to learn from mistakes, their endeavors became successful.  As Theodore Roosevelt said “The only one who never makes mistakes is the one who never does anything”… </p>
<p>Are your fears holding you back from achieving your dreams?</p>
<p>The post <a href="http://swankwebdesign.com/resources/the-keys-to-success-do-you-have-it/">The Keys To Success: do you have it?</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=sZL3-0BEkqo:Aac-lw6B7pw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=sZL3-0BEkqo:Aac-lw6B7pw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=sZL3-0BEkqo:Aac-lw6B7pw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=sZL3-0BEkqo:Aac-lw6B7pw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/sZL3-0BEkqo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/the-keys-to-success-do-you-have-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/the-keys-to-success-do-you-have-it/</feedburner:origLink></item>
		<item>
		<title>Web 101: Why links shouldn’t be opened in new windows</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/MEO19dLmsYw/</link>
		<comments>http://swankwebdesign.com/resources/web-101-why-links-shouldnt-be-opened-in-new-windows/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 19:43:58 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Web 101]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://swankwebstyle.com/new/blog/2007/06/26/web-101-why-links-shouldnt-be-opened-in-new-windows/</guid>
		<description><![CDATA[<p>I get this request a lot: &#8220;Can you make all my links open in a new window?&#8221; This is a widely done practice, I used to do it, too. Unfortunately, what I didn&#8217;t know before, and what most people still don&#8217;t know is that it&#8217;s a really bad practice to have. The whole point of [...]</p><p>The post <a href="http://swankwebdesign.com/resources/web-101-why-links-shouldnt-be-opened-in-new-windows/">Web 101: Why links shouldn&#8217;t be opened in new windows</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>I get this request a lot: &#8220;Can you make all my links open in a new window?&#8221;  This is a widely done practice, I used to do it, too.  Unfortunately, what I didn&#8217;t know before, and what most people still don&#8217;t know is that it&#8217;s a really bad practice to have.</p>
<p>The whole point of putting an external link on your site is to guide your audience to someone else&#8217;s site.  It&#8217;s usually an act of kindness, not only toward the person you are linking to, but to the people reading your site, who you are sharing this link with. So isn&#8217;t it pretty hypocritical to make your links open in a new window?  You&#8217;re saying &#8220;Here, go to this site, it&#8217;s awesome, but you&#8217;re not allowed to leave my site, because I&#8217;m more awesome.&#8221;  If you don&#8217;t want people to leave your site, then you shouldn&#8217;t have external links at all.  And if people want to stay on your site, then they will, they&#8217;re not going to stay just because you force them to leave the window open.</p>
<p>Not only that, but there are major usability issues with having your links open in new windows.  I think a lot of people assume that everyone is on the same technological level as they are or maybe that most people know <em>more</em> than they do.  &#8220;If I know how to do this, then everyone else does, too.&#8221;  But that&#8217;s just not true.  I&#8217;ve met people who think Internet Explorer <em>is</em> the internet (and it runs on a series of tubes&#8230;).  No matter how simple a concept you think it is, there&#8217;s always someone that just can&#8217;t wrap their mind around it.  </p>
<p>There are some things that most people understand, though.  They understand what a link is and how it should work.  When they click on a link they are expecting it to go to the new site.  This is what they <em>want to do</em>, so by making the link open in a new window, you are actively ignoring their needs.  People understand how the back button works, too.  The back button is fundamental in any browser and most people use it liberally.  What happens when you open a link in a new browser?  Well, it resets the back button.  You can&#8217;t go back.  When someone clicks on a link they are expecting it to go to the new page and if they want to come back to your page they will just click the back button.  This is how the internet is supposed to work.  Instead a new window is going to pop up (which they are not expecting) and they are probably going to close the original window because who wants the clutter of having so many windows open?  Then they&#8217;ll try to go back and realize they can&#8217;t because the back button doesn&#8217;t work anymore.  So not only have you confused and frustrated someone, you&#8217;ve just lost a reader.  </p>
<p>But, you say, &#8220;What about all the people who <em>are</em> technologically savy? They won&#8217;t be confused.&#8221;  No, they won&#8217;t but I can bet that a lot will still be frustrated.  If you are technologically savy then you already know how to make a link open up in a window, it&#8217;s very easy.  So if people want to do that, then they will, they don&#8217;t need you to do it for them. </p>
<p>If you absolutely must have something open in a new window (there are a few instances where it may be necessary), then warn your readers about it so they&#8217;ll know what to expect.  Make sure &#8220;opens in new window&#8221; is included in the actual link text (this is better for accessibility and usability).  Add a little icon by the link to show that it will open in a new window.  Give people a choice about it.  Maybe the link works like normal, but the little icon opens in a new window.  There are a lot of different options, just make sure your readers know what&#8217;s what.</p>
<p>In the end it&#8217;s always a bad idea to try to control how your readers view your site.  People expect browsers to work a certain way and you shouldn&#8217;t try to change that.  People will come back to your site if they want to, don&#8217;t make things more complicated for them.</p>
<p>The post <a href="http://swankwebdesign.com/resources/web-101-why-links-shouldnt-be-opened-in-new-windows/">Web 101: Why links shouldn&#8217;t be opened in new windows</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=MEO19dLmsYw:0Tji8Cw17EY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=MEO19dLmsYw:0Tji8Cw17EY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=MEO19dLmsYw:0Tji8Cw17EY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=MEO19dLmsYw:0Tji8Cw17EY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/MEO19dLmsYw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/web-101-why-links-shouldnt-be-opened-in-new-windows/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/web-101-why-links-shouldnt-be-opened-in-new-windows/</feedburner:origLink></item>
		<item>
		<title>From the Mailbox</title>
		<link>http://feedproxy.google.com/~r/Swank/~3/N4DpW03ou10/</link>
		<comments>http://swankwebdesign.com/resources/from-the-mailbox/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 15:06:17 +0000</pubDate>
		<dc:creator>Emily</dc:creator>
				<category><![CDATA[Honors]]></category>
		<category><![CDATA[compliment]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[praise]]></category>

		<guid isPermaLink="false">http://swankwebstyle.com/new/blog/2007/04/11/from-the-mailbox/</guid>
		<description><![CDATA[<p>We received this email in the mail the other day and I cannot tell you know flattered we are: I cannot hire you. I cannot pay you. What I can do is encourage you. Your designs are absolutely charming! They are well thought out, clear, easy to read, and perfectly balanced. I used to do [...]</p><p>The post <a href="http://swankwebdesign.com/resources/from-the-mailbox/">From the Mailbox</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>We received this email in the mail the other day and I cannot tell you know flattered we are:</p>
<blockquote><p>I cannot hire you.  I cannot pay you.  </p>
<p>What I can do is encourage you. Your designs are absolutely charming!  They are well thought out, clear, easy to read, and perfectly balanced.  I used to do DTP work before I became my mother&#8217;s sole caretaker, so I do have a bit of experience from which to draw.  </p>
<p>I hope you continue with your work.  Your style, the way you present the content &#8230; just everything about the samples says READ ME!  I&#8217;m sure thousands will. </p>
<p>Please accept my compliments, even though I don&#8217;t have a project for you.  I think your designs are absolutely amazing! Thank you for creating them.</p>
<p>- Linda Penner</p></blockquote>
<p>The post <a href="http://swankwebdesign.com/resources/from-the-mailbox/">From the Mailbox</a> appeared first on <a href="http://swankwebdesign.com">Swank Web Design</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Swank?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Swank?i=N4DpW03ou10:oe9U_c6QdnY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Swank?i=N4DpW03ou10:oe9U_c6QdnY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Swank?i=N4DpW03ou10:oe9U_c6QdnY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/Swank?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Swank?a=N4DpW03ou10:oe9U_c6QdnY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Swank?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Swank/~4/N4DpW03ou10" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://swankwebdesign.com/resources/from-the-mailbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://swankwebdesign.com/resources/from-the-mailbox/</feedburner:origLink></item>
	</channel>
</rss>
