<?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>CarlBliss.com &#187; Wordpress</title>
	<atom:link href="http://www.carlbliss.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.carlbliss.com</link>
	<description></description>
	<lastBuildDate>Tue, 10 Jan 2012 04:33:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Where You At? Adding Simple Geo-targeting to Your Site</title>
		<link>http://www.carlbliss.com/2011/09/adding-geo-targeting-to-your-website-with-3-lines-of-code/</link>
		<comments>http://www.carlbliss.com/2011/09/adding-geo-targeting-to-your-website-with-3-lines-of-code/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 01:26:18 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Interactive Media]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=815</guid>
		<description><![CDATA[I am working on a site that needs to target 7 specific markets with unique content. I was looking for a simple way to target content by geographic location. GeoPlugin.com has a simple API that makes it easy to plug geo-targeted content into your application or site. I was able to get started by playing [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a site that needs to target 7 specific markets with unique content. I was looking for a simple way to target content by geographic location.</p>
<p><a href="http://geoplugin.com">GeoPlugin.com </a>has a simple API that makes it easy to plug geo-targeted content into your application or site. I was able to get started by playing with their <a href="http://www.geoplugin.com/examples">examples</a>.</p>
<p>Passing an IP address to their API returns some great information<span id="more-815"></span> including:</p>
<ul>
<li> City</li>
<li>Region</li>
<li>Area Code</li>
<li>DMA Code</li>
<li>Country Code</li>
<li>Country Name</li>
<li>Longitude and Latitude</li>
<li>Currency info</li>
</ul>
<div>In the case of my particular project, just getting that DMA code would allow me to figure out which broadcast market the user was in. Then I would be able to query content from WordPress based on where they were detected.</div>
<div>But let&#8217;s play with just displaying the city.</div>
<div>The first step is to get the info from the API:</div>
<blockquote><p><code>$geo_lookup = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));</code></p></blockquote>
<p>That gets an array with the data on the user&#8217;s IP address.</p>
<p>All I&#8217;m interested in this time is the city. The City is returned in the array with the key geoplugin_city.</p>
<blockquote><p><code>$city = $geo_lookup['geoplugin_city'];</code><br />
<code>echo "Hello ".$city;</code></p></blockquote>
<p>Here is the complete code: (all 3 lines)</p>
<blockquote><p><code>$geo_lookup = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));</code><br />
<code>$city = $geo_lookup['geoplugin_city'];</code><br />
<code>echo "Hello ".$city;</code></p></blockquote>
<p><strong><a href="http://carlbliss.com/geo.php">You can see the code in action here &gt;&gt;</a></strong></p>
<p>It&#8217;s certainly not foolproof. I tested this with a coworker who was connected to our home office by VPN. His Madison, WI laptop was detected in Saint Paul, MN.  But this at least allows us to make some content easier for a greater number of users.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2011/09/adding-geo-targeting-to-your-website-with-3-lines-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ordering WordPress Posts by Custom Field</title>
		<link>http://www.carlbliss.com/2011/09/ordering-wordpress-posts-by-custom-field/</link>
		<comments>http://www.carlbliss.com/2011/09/ordering-wordpress-posts-by-custom-field/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 21:02:21 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom field]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpdb]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=797</guid>
		<description><![CDATA[The default behavior for a WordPress post is to post by content publish date. On occasion, that order may need to be changed. In a recent project, we had a list of upcoming events. We wanted 4 of these events to display on the front page of the site, in order of the event date [...]]]></description>
			<content:encoded><![CDATA[<p>The default behavior for a WordPress post is to post by content publish date. On occasion, that order may need to be changed.<span id="more-797"></span></p>
<p>In a recent project, we had a list of upcoming events. We wanted 4 of these events to display on the front page of the site, in order of the event date (not necessarily the entry date).</p>
<p>We created an &#8220;Event&#8221; custom post type. It included a number of fields that were custom to that post type, including event date, ticket price, venue, ticket ordering link etc.</p>
<p>I just needed a way to sort that event_date field (stored as Y-m-d).</p>
<p><strong>The Query</strong></p>
<p>When WordPress goes to get the posts from your database, it runs through the &#8220;<a href="http://codex.wordpress.org/Template_Tags/query_posts">Query Posts</a>&#8221; structure to get your content. It&#8217;s a pretty powerful function that allows the developer to pass a number of variables to the MySQL query. But sometimes&#8230; you just need a little more control.</p>
<p>In the case of our project, we needed to grab that custom field and use it to order the posts.</p>
<p>I was able to accomplish that by just passing my custom query to the $wpdb class</p>
<p><a href="http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query">This post from the WordPress Codex helped me get that built</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2011/09/ordering-wordpress-posts-by-custom-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jet Pack for WordPress</title>
		<link>http://www.carlbliss.com/2011/03/jet-pack-for-wordpress/</link>
		<comments>http://www.carlbliss.com/2011/03/jet-pack-for-wordpress/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 03:01:39 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Jet Pack]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=716</guid>
		<description><![CDATA[WordPress users: If you enjoy some of the features of WordPress.com, but want to self-host, check out the new JetPack plugin for WordPress: http://jetpack.me/ A great collection of features, designed to take the wordpress.com experience to your own site. Have you tried it yet? How is it working for you?]]></description>
			<content:encoded><![CDATA[<p>WordPress users:</p>
<p>If you enjoy some of the features of WordPress.com, but want to self-host, check out the new JetPack plugin for WordPress:</p>
<p><a href="http://jetpack.me/">http://jetpack.me/</a></p>
<p>A great collection of features, designed to take the wordpress.com experience to your own site.</p>
<p>Have you tried it yet? How is it working for you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2011/03/jet-pack-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Branding Your WordPress Login Screen</title>
		<link>http://www.carlbliss.com/2011/02/branding-your-wordpress-login-screen/</link>
		<comments>http://www.carlbliss.com/2011/02/branding-your-wordpress-login-screen/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 14:33:31 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=676</guid>
		<description><![CDATA[On occasion, I want to customize my WordPress login screen with some of my project branding. This is especially important when I&#8217;m working on a site that manages subscribers. It&#8217;s also a nice little touch to add to client sites, to give the client a sense of ownership. I was surprised at the number of [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://www.carlbliss.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushPhp.js"></script>
<p>On occasion, I want to customize my WordPress login screen with some of my project branding. This is especially important when I&#8217;m working on a site that manages subscribers. It&#8217;s also a nice little touch to add to client sites, to give the client a sense of ownership.</p>
<p>I was surprised at the number of web-tutorials that encourage editing &#8220;wp-admin/css/login.css&#8221;, or overwriting the WordPress logo image in wp-admin.</p>
<p>In practice, try to avoid ever editing an item inside the wp-admin and wp-includes folder in WordPress. Any changes made to those files, are likely to be overwritten the next time you upgrade WordPress.</p>
<p>The WordPress login screen changes can be made in your theme folder.</p>
<p>Here&#8217;s how I did it:<span id="more-676"></span></p>
<p><img class="aligncenter size-full wp-image-677" title="Screen shot 2011-02-02 at 10.21.54 AM" src="http://www.carlbliss.com/wp-content/uploads/2011/02/Screen-shot-2011-02-02-at-10.21.54-AM.png" alt="" width="393" height="203" /></p>
<p>The goal here is just to replace the WordPress logo with my project&#8217;s logo.</p>
<p>I started by creating a new logo image:</p>
<p><img class="aligncenter size-full wp-image-678" title="Screen shot 2011-02-02 at 10.23.24 AM" src="http://www.carlbliss.com/wp-content/uploads/2011/02/Screen-shot-2011-02-02-at-10.23.24-AM.png" alt="" width="329" height="72" /></p>
<p>I saved that image to the &#8220;images&#8221; folder of my WordPress theme (You may already have a logo file there that you can use).</p>
<p>Then I created a custom CSS file and put it in my theme&#8217;s folder:</p>
<p>I just called it &#8220;login_screen.css&#8221;. It looked like this:</p>
<blockquote><p><code>/*My Login CSS */<br />
h1 a {<br />
background:url(../images/my_logo.jpg) 0 0 no-repeat;<br />
}</code></p></blockquote>
<p>The last step is to call that function in your theme&#8217;s functions.php file (if your theme doesn&#8217;t have one, you can just create it&#8230; it&#8217;s good for all kinds of great stuff you may want to do in the future. (<a href="http://codex.wordpress.org/Theme_Development#Functions_File" target="_blank">learn more about functions.php here&#8230;)</a>)</p>
<p>I put this in my functions.php file:</p>
<blockquote><p><pre class="brush: php">&lt;?php function my_login_style() {
echo '&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;'.get_bloginfo('stylesheet_directory').'/login_screen.css&quot; /&gt;'; 
}
add_action('login_head', 'my_login_style');
?&gt;</pre></p></blockquote>
<p>That function called the CSS file I had created, and just overwrote the element that included the WordPress logo.</p>
<p><img class="aligncenter size-full wp-image-695" title="Screen shot 2011-02-02 at 10.51.17 AM" src="http://www.carlbliss.com/wp-content/uploads/2011/02/Screen-shot-2011-02-02-at-10.51.17-AM.png" alt="" width="348" height="210" /></p>
<p>You&#8217;ve probably realized already that that is just the tip-of the iceberg when it comes to customizing the wp-login.php css. I&#8217;ve seen some pretty sweet custom login screens.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2011/02/branding-your-wordpress-login-screen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Toy Box &#8211; 10 Great WordPress Plugins to Get You Started</title>
		<link>http://www.carlbliss.com/2010/11/wordpress-plugins-to-get-you-started/</link>
		<comments>http://www.carlbliss.com/2010/11/wordpress-plugins-to-get-you-started/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 17:15:11 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordCampMSP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=655</guid>
		<description><![CDATA[I led a session at the recent Word Camp MSP event. This session was designed to help those who are just getting their feet wet with WordPress, understand what a plugin is, and how they can help their installation of WordPress. It is important to note that not every plugin is appropriate for every installation. [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://www.carlbliss.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushPhp.js"></script>
<p>I led a session at the recent <a href="http://www.wordcampmsp.org">Word Camp MSP</a> event. This session was designed to help those who are just getting their feet wet with WordPress, understand what a plugin is, and how they can help their installation of WordPress.</p>
<p>It is important to note that not every plugin is appropriate for every installation. Each site&#8217;s goals and content need to be taken into consideration before extending WordPress. However, after bouncing the question around to a number of peers, these are some of the plugins that have bubbled to the surface.</p>
<p>Here are the plugins we featured:</p>
<ol>
<li><a href="http://www.ilfilosofo.com/blog/wp-db-backup">WordPress Database Backup</a></li>
<li><a href="http://wordpress.org/extend/plugins/wptouch/screenshots/">WP Touch</a></li>
<li><a href="http://www.gravityforms.com/">Gravity Forms</a></li>
<li><a href="http://wordpress.org/extend/plugins/nextgen-gallery/">NextGen Gallery</a></li>
<li><a href="http://wordpress.org/extend/plugins/audio-player-oogiechetos/">Audio Player</a></li>
<li><a href="http://wordpress.org/extend/plugins/share-and-follow/">Share and Follow</a></li>
<li><a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a></li>
<li><a href="http://txfx.net/wordpress-plugins/page-links-to/">Page Links To</a></li>
<li><a href="http://http://www.ruhanirabin.com/wp-optimize/">WP-Optimize</a></li>
<li><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All in One SEO Pack</a></li>
</ol>
<p><strong>What about you?</strong> What are your &#8220;Must-install&#8221; plugins on WordPress?</p>
<p>Others that came up (these were peer recommended, but I haven&#8217;t used all of them,)</p>
<ul>
<li>Spam Karma 2</li>
<li>Get Recent Comments</li>
<li>Subscribe to Comments</li>
<li>Meteor Slides</li>
<li>Custom Field Template</li>
<li>Category Posts Widget</li>
<li>WordPress PHP Info</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2010/11/wordpress-plugins-to-get-you-started/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Creating a Basic WordPress Plugin</title>
		<link>http://www.carlbliss.com/2010/05/creating-a-basic-wordpress-plugin/</link>
		<comments>http://www.carlbliss.com/2010/05/creating-a-basic-wordpress-plugin/#comments</comments>
		<pubDate>Tue, 25 May 2010 21:00:06 +0000</pubDate>
		<dc:creator>Carl</dc:creator>
				<category><![CDATA[Cool Web Links]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.carlbliss.com/?p=528</guid>
		<description><![CDATA[This post includes some sample code, and web links for a presentation I put together for the Minneapolis/Saint Paul WordPress Users Group. The session is an introduction to creating a WordPress Plugin. This post is intended to be a place to find the resources and code used in the demonstration, but I will attempt to explain what [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://www.carlbliss.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushPhp.js"></script>
<p>This post includes some sample code, and web links for a presentation I put together for the <a href="http://groups.google.com/group/mpls-stpaul-wordpress" target="_blank">Minneapolis/Saint Paul WordPress Users Group</a>. The session is an introduction to creating a WordPress Plugin. This post is intended to be a place to find the resources and code used in the demonstration, but I will attempt to explain what it all means in this post.<span id="more-528"></span></p>
<p><strong>The Purpose</strong></p>
<p>This post is intended to be an introduction to the basic structure of a WordPress plugin. The plugin is, arguably, not extremely useful. But it does do something. So that has to count for something, right?</p>
<p>The purpose of a user group is to bring product users together to learn from each other. I&#8217;m not an expert in WordPress plugin development. So I would love to learn from you. If I missed something, or could say something better, feel free to leave a comment below!</p>
<p><strong>The Problem</strong></p>
<p>On our family blog, I posted a picture of our children, with their names.</p>
<p><img class="alignnone size-full wp-image-532" title="Screen shot 2010-05-26 at 8.20.35 AM" src="http://www.carlbliss.com/wp-content/uploads/2010/05/Screen-shot-2010-05-26-at-8.20.35-AM.png" alt="" width="387" height="318" /></p>
<p>The only problem was that my wife and I would rather not post their names online. Our preference is that we will refer to them as &#8220;Thing 1&#8243;, &#8220;Thing 2&#8243; and &#8220;Thing 3&#8243;.</p>
<p><strong>The Solution</strong><br />
Now, I could try and remember to change their names every time I write a  post. I suppose that wouldn&#8217;t be too difficult. However, as a true  geek, I decided to find a way to automate it. <strong>I created a WordPress  plugin that will change their names in each post.</strong></p>
<p>WordPress plugins are an easy way to enhance, suppress or filter some of the basic WordPress functionality. It makes it fairly simple to customize the functionality, without editing the application itself.</p>
<p>Plugins are stored in the wp-content/plugins folder in your WordPress installation.</p>
<p><strong>The Start</strong></p>
<p>The first thing we do is create the plugin file. For this project, I created the PHP file:</p>
<p>wp-content/plugins/thing1.php</p>
<blockquote><p><code><br />
/*<br />
Plugin Name: Thing 1<br />
*/</code></p></blockquote>
<p>That is the minimum amount of information needed to create a plugin. With that file created, I should be able to go the &#8220;Plugin&#8221; section of my WordPress dashboard, and see the plugin listed.</p>
<p><img class="alignnone size-full wp-image-533" title="Screen shot 2010-05-26 at 8.30.59 AM" src="http://www.carlbliss.com/wp-content/uploads/2010/05/Screen-shot-2010-05-26-at-8.30.59-AM.png" alt="" width="290" height="86" /></p>
<p>Sweet!</p>
<p><strong>Now, let&#8217;s make something happen</strong></p>
<p>Now that the plugin file has been created, we will add a simple PHP function to replace the girls&#8217; names with the generic replacements:</p>
<blockquote><p><code><br />
function thing_1($text) {<br />
$text = str_replace('Helga', 'Thing 1', $text);<br />
$text = str_replace('Olga', 'Thing 2', $text);<br />
$text = str_replace('Inga', 'Thing 3', $text);<br />
return $text;<br />
}</code></p></blockquote>
<p>What we&#8217;ve done here is created a function called &#8220;thing_1&#8243; that will process the content it is sent ($text) and replace the names with the replacement words.</p>
<p>The next step is to attach this function to WordPress. We are going to do this with a hook the WordPress API has provided for plugin creation.</p>
<p><strong>Hooks</strong></p>
<p>There are two types of hooks in WordPress. Action hooks and Filter hooks.</p>
<p>Action hooks are used to add a function when WordPress &#8220;does something&#8221; (like sending an email or writing to the database)</p>
<p>Filter hooks are used to modify data before it is written to the database, or published to the browser.</p>
<p>There are a lot of hooks. I&#8217;m not going to get into them here, but here are some great links to learn more about the various hooks in WordPress:</p>
<ul>
<li><a href="http://codex.wordpress.org/Plugin_API">http://codex.wordpress.org/Plugin_API</a> (a general guide to understanding how hooks work with the API)</li>
<li><a href="http://codex.wordpress.org/Plugin_API/Filter_Reference (">http://codex.wordpress.org/Plugin_API/Filter_Reference (</a>a list of Filter hooks in WordPress)</li>
</ul>
<p>For this project, we are going to use a &#8220;Filter Hook&#8221; to modify the post content before it is published to the browser. This will keep the names intact in the database, but will change them before it is displayed on the browser screen:</p>
<blockquote><p><code>add_filter('the_content', 'thing_1');</code></p></blockquote>
<p>This uses the WordPress function &#8220;add_filter&#8221; to add my function &#8220;thing_1&#8243; to the filter hook &#8220;the_content&#8221;. Essentially, it will take the contents of &#8220;the_content&#8221; and pass it through the function &#8220;thing_1&#8243;.</p>
<p>There are other arguments that can be passed to the &#8220;add_filter&#8221; function. For more information, visit<a href="http://codex.wordpress.org/Function_Reference/add_filter" target="_blank"> this reference on the function</a>.</p>
<p><strong>Let&#8217;s take a look</strong>.</p>
<p>Now that we have created the plugin file, created a function, and assigned that function to a Filter Hook, I am going to activate the plugin and see how it impacts my site:</p>
<p><img class="alignnone size-full wp-image-535" title="Screen shot 2010-05-26 at 8.51.16 AM" src="http://www.carlbliss.com/wp-content/uploads/2010/05/Screen-shot-2010-05-26-at-8.51.16-AM.png" alt="" width="413" height="325" /></p>
<p>You can see now, that the plugin has replaced the names in the post. The only remaining issue is that the name &#8220;Helga&#8221; still shows up in the post title:</p>
<p>Let&#8217;s add one more filter to the plugin, to apply the same function (thing_1) to the post title.</p>
<blockquote><p><code>add_filter('the_title', 'thing_1');</code></p></blockquote>
<p>Here we are grabbing onto the Filter Hook &#8220;the_title&#8221; to apply the same function. Let&#8217;s take a look:</p>
<p><img class="alignnone size-full wp-image-536" title="Screen shot 2010-05-26 at 8.58.29 AM" src="http://www.carlbliss.com/wp-content/uploads/2010/05/Screen-shot-2010-05-26-at-8.58.29-AM.png" alt="" width="382" height="316" /></p>
<p>Perfect.</p>
<p>Now that the function works, I am going to add a few more lines to the comments at the top of the plugin file, to take a little credit for my work:</p>
<blockquote><p><code>/*<br />
Plugin Name: Thing 1<br />
Plugin URI: http://www.carlbliss.com/?p=528<br />
<code> Description: Protects the identity of my daughters by changing their names to generic Dr. Seuss References<br />
Author: Carl Bliss<br />
Author URI: http://www.carlbliss.com<br />
Version: 1.0b<br />
*/</code></code></p></blockquote>
<p>Those comments will add extra information to the plugin page in the dashboard.</p>
<p><img class="alignnone size-medium wp-image-537" title="Screen shot 2010-05-26 at 9.02.59 AM" src="http://www.carlbliss.com/wp-content/uploads/2010/05/Screen-shot-2010-05-26-at-9.02.59-AM-640x39.png" alt="" width="640" height="39" /></p>
<p>And the process has now been automated!</p>
<p>Here is the completed plugin code (wp-content/plugins/thing_1.php)</p>
<blockquote><p><code><br />
/*<br />
Plugin Name: Thing 1<br />
Plugin URI: http://www.carlbliss.com/thing_1<br />
Description: Protects the identity of my daughters by changing their names to generic Dr. Seuss References<br />
Author: Carl Bliss<br />
Author URI: http://www.carlbliss.com<br />
Version: 1.0b<br />
*/</code></p>
<p><code>function thing_1($text) {<br />
$text = str_replace('Helga', 'Thing 1', $text);<br />
$text = str_replace('Olga', 'Thing 2', $text);<br />
$text = str_replace('Inga', 'Thing 3', $text);<br />
return $text;<br />
}</code></p>
<p><code>add_filter('the_content', 'thing_1');<br />
add_filter('the_title', 'thing_1');</code></p></blockquote>
<p>You can download the entire plugin file here: <a href="http://www.carlbliss.com/wp-content/uploads/2010/05/thing_1.php_.zip">thing_1.php</a> (ZIP)</p>
<blockquote><p><code> </code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.carlbliss.com/2010/05/creating-a-basic-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 6/43 queries in 0.061 seconds using disk: basic
Object Caching 560/628 objects using disk: basic

Served from: www.carlbliss.com @ 2012-02-08 08:47:10 -->
