<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Benjamin Bradley</title>
	<atom:link href="http://www.benjaminbradley.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.benjaminbradley.com</link>
	<description>Providing Tech Solutions to Simplify Your Development Life</description>
	<lastBuildDate>Sat, 23 Mar 2013 17:31:48 +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>
		<item>
		<title>Losing Trust in a Disruption Leader</title>
		<link>http://www.benjaminbradley.com/losing-trust-in-a-disruption-leader/</link>
		<comments>http://www.benjaminbradley.com/losing-trust-in-a-disruption-leader/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 17:31:15 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.benjaminbradley.com/?p=287</guid>
		<description><![CDATA[The past week&#8217;s news about the closure of Google Reader hit really close to home. I follow hundreds of blogs, news sites, tutorial sites, and other sites that I would probably never remember to visit if I did not subscribe to their RSS feed through Google Reader. In fact, if I did have to visit each site to check on the latest information it would probably waste my entire day. Google Reader entered my life...]]></description>
				<content:encoded><![CDATA[<p>The past week&#8217;s news about the closure of Google Reader hit really close to home.  I follow hundreds of blogs, news sites, tutorial sites, and other sites that I would probably never remember to visit if I did not subscribe to their RSS feed through Google Reader.  In fact, if I did have to visit each site to check on the latest information it would probably waste my entire day.  Google Reader entered my life many years ago and gave me a simple and easy way to stay on top of all this news.  Quickly processing the information from hundreds of sites and allowing me to pick <em>just the good stuff</em>. Google Reader saved me hundreds of hours.</p>
<p>Then they announced they were closing Google Reader.  I was stunned and knew that I would quickly have to change my entire workflow to keep up with the many different sites that I use for my work. (Now I will have an upcoming post on the three options that I&#8217;m evaluating as replacements and another option that I never knew about but now love the format.) I have my suspicions about why Google is shutting down Google Reader. (<em>Hint: They are releasing a premium news subscription service through Google Play soon.</em>) But why Google is choosing to close Google Reader didn&#8217;t concern me.  What concerned me was who the major user of Google Reader was and what Google was doing to its future development projects.</p>
<p>Who was the major user of Google Reader? Most of the people I have talked to agree that Google Reader was the goto online app for Early Adopters.  These are the people who are willing to live with bugs and issues and are always seeking to try new products from companies.  These are also the chief promoters of new products.  I can&#8217;t tell you how many people tell me their heard about a new online product (Google Docs, Zoho, Evernote, MailChimp, Twitter, etc) from a current user or a friend that loves technology.  I myself have pointed many people to new and upcoming technology as a replacement for their own methods of doing business and work.</p>
<p>For many years, Google was that <em>disruption leader</em>. Churning out new products and tools that were amazing replacements for the old way of doing things.  And Early Adopters flocked to Google&#8217;s doorstep hoping to get access to the latest and the greatest so that they could tell all their friends about the amazing new tool.  Anyone remember how much early entry into Gmail was going on Ebay? But during this time there was great trust in Google that they would be around and would always have our backs as users.  Google offered a fair tradeoff in many people&#8217;s minds. Google gets to learn information about you so they can better sell ads and the user gets awesome products that just plain WORK!</p>
<p>Then Google goes and kills one of the favorite apps/tools of an Early Adopter.  Many users have countless hours sorting, tagging, starring, news stories for better use and then the tool that we use to &#8220;find&#8221; the latest and greatest is gone.  And gone also is trust in that <em>fair tradeoff</em>. Now Early Adopters are beginning to wonder if Google really does have their backs.  We can already see the results.  Google this past week also released some new product called Google Keep.  Some sort of Evernote or Simplenote competitor.  But guess what?  Many of the Early Adopters (myself included) are just ignoring the product.  Why invest yourself in a product when it will just be taken away on a whim. I&#8217;m surprised at how little that Google values the Early Adopter here in 2013. Especially since Google relied so heavily on them in the earlier years.  Yes, it is true that Early Adopters are way less than 10% of the market.  But don&#8217;t forget that Early Adopters have a huge sway over the other 90% of the market.</p>
<p>I started thinking about whether I had just been turning a blind eye towards Google and ignoring the signs.  So I sat down and just started listing all the products that Google has killed.</p>
<ol>
<li><b>Google Reader</b></li>
<li><b>iGoogle</b></li>
<li><b>Google Labs</b></li>
<li><b>Google Wave</b></li>
<li>Google Video</li>
<li>Google Desktop</li>
<li><b>Google Buzz</b></li>
<li>Google Code Search</li>
<li>Google Aardvark</li>
<li>Google Gears</li>
<li>Picasa for Linux</li>
<li><b>Google Notebook</b></li>
<li>Google Health</li>
<li><b>Picnik</b></li>
<li>Google Listen</li>
<li>Google Lively</li>
<li><b>Google Bookmarks/Lists</b></li>
<li>Google Docs Gadgets</li>
<li>Google Search Timeline</li>
<li>Google Apps for Teams</li>
<li><b>Picasa Web Albums Uploader for Mac</b></li>
<li>Google Fast Flip</li>
<li><b>Jaiku</b></li>
<li>Google Pack</li>
<li>Google Sidewiki</li>
<li>Google Flu Vaccine Finder</li>
<li>Google Classic Plus</li>
<li>Google Adsense for Feeds</li>
<li>Google News Badges</li>
<li>Google Talk Chatback</li>
<li>Google Friend Connect</li>
<li>Knol</li>
<li>iGoogle Social Features</li>
<li>Google Video for Business</li>
<li>Google Related</li>
<li>Google One Pass</li>
<li><b>Places Directory App for Android</b></li>
<li>Google Postini Services</li>
<li>Google Mini</li>
<li><b>Google Sync for Blackberry</b></li>
<li>+1 Reporting for Webmaster Tools</li>
<li>Google Catalog Search</li>
<li>Dodgeball</li>
<li>Google Print Ads</li>
<li>SearchMash</li>
<li><b>Google 411</b></li>
<li>Google Answers</li>
</ol>
<p>As you can see there are quite a few tools and resources that Google has killed over the years.  Do you have a favorite tool that Google has killed?  I miss Google Buzz, Google411, Picasa, Google Bookmarks and will miss Google Reader BIG TIME once it is finally gone for good.  Will you trust Google and invest the time into using Google Keep or has Google burned one-to-many bridges with you to go down that road again?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/losing-trust-in-a-disruption-leader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Destroy an Amazon Home Business and Get Free Books as a Bonus</title>
		<link>http://www.benjaminbradley.com/how-to-destroy-an-amazon-home-business-and-get-free-books-as-a-bonus/</link>
		<comments>http://www.benjaminbradley.com/how-to-destroy-an-amazon-home-business-and-get-free-books-as-a-bonus/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 17:47:59 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.benjaminbradley.com/?p=180</guid>
		<description><![CDATA[Amazon, that towering behemoth of a retail giant, answers to no one. Their power, reach, and breadth of products are astounding when you consider that it all started in one guy&#8217;s garage. If you need something you can probably find it on Amazon. For example: If you need some Smack My Ass and Call Me Sally Green Jalapeno Hot Sauce&#8230; Amazon has it. If you were having an argument with your friend and wanted to...]]></description>
				<content:encoded><![CDATA[<p>Amazon, that towering behemoth of a retail giant, answers to no one.  Their power, reach, and breadth of products are astounding when you consider that it all started in one guy&#8217;s garage. If you need something you can probably find it on Amazon. For example:</p>
<ul>
<li>If you need some <a href="http://www.amazon.com/Smack-Sally-Green-Jalapeno-Sauce/dp/B0000E1VUG/ref=cm_lmf_tit_6" target="_blank">Smack My Ass and Call Me Sally Green Jalapeno Hot Sauce</a>&#8230; Amazon has it.</li>
<li>If you were having an argument with your friend and wanted to prove that <a href="http://www.amazon.com/Embalming-Not-Sport-Arlin-Menager/dp/0759622035/ref=cm_lmf_tit_12" target="_blank"><em>Embalming is Not a Sport</em></a>&#8230; Amazon has your back.</li>
<li>If your neighbor&#8217;s dog keeps pooping on your lawn and you decide to go all military, I&#8217;m sure a <a href="http://www.amazon.com/JL421-Badonkadonk-Land-Cruiser-Tank/dp/B00067F1CE/ref=cm_lmf_tit_7" target="_blank">JL421 Badonkadonk Land Cruiser/Tank</a> will work out swell.</li>
<li>Who knew that you could pick up <a href="http://www.amazon.com/gp/product/B000796XXM/" target="_blank">Uranium Ore</a> from Amazon.</li>
<li>&#8230;and Amazon will even allow you to buy <a href="http://www.amazon.com/gp/product/B00022RCPC/" target="_blank">a nickel for 15 cents.</a></li>
</ul>
<p>But you know what they won&#8217;t do? <b>Respond rationally to serious issues and massive flaws in their system.</b></p>
<h3>Enter the Era of Personal Selling on Amazon</h3>
<p>The Amazon ecosystem changed a number of years ago when they allowed users who owned their own copy of an item from Amazon&#8217;s massive catalog to <em>sell/resell</em> it directly to the public at a lower price than Amazon&#8217;s own price.  The trade-off?</p>
<ul>
<li>Amazon got to keep 30% of the sale</li>
<li>the seller was able to get their &#8220;used books / garage sale items&#8221; in front of the large internet traffic that Amazon generates</li>
<li>the buyer was able to get a product at &#8216;below-value&#8217; prices.</li>
</ul>
<p>It was a <b>win-win-win</b> for everyone.</p>
<h3>Until&#8230;</h3>
<p>People realized it was super easy to scam the system!</p>
<p>Over the years I&#8217;ve sold/resold books, I had many reasons for why I spent time listing items to sell.  I inherited some theological books from my father and grandfather and knew there were other consumers who would be interested in purchasing these books. So Amazon provided me the platform.  Sometimes I would purchase new books because I wanted to quickly look at only a few sections of the book. I took solace in the fact that a few days later I could turn around and resell the book as <em>&#8220;Used-Like New&#8221;</em> and recoup a portion of my purchase price while giving someone else a chance to purchase this new book at a fraction of the cost of the new book.</p>
<p>I was very attentive to the people who purchased books through my Amazon reseller account.  I also worked hard to stay ahead of the policy changes that Amazon was constantly pushing on its members.  I tried very hard to ensure that every single book that I mailed was sent with a tracking number&#8211;I wanted to make sure that the books arrived.  Amazon has always had a variation of the <em>A-to-Z Guarantee</em> that is supposed to protect sellers and buyers.  There was also a dispute resolution system that made a lot of sense.  For a long time, when a customer would complain that they never received a book, I would provide Amazon with the tracking number that showed the book was delivered and many times even who signed for the package.  This alone was good enough back in the day.  Then Amazon would either refund the buyer or acknowledge that the seller had fulfilled their duties.</p>
<p>Then things started changing&#8230;</p>
<p>Buyers who complained to Amazon that they didn&#8217;t receive the book would instantly be refunded&#8230; <em>out of the seller&#8217;s account</em>.  The seller would then get a black &#8220;proprietary&#8221; mark on their account which would lower the seller&#8217;s account score.  In an attempt to prevent those &#8220;black marks,&#8221; I began dealing directly with the customer and offering a refund <b><em>even if I had a tracking number showing the package was delivered.</em></b>  Rather than have a complaint filed with Amazon, I wanted the customer to be happy.  There were only a few people who claimed to never receive their packages.  But it was enough that I wanted to simply refund them the money rather than have them complain to Amazon.</p>
<p>Then Amazon changed their policies again and now you would get &#8220;black marks&#8221; if you refunded someone.  Why, because in Amazon&#8217;s mind, <b>a refunded order is a canceled order</b>.  And if you are canceling an order you are probably a bad seller.</p>
<h3>Fast forward to the present&#8230;</h3>
<p>The last two times a buyer complained to me about never receiving a package, I had the documentation (tracking number with a signature) that the buyer themselves had signed for the package.  I even corresponded with the two buyers and let them know about the tracking number and the signature on file, and they still said the package never arrived.  So what did I do?  I refunded them their order.  I took it as a loss rather than deal with people who were obviously trying to scam the system.</p>
<p>Then Amazon swooped in and canceled my account and said I had too many &#8220;proprietary&#8221; black marks and had my selling privileges canceled.  I was not a big seller&#8230; maybe 3-5 books a month got sold.  But my <em>refunding of customers</em> had caused my account to get canceled.  No recourse or appeal (yes, there is an appeal form but it is a form letter response.  I know that no one read my appeal because not one single question I asked&#8211;and I asked about 15 specific questions&#8211;were addressed or acknowledged).</p>
<h2>Here&#8217;s How to Get Free Amazon Books and Destroy Someone&#8217;s Account:</h2>
<p>It really is as easy as this 4-step process:</p>
<ol>
<li>Purchase a product from a seller you want to destroy.</li>
<li>Claim the product never arrived&#8230; EVEN IF IT DID!</li>
<li>Get your money back for your order</li>
<li>Smile because you successfully gave someone a &#8220;proprietary&#8221; black mark on their account&#8230; and it will lead to them losing their selling privileges. Plus you got your product free!</li>
</ol>
<p>So how many other people have experienced this treatment by Amazon and the fraud they they allow to happen in their ecosystem?</p>
<p><b>UPDATE:</b> So it looks like my wife&#8217;s Amazon selling account (which she has owned for over 12 years&#8230; long before we were married) has also been canceled due to Amazon&#8217;s &#8220;proprietary&#8221; algorithm which searches for related accounts.  Again, this comes with no recourse or appeal because they&#8217;ve proven they don&#8217;t look at appeals or care about them anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/how-to-destroy-an-amazon-home-business-and-get-free-books-as-a-bonus/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Serve your WordPress Site 10x Faster</title>
		<link>http://www.benjaminbradley.com/serve-your-wordpress-site-10x-faster/</link>
		<comments>http://www.benjaminbradley.com/serve-your-wordpress-site-10x-faster/#comments</comments>
		<pubDate>Mon, 14 May 2012 17:15:03 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Hosting]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=29</guid>
		<description><![CDATA[You might be thinking to yourself, this guy is trying to sell some type of miracle snake-oil potion. How could it be so easy to speed up your WordPress site? The truth of the matter is that most of the time we don’t take advantage of many of the resources available to us. Most WordPress users are delivering uncompressed content to visitors of their sites. But did you know you can serve most of this...]]></description>
				<content:encoded><![CDATA[<p>You might be thinking to yourself, this guy is trying to sell some type of miracle snake-oil potion. How could it be so easy to speed up your WordPress site? The truth of the matter is that most of the time we don’t take advantage of many of the resources available to us. Most WordPress users are delivering uncompressed content to visitors of their sites. But did you know you can serve most of this content in a compressed fashion? It really is as easy as adding the following lines of code to the end of your .htaccess file.</p>
<pre class="brush: php; title: ; notranslate">
&lt;IfModule mod_deflate.c&gt;
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
&lt;/IfModule&gt;
</pre>
<p>Now your site will serve compressed versions of your content and should speed up your site (as much as 10x faster). Let me know if you notice a visible difference in the render time of your site. On many of my sites, the difference is clearly visible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/serve-your-wordpress-site-10x-faster/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Do you forget to set your featured image in WordPress?</title>
		<link>http://www.benjaminbradley.com/do-you-forget-to-set-your-featured-image-in-wordpress/</link>
		<comments>http://www.benjaminbradley.com/do-you-forget-to-set-your-featured-image-in-wordpress/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 22:25:43 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Tutorials]]></category>
		<category><![CDATA[featured image]]></category>
		<category><![CDATA[functions.php]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=71</guid>
		<description><![CDATA[If you are anything like me or have a client who is like me, this code will help you tremendously. If you ever forget to set a the featured image (post thumbnail) in your WordPress post, this code will automatically grab the first image in your post and set it as your featured image. You can simply drop this code into your active theme’s functions.php file and you are all set. Now your clients don’t...]]></description>
				<content:encoded><![CDATA[<p>If you are anything like me or have a client who is like me, this code will help you tremendously. If you ever forget to set a the featured image (post thumbnail) in your WordPress post, this code will automatically grab the first image in your post and set it as your featured image. You can simply drop this code into your active theme’s functions.php file and you are all set.</p>
<pre class="brush: php; title: ; notranslate">
function autoset_featuredimage() {
	global $post;
	$already_has_thumb = has_post_thumbnail($post-&gt;ID);
		if (!$already_has_thumb)  {
		$attached_image = get_children( &quot;post_parent=$post-&gt;ID&amp;post_type=attachment&amp;post_mime_type=image&amp;numberposts=1&quot; );
			if ($attached_image) {
				foreach ($attached_image as $attachment_id =&gt; $attachment) {
				set_post_thumbnail($post-&gt;ID, $attachment_id);
			}
		}
	}
} 
add_action('the_post', 'autoset_featuredimage');
add_action('save_post', 'autoset_featuredimage');
add_action('draft_to_publish', 'autoset_featuredimage');
add_action('new_to_publish', 'autoset_featuredimage');
add_action('pending_to_publish', 'autoset_featuredimage');
add_action('future_to_publish', 'autoset_featuredimage');
</pre>
<p>Now your clients don’t have to mess up your nice custom built front page that utilizes featured images from posts when they forget to set the image.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/do-you-forget-to-set-your-featured-image-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adding Per-Post CSS to WordPress</title>
		<link>http://www.benjaminbradley.com/adding-per-post-css-to-wordpress/</link>
		<comments>http://www.benjaminbradley.com/adding-per-post-css-to-wordpress/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 22:10:34 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=68</guid>
		<description><![CDATA[Sometimes when I’m creating a post or a page in WordPress, I want to do something specific with CSS. And I really don’t want to jump back and forth with Coda, my editor. So, I decided to use this little piece of code to create a Custom CSS Meta Box appear right under my WordPress post/page editor that would allow me to type my CSS selectors and declarations right on the post/page. Now, the CSS...]]></description>
				<content:encoded><![CDATA[<p>Sometimes when I’m creating a post or a page in WordPress, I want to do something specific with CSS. And I really don’t want to jump back and forth with Coda, my editor. So, I decided to use this little piece of code to create a Custom CSS Meta Box appear right under my WordPress post/page editor that would allow me to type my CSS selectors and declarations right on the post/page. Now, the CSS I place in the Custom CSS Meta Box will ONLY appear on that specific page or post. This idea is accomplished in four little PHP functions that can be placed in your active theme’s functions.php file.</p>
<p><img src="http://www.wpden.com/wp-content/uploads/2012/11/customcss-300x78.png" alt="" title="customcss-300x78" width="300" height="78" class="aligncenter size-full wp-image-69" /></p>
<p>The first function creates the ability to add the meta boxes to the pages and posts. ProTip: Just add additional lines of code to add this meta box to Custom Post Types.</p>
<pre class="brush: php; title: ; notranslate">
function bb_custom_css_hooks() {
	add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'post', 'normal', 'high');
	add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'page', 'normal', 'high');
}
</pre>
<p>The next function creates the text areas of the meta box so that we can input our custom css. It also ties the CSS typed into the meta box to that specific post/page ID.</p>
<pre class="brush: php; title: ; notranslate">
function custom_css_input() {
	global $post;
	echo '&lt;input type=&quot;hidden&quot; name=&quot;custom_css_noncename&quot; id=&quot;custom_css_noncename&quot; value=&quot;'.wp_create_nonce('custom-css').'&quot; /&gt;';
	echo '&lt;textarea name=&quot;custom_css&quot; id=&quot;custom_css&quot; rows=&quot;5&quot; cols=&quot;30&quot; style=&quot;width:100%;&quot;&gt;'.get_post_meta($post-&gt;ID,'_custom_css',true).'&lt;/textarea&gt;';
}
</pre>
<p>Then we need to be able to save the CSS that we type into the meta box, so we add the content from the Custom CSS meta box to the post meta area.</p>
<pre class="brush: php; title: ; notranslate">
function bb_save_custom_css($post_id) {
	if (!wp_verify_nonce($_POST['custom_css_noncename'], 'custom-css')) return $post_id;
	if (defined('DOING_AUTOSAVE') &amp;&amp; DOING_AUTOSAVE) return $post_id;
	$custom_css = $_POST['custom_css'];
	update_post_meta($post_id, '_custom_css', $custom_css);
}
</pre>
<p>Now we need a way to insert the correct Custom CSS into the header of the specific page or post that has content entered into the Custom CSS meta box.</p>
<pre class="brush: php; title: ; notranslate">
function bb_insert_custom_css() {
	if (is_page() || is_single()) {
		if (have_posts()) : while (have_posts()) : the_post();
			echo '&lt;style type=&quot;text/css&quot;&gt;'.get_post_meta(get_the_ID(), '_custom_css', true).'&lt;/style&gt;';
		endwhile; endif;
		rewind_posts();
	}
}
</pre>
<p>Finally, we hook all of these functions into the necessary WordPress hooks using add_action.</p>
<pre class="brush: php; title: ; notranslate">
add_action('admin_menu', 'bb_custom_css_hooks');
add_action('save_post', 'bb_save_custom_css');
add_action('wp_head','bb_insert_custom_css');
</pre>
<p>If you want the full code, I’ve made a <a href="http://pastebin.com/E2C0uV9K" target="_blank">PasteBin file</a> for all to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/adding-per-post-css-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding WordPress Action Hooks</title>
		<link>http://www.benjaminbradley.com/understanding-wordpress-action-hooks/</link>
		<comments>http://www.benjaminbradley.com/understanding-wordpress-action-hooks/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 21:54:06 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Tutorials]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Hooks]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=64</guid>
		<description><![CDATA[The moment you start digging the tiniest bit under the surface of WordPress in your attempt to either tweak your website or create a theme or plugin, you will come face-to-face with WordPress action hooks. The common question among people who are going deeper with WordPress is what are action hooks and how do I use them? So this post will answer those two questions, plus give you a boost up in your WordPress development...]]></description>
				<content:encoded><![CDATA[<p>The moment you start digging the tiniest bit under the surface of WordPress in your attempt to either tweak your website or create a theme or plugin, you will come face-to-face with <b>WordPress action hooks</b>.  The common question among people who are going deeper with WordPress is what are <b>action hooks</b> and how do I use them?  So this post will answer those two questions, plus give you a boost up in your WordPress development pursuits.</p>
<h2>What are WordPress Action Hooks?</h2>
<p>At the very basic level, <b>action hooks are placeholders</b>.  They are specific locations in your WordPress theme that allow functions/code/etc to <em>hook into</em>. The most basic examples of a action hooks, that normally exists in every single WordPress site, are the <code>wp_head</code> and <code>wp_footer</code> action hooks.  Both of these are placeholders that are located at&#8230; (you guessed it)&#8230; inside the header of the theme and in the footer of the theme.  Typical uses of these two action hooks are to place analytic tracking codes or to add some additional CSS files to a WordPress page.</p>
<p>In a nutshell, an <b>action hook is a predefined place on your site</b> left open by the developer of the site where the user/developer can insert specific code to expand the capability of the site.</p>
<h2>How do you use an Action Hook?</h2>
<p>Let&#8217;s use an example of adding some additional meta tag descriptions to the <code><head></code> section of our WordPress site.  Because an <b>action hook</b> is just a <em>placeholder</em>, we need to create a function, a piece of code that will run in that action hook location.  Our sample function will add a meta tag description to our WordPress site.</p>
<pre class="brush: php; title: ; notranslate">
function bb_actionhook_example() {
  echo '&lt;meta name=&quot;description&quot; content=&quot;My new meta description.&quot; /&gt;' &quot;n&quot;;
}
</pre>
<p>This function is then <em>hooked</em> into the <b>action hook</b> by using the WordPress <code>add_action()</code> function.  (<a href="http://codex.wordpress.org/Function_Reference/add_action" target="_blank">More information about <code>add_action()</code> can be found on the WordPress Codex.</a>)</p>
<pre class="brush: php; title: ; notranslate">
add_action('wp_head', 'bb_actionhook_example');
</pre>
<p>Now our site contains our new meta description tag because we&#8217;ve run the function in the <code>wp_head</code> action hook location.</p>
<h2>What if my theme doesn&#8217;t come with any action hooks?</h2>
<p>Most WordPress themes today have many <b>action hooks</b> to enhance the flexibility and capability of the theme.  Four popular and powerful themes, <a href="http://www.shareasale.com/r.cfm?b=266518&#038;u=402701&#038;m=29819&#038;urllink=&#038;afftrack=" target="_blank">Catalyst</a>, <a href="http://ithemes.com/member/go.php?r=66&#038;i=b23" target="_blank">Builder</a>, <a href="http://www.shareasale.com/r.cfm?b=287041&#038;u=402701&#038;m=28169&#038;urllink=&#038;afftrack=" target="_blank">Genesis</a>, and <a href="http://www.shareasale.com/r.cfm?b=316775&#038;u=402701&#038;m=33197&#038;urllink=&#038;afftrack=" target="_blank">Startbox</a> have a wide assortment of action hooks to give developers a lot of power in customizing the look and functionality of a site.  But what if your theme doesn&#8217;t have the amount of action hook you want?  Or what if your theme doesn&#8217;t have action hooks in the right place?  This is an easy fix, because you can <b>add your own action hooks to any WordPress theme</b>.</p>
<p>If you open up your theme&#8217;s template files (PHP files) you should be able to locate the location where you desire an <b>action hook</b> to reside.  At that location, simple use this line of PHP code to create a new action hook.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php do_action('my_new_action_hook'); ?&gt;
</pre>
<p>Now you can use the newly created <code>my_new_action_hook</code> to hook in your own functions and expand your current theme dynamically.</p>
<p>How do you use <b>Action Hooks</b>?</p>
<p><em>Side Note: If you want a list of all default action hooks in WordPress, <a href="http://codex.wordpress.org/Plugin_API/Action_Reference" target="_blank">visit this page on the Codex</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/understanding-wordpress-action-hooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Best Of 2011: WordPress</title>
		<link>http://www.benjaminbradley.com/the-best-of-2011-wordpress/</link>
		<comments>http://www.benjaminbradley.com/the-best-of-2011-wordpress/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 21:46:13 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=62</guid>
		<description><![CDATA[Every year around this time I reflect over the past year, and consider the people, products, and events that shape the direction I took over the past year. This is the first of three posts. This first post is focused on WordPress (the CMS platform) since a lot of my work revolves around this awesome software. The second post deals with my personal growth over the past year, and this year will focus heavily on...]]></description>
				<content:encoded><![CDATA[<p>Every year around this time I reflect over the past year, and consider the people, products, and events that shape the direction I took over the past year.  This is the first of three posts.  This first post is focused on WordPress (the CMS platform) since a lot of my work revolves around this awesome software.  The second post deals with my personal growth over the past year, and this year will focus heavily on my involvement with the fire department.  The third post is my &#8220;crystal ball&#8221; post in which I look at the future that is 2012 and pontificate about changes I see coming and changes I WISH will happen.</p>
<p>I have built a career on top of WordPress.  For the past two years I&#8217;ve been blazing new trails with WebDesign.com training business leaders, educators, freelancers, developers, designers and people who are life long learners how to use and maximize the potential of WordPress.  We&#8217;ve dug deep into the code and development aspects of building rock-solid websites with cutting edge functionality.  We&#8217;ve been dissecting the individual necessary elements that when combined create a comprehensive SEO strategy for success.  We&#8217;ve been going &#8220;right-brained&#8221; on design and creativity while striving to harness the power of design tools like Photoshop, Pixelmator, and more.  We&#8217;ve detailed the roadmap required to become a successful business owner and freelancer.  All in all, this has been an exciting and fascinating year.  We&#8217;ve got so much in store for the upcoming year at WebDesign.com and I&#8217;d like invite you to take a <a href="http://webdesign.com">closer look at who we are and what types of training and community we can provide for you</a>.
<p>But I realize this year would not have been possible without the amazing talents of many people within the WordPress ecosystem.  So I wanted to take a moment to thank many of them and I&#8217;m sure some have no idea they have had any such influence on a large group of members at WebDesign.com.  So without further delay, here are some of my top influential people within the WordPress world.</p>
<h2>Chris Jean</h2>
<p>Chris is the lead developer over at <a href="http://ithemes.com">iThemes.com</a> and the brilliant brain child of the <a href="http://ithemes.com/purchase/builder-theme/">Builder Theme</a>. Chris exemplifies the words of Lao Tzu when he said that &#8220;to see things in the seed, that is genius&#8221;.  Chris is able to see complex topics/solutions/ideas and see them from the littlest element and what that small tool/code/sample could become.  Plus, Chris knows how to turn that little element into the fully fleshed out practical tool that he originally envisioned.  His love of code, logic, and the ability to think through solving problems has been an inspiration to me.  Plus, his Builder theme which enables all levels of programmers/developers/designers to harness immense amounts of power in crafting websites.  So to you Chris, I raise my glass of holiday egg nog!</p>
<h2>Carl Hancock</h2>
<p>For many people Carl&#8217;s name is synonymous with <a href="http://webdesign.com/gravity">Gravity Forms</a>. But really it is Carl and his team that have done so much to shape the direction of premium plugins within the WordPress ecosystem.  Carl&#8217;s dedication to ease-of-use, accessibility to advanced functionality, and a rock-solid plugin is a great blueprint for any other plugin developers to heed.  Gravity Forms has revolutionized the toolbox of freelance and professional development studios.  Gravity Forms is now one of the <a href="http://webdesign.com/gravity">&#8220;must install&#8221; plugins</a> that should be on every single WordPress installation.  Gravity Forms allows me to point the community of WebDesign.com to the plugin as a solution for many of their problems. So to Carl and the Gravity Forms team, this second glass of egg nog goes to you.</p>
<h2>Dustin Bolton</h2>
<p>Dustin has the ability to change an entire industry.  He did this with a homerun right out of the gate as the lead developer at PluginBuddy with <a href="http://pluginbuddy">BackupBuddy</a>.  BackupBuddy single-handedly changed the way developers worked with and backed up their WordPress sites.  BackupBuddy allowed for simple (and complex) site migrations from different servers, automated backups, and so much more.  Like Gravity Forms, BackupBuddy is a &#8220;must install&#8221; plugin for WordPress.  And for many developers and studios using WordPress, BackupBuddy has created a new revenue stream as they are easily able to automate backup solutions for clients.  Dustin (and your PluginBuddy team), I was able to get a special coupon code for buying one egg nog and getting two for free.  This one&#8217;s for you.</p>
<h2>Scott Kingsley Clark</h2>
<p>Sometimes a person has to think outside the box to not only get something done but to change the way people interact with technology. And as Steve Jobs said, &#8220;Design is not just what it looks like and feels like. Design is how it works.&#8221;  Scott Kingsley Clark and the team he works with on the <a href="http://podscms.org">Pods plugin</a> is the embodiment of that type of thinking.  WordPress had an issue and pods solved that issue and allowed developers to have little relational databases of content existing inside of WordPress.  Pods provided a new way of dealing with data in WordPress, from creating new content systems to a simple way to customize thousands of dynamically created pages.  Pods even powers a large portion of the WebDesign.com training library. So Scott and the pods developers out there&#8230; $pods->showTemplate(&#8216;MassiveGlassofEggNog&#8217;);</p>
<h2>Justin Tadlock &#038; Pippin Williamson</h2>
<p>I put <a href="http://www.justintadlock.com">Justin Tadlock</a> (<a href="http://themehybrid.com">Hybrid Theme</a>) and <a href="http://pippinspages.com/">Pippin Williamson</a> (<a href="http://pippinsplugins.com/">Pippin&#8217;s Plugins</a>) together because they both have a great desire to not only educate the WordPress community about developing with WordPress but are also committed to releasing great products that add useful tools to the WordPress community and WordPress itself.  Whether it is Justin&#8217;s <a href="http://wordpress.org/extend/plugins/members/">Members plugin</a> or <a href="http://themehybrid.com/">Hybrid theme</a>, or Pippins&#8217; <a href="http://pippinsplugins.com/easy-content-types/">Easy Custom Post Type plugin</a> or his <a href="http://pippinsplugins.com/post-types-column-editor-for-wordpress/">Post Type Column Editor</a>, these two developers are good at identifying needs within the community and providing solid solutions.  And to Justin and Pippin, I drain the final bit of egg nog in your honor.</p>
<p>These six individuals have shaped my approach to development and also shaped how I teach development.  It is my opinion that these six individuals have made WordPress a better community to be a part of and I&#8217;m thankful that they are who they are.  And while there are many people who have great influence in the WordPress ecosystem, I wanted to highlight these six who have had tremendous impact in the WordPress community.</p>
<p>Who do you think in the industry has changed the way you worked with WordPress this past year?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/the-best-of-2011-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter has Changed</title>
		<link>http://www.benjaminbradley.com/twitter-has-changed/</link>
		<comments>http://www.benjaminbradley.com/twitter-has-changed/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 21:38:21 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=59</guid>
		<description><![CDATA[I&#8217;ve been using Twitter for more than five years. It is amazing how much has changed&#8230; both in perception of the service as well as usage of service. And while the fail whale is still a dreaded sight it has become ingrained into our vocabulary. Twitter has done an amazing job of not only changing the way we communicate, but also changing the way we relate to one another. Let&#8217;s step back in time and...]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using Twitter for more than five years. It is amazing how much has changed&#8230; both in perception of the service as well as usage of service. And while the fail whale is still a dreaded sight it has become ingrained into our vocabulary.  Twitter has done an amazing job of not only changing the way we communicate, but also changing the way we relate to one another.  Let&#8217;s step back in time and take a look at what Twitter used to be to the few early adopters and what it has become today to the masses.</p>
<p>First, it is not a stretch to say that in the early days of Twitter it was viewed as some &#8220;nerd/geek&#8221; thing that was pointless.  The only people who spent time on Twitter probably had no friends of their own.  Plus, the biggest statement about Twitter users was that they were &#8220;over-sharers&#8221;.  People who were so narcissistic that they believed other people actually wanted to know when they were brushing their teeth or what they were having for dinner or the fact that they &#8220;just woke up&#8221;.</p>
<p class="twitternow">Fast forward to today and we see that Twitter has morphed into an amazing avenue of content sharing.  But the truly amazing thing is that it&#8217;s not just for content sharing but also for content consumption.  People from all different demographics are sharing content, conversation, and consumption.  These are people that users probably would have no way to connect with or discover without Twitter.</p>
<p>I remember when talking to people about Twitter and its usefulness, most people simply laughed and made some reference to the fact that Twitter was simply a tool to keep you from doing any work.  It was a procrastination enhancer.  This probably correlated to the first issue where people just thought others were &#8220;over-sharers&#8221; and that anyone who spent time on Twitter was just wasting their time following people&#8217;s daily tasks&#8230; watching paint dry.</p>
<p class="twitternow">Now when any major news or event happens around the world Twitter is one of the most reliable and fastest sources of information.  People tune into news and individual Twitter accounts to get the latest and even real-time reporting of events.  When was the last time we heard about a plane crash, earthquake, tsunami, sports victory, or election debate where we didn&#8217;t hear something about Twitter saying this or that?</p>
<p>Even when Twitter was getting started back in 2006, Jack Dorsey (founder/creator) tweeted the first tweet, <em>&#8220;just setting up my twttr&#8221;</em>.  It was setup to share short bursts of inconsequential bits of information. It was built around the 140 character limit in order to encourage a more condensed form of chit-chat.</p>
<p class="twitternow">That original limiting 140 characters has become the creative building block to shape headlines and even help popularize the shortening of URLs so that linking of content would take the least amount of space because space was so valued.  The 140 characters enabled user&#8217;s voices to get right to the point and not deal with idle chit-chat.</p>
<p>In the early days of Twitter, there were times it would seem like a massive black hole sucking all content and thoughts.  This impression was left not only on critics but even many users felt that when they <em>tweeted</em> on Twitter it was like talking to the wall.  Even though there were lots of people, at times it could seem like nobody was listening.</p>
<p class="twitternow">I can&#8217;t tell you how many people I meet today who say they first made a connection with a friend or business associate first on Twitter because of a discussion revolving around a topic both participants were engaged in and spun the conversation out into real life. Twitter has because a resource for creating connections and facilitating conversations.</p>
<p>Twitter was viewed as a mob scene with everyone shouting at the same time.  There were only individuals.  There were no brands, there were no products, there were no organizations.  Even Twitter itself spent countless hours (and years) trying to find its own brand and financial stability.</p>
<p class="twitternow">But now, Twitter has an ongoing engagement between companies and brands and their valued customer base.  Twitter gave a voice to brands.  Twitter became useful for driving traffic&#8230; because now people were listening.  It isn&#8217;t just a shouting black hole.  And for those companies and brands who take customer service seriously, Twitter has been an amazing gift for them as they are able to connect with and assist their customer base.</p>
<p>How have you seen Twitter change?  Do you think Twitter has gone in a positive direction?  Where do you want Twitter to go from here?  Oh, and if you want&#8230;. you can follow me at @benjaminbradley</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/twitter-has-changed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding a Google Plus Button to WordPress</title>
		<link>http://www.benjaminbradley.com/adding-a-google-plus-button-to-wordpress/</link>
		<comments>http://www.benjaminbradley.com/adding-a-google-plus-button-to-wordpress/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 21:28:09 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Tutorials]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=55</guid>
		<description><![CDATA[Google+ is a not only a great social network, but its a great way to advance your social sharing objectives for your website. When someone shares your site or your post using the “+1″ button, it not only shares the link, but it will continue to “share” the link on Google search results. Many times this alone will assist in the decision making process of whether someone clicks on a search result or not. And...]]></description>
				<content:encoded><![CDATA[<p><a href="http://plus.google.com/">Google+</a> is a not only a great social network, but its a great way to advance your social sharing objectives for your website. When someone shares your site or your post using the “+1″ button, it not only shares the link, but it will continue to “share” the link on Google search results. Many times this alone will assist in the decision making process of whether someone clicks on a search result or not.</p>
<p>And while there are plugins that you can use that will auto-insert the Google Plus icon on your site… why waste the overhead of a plugin if you can accomplish the same thing with a single line of code. That’s right, I’m going to show you how to easily add the Google Plus icon/button to your site/post.</p>
<p>All you have to do is add this single line of code into the header section of your website.</p>
<pre class="brush: xml; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;http://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt;</pre>
<p>If you are using the Builder theme, you can accomplish this in the Settings page of Builder by placing the code like so…</p>
<p><img src="http://www.wpden.com/wp-content/uploads/2012/11/Google-ChromeScreenSnapz005-300x42.png" alt="" title="Google-ChromeScreenSnapz005-300x42" width="300" height="42" class="aligncenter size-full wp-image-57" /></p>
<p>The next step is simple. Whenever you want a Google+ button to appear, you place the following HTML tag in that location.</p>
<pre class="brush: xml; title: ; notranslate">&lt;g:plusone&gt;&lt;/g:plusone&gt;</pre>
<p>So now you have a very simple way of utilizing the Google Plus social sharing capabilities.</p>
<p>This is how it will appear on your site:<br />
<g:plusone></g:plusone></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/adding-a-google-plus-button-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Facebook Post Image Sharing</title>
		<link>http://www.benjaminbradley.com/fixing-facebook-post-image-sharing/</link>
		<comments>http://www.benjaminbradley.com/fixing-facebook-post-image-sharing/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 21:14:07 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[WordPress Tutorials]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wpden.com/?p=51</guid>
		<description><![CDATA[How many of you have had the issue of writing a great post about an amazing topic. It is so amazing that everyone who reads your post wants to share it with all of their friends. So everyone runs over to Facebook or Digg or Google Plus or (insert name of latest social sharing craze) and when they enter your post url, the default image that pops up is the image of one of your...]]></description>
				<content:encoded><![CDATA[<p>How many of you have had the issue of writing a great post about an amazing topic. It is so amazing that everyone who reads your post wants to share it with all of their friends. So everyone runs over to Facebook or Digg or Google Plus or (insert name of latest social sharing craze) and when they enter your post url, the default image that pops up is the image of one of your ads you have on your site. </p>
<p>Example:<br />
<img src="http://www.wpden.com/wp-content/uploads/2012/11/Google-ChromeScreenSnapz003-300x158.png" alt="" title="Google-ChromeScreenSnapz003-300x158" width="300" height="158" class="aligncenter size-full wp-image-52" />
</p>
<p>What if there was a way for you to assist these social networking website with choosing the CORRECT image or the preferred image so you’re not going around promoting ads instead of your site. Well there are two quick bits of code you can add to your site to help with this situation.</p>
<p>What if there was a way for you to assist these social networking website with choosing the CORRECT image or the preferred image so you’re not going around promoting ads instead of your site. Well there are two quick bits of code you can add to your site to help with this situation.</p>
<h3>First Image Fix Option</h3>
<p>The first option is to add the following single line of code to your header area of your site. When we’re using WordPress we can do this several ways. We can modify the header.php file and insert the line above the tag, or we can add it into the header area by creating a simple function in our active theme’s functions.php file. The line that we need to add looks like this:</p>
<pre class="brush: xml; title: ; notranslate">&lt;link rel=&quot;image_src&quot; href=&quot;http://www.yourdomain.com/defaultpic.png&quot; /&gt;</pre>
<p>The <em>rel=”image_src”</em> essentially gives your entire site a “default image”. Any site that might be using your site’s url to grab information, if they have a need to create a thumbnail or visual representation, this link is one of the first places they will look.</p>
<h3>Second Image Fix Option</h3>
<p>This next option is specific for Facebook. Facebook has some new markup protocols called OpenGraph. We can take advantage of these protocols and literally instruct Facebook to use the Featured Image of a post as the default thumbnail. The following code goes in the active theme’s functions.php file.</p>
<pre class="brush: php; title: ; notranslate">
function fix_facebook() {
	global $wp_query;
	$thePostID = $wp_query-&gt;post-&gt;ID;
	if( has_post_thumbnail( $thePostID )){
    		$thumb_id = get_post_thumbnail_id( $thePostID );
    		$image = wp_get_attachment_image_src( $thumb_id );
    		echo '&lt;meta property=&quot;og:image&quot; content=&quot;'.$image[0].'&quot; /&gt;';
	} 
}
add_action('wp_head','fix_facebook');
</pre>
<p>So now when I share a post on facebook, I will get the correct thumbnail without messing around with the images and ads on my site.</p>
<p><img src="http://www.wpden.com/wp-content/uploads/2012/11/Google-ChromeScreenSnapz004-300x158.png" alt="" title="Google-ChromeScreenSnapz004-300x158" width="300" height="158" class="aligncenter size-full wp-image-53" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminbradley.com/fixing-facebook-post-image-sharing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
