<?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>PoundBangWhack.com &#187; Wordpress Plugins</title>
	<atom:link href="http://www.poundbangwhack.com/category/development/wordpress-plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.poundbangwhack.com</link>
	<description>A web development/programming blog providing info, tips, and tricks on programming languages, scripting, Linux, MySQL and more</description>
	<lastBuildDate>Sat, 17 Jul 2010 05:17:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Improve the performance of the WordPress plugin Statpress (and your blog)</title>
		<link>http://www.poundbangwhack.com/2010/07/03/improve-the-performance-of-the-wordpress-plugin-statpress-and-your-blog/</link>
		<comments>http://www.poundbangwhack.com/2010/07/03/improve-the-performance-of-the-wordpress-plugin-statpress-and-your-blog/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 06:15:59 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[StatPress]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=1369</guid>
		<description><![CDATA[I haven't hid my feelings about <a href="http://www.poundbangwhack.com/2009/12/02/avoid-wordpress-statpress-plugin-like-the-plague/">the poor performing StatPress plugin for WordPress</a>.  However, performance issues aside, I will say that the information this plugin provides is useful, and detailed.  I've been running this plugin for 8 months now and have a good sized data set (125,000+ rows of data).  While I myself have not experienced as many issues with this plugin as I have seen on other blogs, it is mainly because I am running my blog on a virtual dedicated server as opposed to shared hosting.  I have seen smaller data sets than mine cause problems on shared hosting servers.]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t hid my feelings about <a href="http://www.poundbangwhack.com/2009/12/02/avoid-wordpress-statpress-plugin-like-the-plague/">the poor performing StatPress plugin for WordPress</a>.  However, performance issues aside, I will say that the information this plugin provides is useful, and detailed.  I&#8217;ve been running this plugin for 8 months now and have a good sized data set (125,000+ rows of data).  While I myself have not experienced as many issues with this plugin as I have seen on other blogs, it is mainly because I am running my blog on a virtual dedicated server as opposed to shared hosting.  I have seen smaller data sets than mine cause problems on shared hosting servers.<br />
<span id="more-1369"></span><br />
I mentioned in my other post that I was working on fixing the faults in this plugin and am releasing my first round of updates for those of you using StatPress.  Take the following code and run it on your WordPress database, either through shell or through phpMyAdmin:</p>
<pre name="code" class="sql">
alter table wp_statpress
 modify column date int(8) NULL NULL,
 modify column time time NULL NULL,
 modify column ip varchar(15) NULL NULL,
 modify column nation varchar(10) NULL NULL,
 modify column os varchar(64) NULL NULL,
 modify column browser varchar(64) NULL NULL,
 modify column searchengine varchar(64) NULL NULL,
 modify column spider varchar(64) NULL NULL,
 modify column feed varchar(32) NULL NULL,
 modify column user varchar(64) NULL NULL,
 modify column timestamp timestamp NULL NULL,
 add index spider_nation (spider, nation),
 add index ip_date (ip, date),
 add index (agent(255)),
 add index (search(255)),
 add index (referrer(255)),
 add index feed_spider_os (feed, spider, os),
 add index (os),
 add index date_feed_spider (date, feed, spider),
 add index feed_spider_browser (feed, spider, browser),
 add index (browser);
</pre>
<p><em>**Note: This code assumes your StatPress table name is wp_statpress.  If it is not, make sure you update the code to reflect the name of your StatPress table.</em></p>
<p>This will set proper data types on the StatPress table as well as add indexes to the columns that are regularly queried by the plugin.   Hopefully with these changes, you will start to notice a performance improvement in your blog as well as a significant improvement on your StatPress plugin page on your dashboard.</p>
<p>Please let me know if this helps you out, or if you have any problems executing the code, by commenting below. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2010/07/03/improve-the-performance-of-the-wordpress-plugin-statpress-and-your-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our first WordPress Plugin: WordPress Woot Watcher</title>
		<link>http://www.poundbangwhack.com/2010/02/17/our-first-wordpress-plugin-wordpress-woot-watcher/</link>
		<comments>http://www.poundbangwhack.com/2010/02/17/our-first-wordpress-plugin-wordpress-woot-watcher/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:23:29 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Woot]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=1268</guid>
		<description><![CDATA[In conjunction with Lee Thompson of MySQLHow2.com, we have released our first WordPress Plugin: 
WordPress Woot Watcher

WordPress Woot Watcher, will monitor and check woot, shirt.woot, kids.woot, wine.woot and sellout.woot for new products every 10 hours. When a woot-off is launched, the widget will update the woot product every 30 seconds. WordPress Woot Watcher is a [...]]]></description>
			<content:encoded><![CDATA[<p>In conjunction with <a href="http://www.mysqlhow2.com">Lee Thompson of MySQLHow2.com</a>, we have released our first WordPress Plugin: </p>
<blockquote><h4><a href="http://www.poundbangwhack.com/wordpress/plugins/wordpress-woot-watcher/">WordPress Woot Watcher</a></h4>
</blockquote>
<p>WordPress Woot Watcher, will monitor and check woot, shirt.woot, kids.woot, wine.woot and sellout.woot for new products every 10 hours. When a woot-off is launched, the widget will update the woot product every 30 seconds. WordPress Woot Watcher is a sidebar widget that enables select the woot sites you want to monitor in the administration section. The default installation selects woot.com only.</p>
<p>For all the details, installation, and more, visit the <a href="http://www.poundbangwhack.com/wordpress/plugins/wordpress-woot-watcher/">WordPress Woot Watcher</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2010/02/17/our-first-wordpress-plugin-wordpress-woot-watcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoid WordPress StatPress plugin like the plague!</title>
		<link>http://www.poundbangwhack.com/2009/12/02/avoid-wordpress-statpress-plugin-like-the-plague/</link>
		<comments>http://www.poundbangwhack.com/2009/12/02/avoid-wordpress-statpress-plugin-like-the-plague/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 07:44:58 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[StatPress]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=1036</guid>
		<description><![CDATA[I'll agree that the features of the plugin are nice, including the real-time monitoring, the GUI, and the sheer amount of data collected.  However, the design flaws mentioned previously can spell disaster for your website, especially if it is a popular site.  The information provided by the StatPress plugin is useful.  However, when you scratch just below the surface of this plugin, beyond the stats, the plugin itself is horrible.]]></description>
			<content:encoded><![CDATA[<p><strong>** Update: I have released my first set of <a href="http://www.poundbangwhack.com/2010/07/03/improve-the-performance-of-the-wordpress-plugin-statpress-and-your-blog/">updates to the StatPress plugin</a>.  Check out the post for code to improve your blogs performance of StatPress</strong></p>
<p>The WordPress plugin StatPress is an absolutely <strong>horrid</strong> plugin to use. Yes, I said it&#8230;<strong>horrid!</strong>  After seeing many people praising this plugin on their sites, this is a bold statement.<br />
<span id="more-1036"></span><br />
As anyone who <a href="http://www.google.com/search?hl=en&#038;source=hp&#038;q=Mark+Stoecker&#038;aq=f&#038;oq=&#038;aqi=g10">google&#8217;s my name</a>, you&#8217;ll see that I’m a MySQL <acronym title="Database Administrator">DBA</acronym> for <a href="http://www.godaddy.com">GoDaddy.com</a>.  My primary responsibilities include managing our shared hosting MySQL servers.  In my job I see people using StatPress on their <a href="http://www.wordpress.org">WordPress blogs</a> and it <strong>kills the performance of the server, and their site.</strong>  Not only does it store massive amounts of data (if you don&#8217;t change the settings), but the database design is just downright horrible.  A second version of this plugin, called StatPress Reloaded, does not resolve any of the design flaws prevalent in the original StatPress plugin.  Tables and columns that are regularly queried are missing integral indexes that can improve performance. Additionally, all data fields are by default TEXT (TEXT or TINYTEXT in SP Reloaded) data type, which is BAD!  This plugin should be avoided at all costs.</p>
<p>By changing a few data types and adding a couple indexes, I’ve taken queries from this plugin from examining 140k plus rows, down to examining less than 1800 rows, a 78% decrease in rows examined. Instead, I recommend “<a href="http://wordpress.org/extend/plugins/google-analytics-for-wordpress/">Google Analytics for WordPress</a>” or “<a href="http://wordpress.org/extend/plugins/stats/">Wordpress.com Stats</a>” (the latter requires an API key from <a href="http://www.wordpress.com">wordpress.com</a>, the former is obviously used in conjunction with Google Analytics, which is a great stat tracking software).</p>
<p>I&#8217;ll agree that the features of the plugin are nice, including the real-time monitoring, the GUI, and the sheer amount of data collected.  However, the design flaws mentioned previously can spell disaster for your website, especially if it is a popular site.  The information provided by the StatPress plugin is useful.  However, when you scratch just below the surface of this plugin, beyond the stats, the plugin itself is horrible.</p>
<p>I installed this plugin today to start tinkering with it to know it better so I could improve it.  After only 9 hours of collecting data, I have 270 rows of data on a blog that receives only minor traffic.  That&#8217;s approximately 720 rows of data per day and 21600 rows of data per month, and nearly 130,000 rows of data in 6 months.  Anyone who knows anything about database design, querying a table with 130,000 rows of data and no index can spell disaster for your blog.  And that&#8217;s only on a minor traffic blog.  If your site gets more traffic than that, you&#8217;re in serious trouble.</p>
<p>I am currently working on fixing all the faults in the database design and query execution of this plugin and will post here once I have, as well as on WordPress.org.  If you have further questions or comments about this plugin, please post them here and I will do my best to answer.</p>
<p>You may wonder why I didn&#8217;t link to the WordPress.org plugins page or the developer&#8217;s home pages for these plugins, but it&#8217;s because I don&#8217;t want to send traffic to them as, since i mentioned, they are not useful plugins.  You can find them and install them on your own if you want, but as you can tell, I wouldn&#8217;t recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/12/02/avoid-wordpress-statpress-plugin-like-the-plague/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New website launch: OneWordSurveys.com</title>
		<link>http://www.poundbangwhack.com/2009/10/19/new-website-launch-onewordsurveys-com/</link>
		<comments>http://www.poundbangwhack.com/2009/10/19/new-website-launch-onewordsurveys-com/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 06:45:51 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Site Launches]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Wordpress Themes]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=1023</guid>
		<description><![CDATA[<a href="http://www.onewordsurveys.com" target="_blank">OneWordSurveys.com</a> is a site as simple as it's concept: Simple (one word) answers to simple questions.  The site poses simple questions to users, all with one word answers.  Questions like "Soda or Pop?", "Coke or Pepsi?", "Biscuits or Muffins?", and much, much more.  The site also provides a means for users to submit their own surveys as well.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.desertwebdesigns.com">Desert Web Designs</a> is pleased to announce the launch of our latest site:</p>
<blockquote>
<h4><a href="http://www.onewordsurveys.com" target="_blank">OneWordSurveys.com</a></h4>
</blockquote>
<h3>The Site</h3>
<p><a href="http://www.onewordsurveys.com" target="_blank">OneWordSurveys.com</a> is a site as simple as it&#8217;s concept: Simple (one word) answers to simple questions.  The site poses simple questions to users, all with one word answers.  Questions like &#8220;Soda or Pop?&#8221;, &#8220;Coke or Pepsi?&#8221;, &#8220;Biscuits or Muffins?&#8221;, and much, much more.  The site also provides a means for users to submit their own surveys as well.<br />
<span id="more-1023"></span></p>
<h3>The Design</h3>
<p>As you can see from visiting the site, the design is not overly complicated.  The client wanted to focus on the surveys and make them as visible as possible and make voting simple.  This meant a clean and simple design making the posts highly visible in the overall design.  The theme chosen is called SimpleX and is provided by <a href="http://wpshoppe.com/" target="_blank">WPShoppe.com</a>.</p>
<p>Only minor changes were made to the theme and installed plugins on the website after the initial design.  Most of these were simply aesthetic changes at the request of the client.  In addition to standard performance plugins, we also developed a plugin to allow all posts to be posted directly to the client&#8217;s <a href="http://twitter.com/onewordsurveys" target="_blank">Twitter account</a> as well as also posting directly to the client&#8217;s <a href="http://www.facebook.com/pages/One-Word-Surveys/157289412261" target="_blank">Facebook page</a> setup for <a href="http://www.onewordsurveys.com/" target="_blank">OneWordSurveys.com</a>.  Lastly, we also customized a contact form plugin so that when a user submits a survey of their own, it will automatically create the survey and schedule the post within the database, thus automating the website further.  At this point, all the client has to do is double check the post before it&#8217;s scheduled post time. </p>
<p>Overall, this site was a very quick and easy site we developed for the client.  However, as you can see, and as the client can attest to with the automation, quick and easy does not always sacrifice quality.  This site took approximately 5 hours to complete.</p>
<p><a href="http://www.onewordsurveys.com" target="_blank">OneWordSurveys.com</a> includes the following services:</p>
<ul>
<li><abbr title="HyperText Markup Language">HTML</abbr></li>
<li><abbr title="PHP Hypertext Preprocessor">PHP</abbr></li>
<li><abbr title="Cascading Style Sheets">CSS</abbr></li>
<li>Javascript</li>
<li><acronym title="Asynchronous JavaScript and XML">AJAX</acronym></li>
<li><acronym title="My Structured Query Language">MySQL</acronym></li>
<li>Customized WordPress Blog</li>
<li>WordPress Theme Customization</li>
<li>WordPress Plugin Development</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/10/19/new-website-launch-onewordsurveys-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Insert Google Ads into the Content of your WordPress Post</title>
		<link>http://www.poundbangwhack.com/2009/06/15/how-to-insert-google-ads-into-the-content-of-your-wordpress-post/</link>
		<comments>http://www.poundbangwhack.com/2009/06/15/how-to-insert-google-ads-into-the-content-of-your-wordpress-post/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 05:26:59 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Wordpress Themes]]></category>
		<category><![CDATA[Adsense]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=662</guid>
		<description><![CDATA[Have you ever wondered how to get your Google Ads inside your post content like I have below?  A couple of days ago, I was trying to figure out <strong>how to insert Google Adsense Ads directly into my post content</strong> without pasting the whole Adsense code.  I came across an article that detailed exactly what I was looking for: <a href="http://www.flexijourney.com/blog/insert-google-adsense-code-anywhere-in-your-wordpress-article/" taret="_blank">Insert Google Adsense Code Anywhere In Your Wordpress Article</a>.]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered how to get your Google Ads inside your post content like I have below?  A couple of days ago, I was trying to figure out <strong>how to insert Google Adsense Ads directly into my post content</strong> without pasting the whole Adsense code.  I came across an article that detailed exactly what I was looking for: <a href="http://www.flexijourney.com/blog/insert-google-adsense-code-anywhere-in-your-wordpress-article/" taret="_blank">Insert Google Adsense Code Anywhere In Your Wordpress Article</a>.<br />
<span id="more-662"></span></p>
<p class="post_ad_box"><!--Adsense2--></p>
<p>Phillip made a very easy function (posted below) that allows you to insert code for multiple Adsense units into your blog theme&#8217;s functions.php file and then call it with the comment-style tag <span class="pre">&lt;!&#8211;Adsense1&#8211;&gt;</span> (a la <span class="pre">&lt;!&#8211;more&#8211;&gt;</span>).  After modifying the functions.php file, you only need to modify the single.php file to call the function in order to get return the Ads.</p>
<p>The beauty of the function is not only that you can create additional adsense units and call which specific one you need, but that if you happen to place your <span class="pre">&lt;!&#8211;Adsense1&#8211;&gt;</span> code before the <span class="pre">&lt;!&#8211;more&#8211;&gt;</span> tag or within the post excerpt, it will be read as a regular HTML comment since the index.php or archive.php files do not recognize <span class="pre">&lt;!&#8211;Adsense1&#8211;&gt;</span> as a WordPress tag.</p>
<p>Check back on my blog or <a href="http://feeds2.feedburner.com/PoundBangWhack">subscribe to my feed</a> as I plan on turning this function into a WordPress plugin to streamline the installation and use even more.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Edit your theme&#8217;s functions.php file by appending the following lines to the end of the file.  Your functions.php file is located at <strong>/wp-content/themes/[your theme name]/functions.php</strong>.  If you do not have a functions.php file, you can create one with this code (make sure you replace your Adsense Code)</p>
<pre name="code" class="php">function get_the_content_with_formatting ($more_link_text='', $stripteaser=0, $more_file='')
{
   $content = get_the_content($more_link_text, $stripteaser, $more_file);
   $content = apply_filters('the_content', $content);
   $content = str_replace(']]&gt;', ']]&gt;', $content);
   return $content;
}

function AddGoogleAds ($content)
{
$Adsense1_1 = &lt;&lt;&lt;ADSCODE1
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-9999999999999999";
google_ad_slot = "0000000000";
google_ad_width = 250;
google_ad_height = 250;

//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;
ADSCODE1;

$Adsense2 = &lt;&lt;&lt;ADSCODE2
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-9999999999999999";
google_ad_slot = "1111111111";
google_ad_width = 336;
google_ad_height = 280;

//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;ADSCODE2;

$content = str_replace(array('&lt;p&gt;&lt;!--Adsense1--&gt;&lt;/p&gt;','&lt;!--Adsense1--&gt;'),$Adsense1,$content);
$content = str_replace(array('&lt;p&gt;&lt;!--Adsense2--&gt;&lt;/p&gt;','&lt;!--Adsense2--&gt;'),$Adsense2,$content);
return $content;
}
</pre>
<p><a href="http://www.flexijourney.com/blog/insert-google-adsense-code-anywhere-in-your-wordpress-article/" target="_blank">(source: Philip Ze)</a></p>
<p>After you have made the above changes, make the following changes to your single.php file, again in your theme&#8217;s directory.  Find the line with the tag <span class="pre">the_content(<em>parameters</em>)</span> and replace it with the content below:</p>
<pre name="code" class="php">&lt;?php
   $cont = get_the_content_with_formatting();
   $cont = AddGoogleAds($cont);
   echo $cont ;
?&gt;
&lt;?php /* the_content('(more)'); */ ?&gt;</pre>
<p>Again, to insert your ads into your post content, place the tag <span class="pre">&lt;!&#8211;Adsense1&#8211;&gt;</span> or <span class="pre">&lt;!&#8211;Adsense2&#8211;&gt;</span> into your content.  You can continue adding more Adsense units to your functions.php file following the same templaye as what is currently there.  </p>
<p><script language="javascript">
dp.SyntaxHighlighter.ClipboardSwf = 'http://www.poundbangwhack.com/wp-content/uploads/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/06/15/how-to-insert-google-ads-into-the-content-of-your-wordpress-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix a broken WordPress RSS feed</title>
		<link>http://www.poundbangwhack.com/2009/06/09/how-to-fix-a-broken-wordpress-rss-feed/</link>
		<comments>http://www.poundbangwhack.com/2009/06/09/how-to-fix-a-broken-wordpress-rss-feed/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 20:14:57 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Feedburner]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=591</guid>
		<description><![CDATA[Looking over my analytics for my blog the last couple days, I've noticed I have got a couple of referral visits from my <a href="http://www.desertwebdesigns.com">web design company </a> website.  I added a FeedBurner widget to the front of that site highlighting my 5 most recent blog posts.  Out of curiosity, I was browsing on that website and notice the Widget stated "Watch this space for future items!"  Well that was just weird to me since I post every day.  Upon further research, FeedBurner was showing an error "There is an issue that must be addressed with your source feed for the feed".  When I went to my actual <a href="http://www.poundbangwhack.com/feed">feed URL</a>, I got the following error:

<code>XML Parsing Error: XML or text declaration not at start of entity
Location: http://www.poundbangwhack.com/feed/
Line Number 2, Column 1:&#60;?xml version="1.0" encoding="UTF-8"?&#62;
^</code>]]></description>
			<content:encoded><![CDATA[<p class="post_ad_box"><!--Adsense1--></p>
<p>Looking over my analytics for my blog the last couple days, I&#8217;ve noticed I have got a couple of referral visits from my <a href="http://www.desertwebdesigns.com">web design company </a> website.  I added a FeedBurner widget to the front of that site highlighting my 5 most recent blog posts.  Out of curiosity, I was browsing on that website and notice the Widget stated &#8220;Watch this space for future items!&#8221;  Well that was just weird to me since I post every day.  Upon further research, FeedBurner was showing an error &#8220;There is an issue that must be addressed with your source feed for the feed&#8221;.  When I went to my actual <a href="http://www.poundbangwhack.com/feed">feed URL</a>, I got the following error:</p>
<p><code>XML Parsing Error: XML or text declaration not at start of entity<br />
Location: http://www.poundbangwhack.com/feed/<br />
Line Number 2, Column 1:&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
^</code></p>
<p><span id="more-591"></span>As I have preached before, you need to read the error code.  The error above indicates that the problem is on <strong>Line Number 2, Column 1</strong>.  If you know anything about <acronym title="eXtensible Markup Language">XML</acronym>, you know that all <acronym title="eXtensible Markup Language">XML</acronym> files have to start with the <span class="pre">&lt;?xml</span> on the first line of your code.  As indicated by the error message above, this is on the second line, meaning there is an empty line on line 1, which is causing the problems.  Now there question is, how did it get there?</p>
<h3>Sometimes the Plugin is the Problem, not the Solution</h3>
<p>Let&#8217;s assume for a minute that your WordPress installation is correct and working and you have not modified any of the core WordPress files, which you shouldn&#8217;t need to do anyways, but some people still do (I have myself).  The most common cause of this blank line is going to be your plugins.  </p>
<p>On my blog I have two plugins I have written.  One of them updates <a href="http://twitter.com/mstoecker">my Twitter status</a> when I post, and the other is a plugin that simplifies adding new books to <a href="http://www.poundbangwhack.com/tech-library/">my tech library.</a>  However, I currently have 15 other plugins installed as well.  I didn&#8217;t think at first it was one of my plugins, although that would be the most likely culprit as we can <strong>usually</strong> be safe in the assumption that if you downloaded the plugin from <a href="http://www.wordpress.org">wordpress.org</a> that the plugin is complete and works properly.  I know I&#8217;m making a lot of assumptions here and plugins have been known to fight with each other on occasion.  </p>
<p>The error is generally caused by a blank line at the end of the file after the last <span class="pre">?&gt;</span> tag.  If you don&#8217;t want to (or didn&#8217;t) make the assumption I did, how do we check all the plugins to make sure they&#8217;re ok?  It will be to time consuming to open up every file and check them all.  The fastest way to do it? Deactivate all your plugins.  This won&#8217;t change any configurations you have saved.  Check your feed URL, it should be working.  If not&#8230;you have bigger problems.  One by one, reactivate your plugins and check your feed URL each time.  As soon as it breaks, you&#8217;ve found the problem plugin.  Open up the plugin&#8217;s php file(s) and scroll to the bottom of each one.  If you have a blank line after the last <span class="pre">?&gt;</span> tag, delete it, save the file, and check your feed URL again.  That should take care of it and your feed should be working now!  In my case, it was my <a href="http://www.poundbangwhack.com/tech-library/">tech library</a> plugin that was causing it, and I wrote that almost two weeks ago, meaning my feed had been broken for almost 2 weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/06/09/how-to-fix-a-broken-wordpress-rss-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New website launch: FreeAdviceForCharity.com</title>
		<link>http://www.poundbangwhack.com/2009/05/19/new-website-launch-freeadviceforcharitycom/</link>
		<comments>http://www.poundbangwhack.com/2009/05/19/new-website-launch-freeadviceforcharitycom/#comments</comments>
		<pubDate>Tue, 19 May 2009 08:16:16 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Site Launches]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Wordpress Themes]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=205</guid>
		<description><![CDATA[When starting a professional blog-based site, I think the first step is finding a theme that you like and fits your needs.  I searched all over for a good financial-based theme and presented the client with a number of ideas to go off of.  He finally decided on not a financial theme, but a travel based theme from <a href="http://www.ezwpthemes.com/templates/peregrinator.html">EZWPthemes.com.</a>.  This site provides a number of great looking WordPress themes for free.  ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.desertwebdesigns.com">Desert Web Designs</a> is pleased to announce the launch of our latest site:</p>
<blockquote>
<h4><a href="http://www.freeadviceforcharity.com" target="_blank">FreeAdviceForCharity.com</a></h4>
</blockquote>
<h3>The Site</h3>
<p><a href="http://www.freeadviceforcharity.com" target="_blank">FreeAdviceForCharity.com</a> is a a site based out of Phoenix, AZ that looks to give back to it&#8217;s visitor&#8217;s, more than most sites on the internet usually do.  The basis behind <a href="http://www.freeadviceforcharity.com" target="_blank">FreeAdviceForCharity.com</a> is that the sites team of professional financial advisors provide FREE financial advice to it&#8217;s visitors and ask nothing in return, aside from a request to donate to <a href="http://www.rotary.org/en/Contribute/Funds/PolioPlusFund/Pages/ridefault.aspx">Rotary International&#8217;s PolioPlus Fund.</a>  The Mission Statement of the site is:</p>
<blockquote><p>FreeAdviceForCharity.com is to provide the best quality advice for individuals regarding various financial needs while at the same time promoting local charities and building a stronger community.</p></blockquote>
<p><span id="more-205"></span></p>
<h3>The Design</h3>
<p>When I was initially approached by the client about this site, his description of the site he wanted was one where he could provide financial information and articles to his visitors on a regular basis.  He wanted to be able to continue to update the content and keep it fresh.  Immediately my thoughts turned to WordPress to create a blog site.  What better way to continually update the site and information for visitor&#8217;s without needing all the technical expertise and know-how to do so?  </p>
<p>The client was initially turned off a bit by the idea of a blog.  I believe this was mainly due to the misconceptions of the usefulness and power of a blog, in addition to the poor image that blogs have received due to the over-saturation of blogs on the internet.  Many of the blogs out there are poor in design and (especially) content.  Once I started to show the client the power of a WordPress blog, and the fact that they can be altered so that the site does not even look like your &#8220;traditional&#8221; blog, he became more open to the prospect.  </p>
<p>When starting a professional blog-based site, I think the first step is finding a theme that you like and fits your needs.  I searched all over for a good financial-based theme and presented the client with a number of ideas to go off of.  He finally decided on not a financial theme, but a travel based theme from <a href="http://www.ezwpthemes.com/templates/peregrinator.html">EZWPthemes.com.</a>.  This site provides a number of great looking WordPress themes for free.  </p>
<p>After nailing down the theme, next came the customization.  If you compare the above theme to the current site, you&#8217;ll notice a number of differences.  These include changes made to the header to make it a financial theme, replacement of the image in the recent post section with the Mission Statement and info box, and the replacement of the Gallery on the left with multiple other modules.</p>
<p>After the customization of the theme, it was time to start working on the content for the site; content other than the main blog posts.  This included a <a href="http://www.freeadviceforcharity.com/request-a-consultation/">Request a Consultation</a> page with custom JavaScript and <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> built into the request form.  The other main piece of development was the &#8220;Did You Know?&#8221; module on the left hand side.  Visitor&#8217;s will be presented with various &#8220;Did You Know?&#8221; facts as they travel throughout the site.  This was a custom WordPress Plugin we developed specifically for this site.  The client has the ability to log into his WordPress dashboard and add new quotes, edit existing quotes, or delete existing quotes, all of which are stored in a separate table within the WordPress database itself.  With the WordPress Plugin <acronym title="Application Programming Interface">API</acronym>, plugin development is pretty simple as it is mostly just basic PHP programming that utilizes the hooks built into WordPress.  You will also notice the &#8220;Meet With An Advisor&#8221; module on the left hand side.  We are currently working on another plugin to allow this data to be changed by the client as well. </p>
<p>Overall this was not a complicated site, as WordPress makes it very easy to launch websites in short amounts of time.  This site took just over 18 hours to complete, most of which was spent on the theme customization and plugin development.  </p>
<p><a href="http://www.freeadviceforcharity.com" target="_blank">FreeAdviceForCharity.com</a> includes the following services:</p>
<ul>
<li><abbr title="HyperText Markup Language">HTML</abbr></li>
<li><abbr title="PHP Hypertext Preprocessor">PHP</abbr></li>
<li><abbr title="Cascading Style Sheets">CSS</abbr></li>
<li>Javascript</li>
<li><acronym title="Asynchronous JavaScript and XML">AJAX</acronym></li>
<li><acronym title="My Structured Query Language">MySQL</acronym></li>
<li>Customized WordPress Blog</li>
<li>WordPress Theme Customization</li>
<li>WordPress Plugin Development</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/05/19/new-website-launch-freeadviceforcharitycom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First WordPress plugin a resounding success!</title>
		<link>http://www.poundbangwhack.com/2009/04/24/first-wordpress-plugin-a-resounding-success/</link>
		<comments>http://www.poundbangwhack.com/2009/04/24/first-wordpress-plugin-a-resounding-success/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 06:41:42 +0000</pubDate>
		<dc:creator>Mark Stoecker</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.poundbangwhack.com/?p=55</guid>
		<description><![CDATA[I finished the development of my first WordPress plugin.  It is a simple plugin that updates <a href="http://twitter.com/mstoecker" target="_blank">my Twitter status</a> when I post a new blog entry . . . I havn't made the plugin public yet because there's still more that I want to do to it, including validating login info once saved, allowing for custom tweets, general cleaning up/maintenance and more.  Once complete, then I'll probably make it public.]]></description>
			<content:encoded><![CDATA[<p>So maybe the title is a bit of a stretch, but I&#8217;m absolutely thrilled!  I finished the development of my first WordPress plugin.  It is a simple plugin that updates <a href="http://twitter.com/mstoecker" target="_blank">my Twitter status</a> when I post a new blog entry.  Now for anyone who maintains a WordPress blog and/or knows a bit about WordPress plugins, you&#8217;ll know that this has already been done many times over.  WELL I DON&#8217;T CARE!!  The best way to learn is by doing right?<br />
<span id="more-55"></span><br />
So I set about to create my plugin which simply updates my twitter with a message about a new blog post, the title, and a link and that&#8217;s it.  The two biggest accomplishments for me here were:</p>
<ol style="margin-left: 40px; list-style-type: decimal;">
<li>The development of the plugin itself (and getting it to work)</li>
<li>The use of <a href="http://us.php.net/manual/en/book.curl.php" target="_blank">cURL</a> within the plugin itself</li>
</ol>
<p>For those of you who don&#8217;t know, cURL is a PHP library that allows you to make calls to remote websites via a PHP script.  I know this isn&#8217;t all that difficult to learn, but I really havn&#8217;t had a need to use it up until now and so I never learned it.</p>
<p>As far as the plugin itself goes, the process turned out to be really quite simple.  First, you obviously enter your twitter username and password which is then encrypted and stored in the database for later use.  Next, the plugin just waits for a new post (not a page) to be published (not saved) and it checks to make sure that I havn&#8217;t already tweeted (twaught?) that post.  If I havn&#8217;t, it adds an entry to make sure I don&#8217;t retweet if the post is updated again.  It then creates (through cURL) the <a href="http://tinyurl.com" target="_blank">TinyURL</a> to use with the &#8220;tweet&#8221; by connecting to the <a href="http://tinyurl.com" target="_blank">TinyURL <abbr title="Application Programming Interface">API</abbr></a> from the script then and makes sure the tweet is less than 140 characters long.  Once past there, the script then connects to the <a href="http://apiwiki.twitter.com/" target="_blank">Twitter <abbr title="Application Programming Interface">API</abbr></a> and logs into my account to make the post, all through the script.  </p>
<p>I havn&#8217;t made the plugin public yet because there&#8217;s still more that I want to do to it, including validating login info once saved, allowing for custom tweets, general cleaning up/maintenance and more.  Once complete, then I&#8217;ll probably make it public.  But it&#8217;s a huge step in the right direction for me and I&#8217;m really happy with the results so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poundbangwhack.com/2009/04/24/first-wordpress-plugin-a-resounding-success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
