<?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>WordPress Web Hosting &#187; Function</title>
	<atom:link href="http://www.shrewdies.net/host/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shrewdies.net</link>
	<description>Business Web Hosting For Shrewdies Not Dummies</description>
	<lastBuildDate>Thu, 01 Jul 2010 06:41:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WordPress Plugin: Promotion Tool</title>
		<link>http://www.shrewdies.net/1558/promotion-tools-plugins-wordpress/</link>
		<comments>http://www.shrewdies.net/1558/promotion-tools-plugins-wordpress/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 13:34:21 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Form]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[WordPress blogging]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1558</guid>
		<description><![CDATA[Many of you looking for a WordPress plugin promotion tool have stumbled across my Happiness Today plugin. You seem disappointed that the next version is where the real promotion potential lies, but the good news is that you do not need to wait. If you have downloaded and activated Happiness Today, then you already have [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Many of you looking for a WordPress plugin promotion tool have stumbled across my <a href="http://www.shrewdies.net/happiness_today" title="WordPress Plugin: Promotion Tool">Happiness Today</a> plugin.</p>
<p>You seem disappointed that the next version is where the real promotion potential lies, but the good news is that you do not need to wait.</p>
<p>If you have downloaded and activated Happiness Today, then you already have a tool for displaying random (or selected) promotion messages in your WordPress posts, pages or sidebar.</p></div>
<p>The main appeal of Pods is the way it makes extending the WordPress database so easy. But stored data is of little use if you cannot present it to your visitors. My first release of Happiness Today was just to prove that, like Hello Dolly does for standard WordPress, it is very easy to build a basic plugin. That basic plugin instantly demonstrates how Pods stores and displays data. In keeping with the Hello Dolly tradition, I displayed random lyrics in the Admin area &#8211; but the real life potential was always to be able to produce something simple yet useful, that can display random promotion messages to visitors.</p>
<p>Those promotional features are included in the current release, just not obvious. Here&#8217;s how to use Pods inbuilt features to get more from the Happiness Today plugin. Start your marketing campaign now.<span id="more-1558"></span></p>
<h2>WordPress Pods Presentation Features</h2>
<p>In the plugin, I present the messages via a Pods template that is called whenever an admin page loads. That template adds formatting to match the admin color scheme, and configurable link buttons. I also present the full set of lyrics on the happiness_today information page using a very simple template that adds nothing but a line break.</p>
<p>Pods output is not restricted to templates that can be as simple or as complex as you need them. Neither is it restricted to Pods pages such as the example mentioned, where you can build a page similar to a WordPress page, but with easy access to your data. You can also include Pods output in regular WordPress posts and pages with a simple shortcode call. Like this:<br />
<!-- This site is running development Happiness Today<br />
       Released version uses different name &#038; template --></p>
<blockquote>Think of happiness today
<br>
All is one in their own way<br /></blockquote>
<p>That is a simple Pods shortcode wrapped in blockquote tags, but you are only limited by your imagination, and css talents. How about:</p>
<style type="text/css">
.podsdemo
{
	margin:1em 5em 1em 5em;
	padding: 1em;
	border: 1em outset red;
}
p.podsdemo:first-letter
{
	color:#ff0000;
	font-size:200%;
	float:left;
}
p.podsdemo:first-line {
	font-size:110%;
	text-transform: uppercase;
	font-weight:bold;
}</p>
</style>
<p><!-- This site is running development Happiness Today<br />
       Released version uses different name &#038; template --></p>
<div>
<p class="podsdemo">Don't let our love go away
<br>
No one wants sadness to stay<br />And men don't think you need to destroy
<br>
Love one another, war is a ploy<br /></p>
</div>
<p>In this second example, I&#8217;ve set the limit to two records. Note that records are called randomly, but I have included the chorus several times, so that will appear more frequently &#8211; just refresh your browser to see the random effect.</p>
<p>All you need to do is add the following shortcode to your post, page or text widget:</p>
<pre>&#91;pods name="happiness_today_text" order="RAND()" limit="1" template="happiness_today_list"]</pre>
<h2>WordPress Plugin Promotion Tool: Next Steps</h2>
<p>All the data in the <a href="http://www.shrewdies.net/happiness_today" title="WordPress Plugin: Promotion Tool">Happiness Today</a> plugin is easily edited using the Pods data table editing features. In my example, I use couplets from the Think Of Happiness Today lyrics. Though I limit the example text to two lines so that it displays in the admin area properly, you can use any HTML text you like. The Pods WYSIWYG editor allows the usual formatting including hyperlinks, or direct entry of HTML code.</p>
<p>Using Happiness Today for longer visitor messages might make your admin area a little cluttered. No problem &#8211; simply deactivate Happiness Today &#8211; the data management and presentation features that I have discussed here are all part of standard Pods, and will work fine.</p>
<p>In future versions, I&#8217;ll add the ability to import and export different campaign text sets, with other options to make life even easier than it is with the basic release. But you do not need to wait &#8211; the current release can be used for any promotion campaign you can think of, including random advertising. In fact, it does not even need to be random, for instance specific records can be called on specific posts. The only limit is your imagination.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1558/promotion-tools-plugins-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Pods: Food For Thought</title>
		<link>http://www.shrewdies.net/1445/wordpress-pods-food-for-thought/</link>
		<comments>http://www.shrewdies.net/1445/wordpress-pods-food-for-thought/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 11:41:25 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Form]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1445</guid>
		<description><![CDATA[The data-presentation link is vital. To get the best out of WordPress Pods, it pays to study the sample that is packaged with the Pods CMS plugin, and the more advanced examples in the Pods Packages directory. It is also vital to have a clear plan of the presentation outcomes that you need. When describing [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">The data-presentation link is vital. To get the best out of WordPress Pods, it pays to study the sample that is packaged with the Pods CMS plugin, and the more advanced examples in the Pods Packages directory.</p>
<p>It is also vital to have a clear plan of the presentation outcomes that you need.</p></div>
<p>When describing the <a href="http://www.shrewdies.net/1382/wordpress-database-with-pods-wings/">data aspect</a> of my first plugin, I wrote of the importance of thoroughly analyzing the relationship between the presentation of content required, and the structure of data needed to support it. Recently, I saw a question on the <a href="http://podscms.org/forums/installation/cafe-menu">Pods Support Forum</a> that seemed to relate to this area. I was particularly interested in it because the issues seemed to be similar to matters I had encountered with my <a href="http://www.shrewdies.net/shrewdbar/" title="shrewdBar WordPress Menu Bar Plugin">shrewdBar WordPress menu bar plugin</a>.</p>
<p>The difficulty with forum discussions is fully understanding what the issues are. If one is sat with a client, or even on a video link, it is easy to mock up a quick display and discuss what the presentation should actually look like. Difficulties are compounded with cultural and time-zone differences. But, &#8220;All is one in their own way,&#8221; and the power of the Internet allows the following attempt at understanding the problem and suggesting a solution.</p>
<p>I hope it solves the problem it tries to address, but even if it doesn&#8217;t, I&#8217;ve learned a neat CSS trick that I&#8217;ll be using again.</p>
<h2>Basic Pods Data Display</h2>
<p>First, create the Pod (Pods &#8211; Setup &#8211; Pods &#8211; Add new pod) using the data supplied.<img src="http://www.shrewdies.net/wp-content/uploads/wordpress-pods-table.png" alt="WordPress Pods Table" title="WordPress Pods Table" width="434" height="233" class="aligncenter size-full wp-image-1452" /><br />
Second, <span id="more-1445"></span>add some test data (Pods &#8211; Add {name_of_pod}). We could have used the Pod menu settings to make this title more meaningful, or even used a separate menu out of the Pods hierarchy.<br />
Third, create the Template (Pods &#8211; Setup &#8211; Templates &#8211; Add new template)<br />
<img src="http://www.shrewdies.net/wp-content/uploads/wordpress-pods-template.png" alt="WordPress Pods Template" title="WordPress Pods Template" width="548" height="156" class="aligncenter size-full wp-image-1454" />
<p align= "right"><sup><a href="#screenshot">Happiness Today screenshot note</a></sup></p>
<p>Fourth, test the output without any styling using
<pre>&lt;ul>&#91;pods name="shrewdies_cafe_menu"  template="shrewdies_cafe_menu"]&lt;/ul></pre>
<p><img src="http://www.shrewdies.net/wp-content/uploads/wordpress-pods-simple-output.png" alt="WordPress Pods Simple Output" title="WordPress Pods Simple Output" width="176" height="185" class="alignleft size-full wp-image-1458" />Fifth, go back to the template, change the list (li) tag to anchor (a &#8211; because we need to hover), and add the labels for the prices. Then apply some styling.</p>
<p>The span tags in the template seem redundant up to now, but they are there for a very good reason. The popup display in the &#8220;client brief&#8221; didn&#8217;t seem relevant for the small amount of information to display. Given it&#8217;s complexity, I searched for something simpler, and found <a href="http://meyerweb.com/eric/css/edge/popups/demo.html">Eric&#8217;s pure css popups</a>. So, adding some CSS styling, our list is transformed into:</p>
<style type="text/css">
<!--
div#links {width: 166px; height: 300px; font: 16px Verdana, sans-serif; z-index: 100;}
div#links a {display: block; text-align: center; font: bold 1em sans-serif; 
   padding: 5px 10px; margin: 0 0 1px; border-width: 0; 
   text-decoration: none; color: #FFC; background: #444;
   border-right: 5px solid #505050;}
div#links a:hover {color: #411; background: #AAA;
   border-right: 5px double white;}</p>
<p>div#links a span {display: none;}
div#links a > span {display: none;}
div#links a:hover span {display: block;
   position: relative; top: 0px; left: 100; width: 125px;
   padding: 5px; margin: 10px; z-index: 100;
   color: #AAA; background: black;
   font: 10px Verdana, sans-serif; text-align: center;}</p>
<p>-->
</style>
<div id="links"><a href="">Spicy Salver <span>Breakfast Price: $9.99<br />Lunch Price: $15.99<br />Dinner Price: $19.99</span></a><a href="">Golden Gutbuster <span>Breakfast Price: $19.99<br />Lunch Price: $25.99<br />Dinner Price: $29.99</span></a><a href="">Fish Fantasy <span>Breakfast Price: $12.97<br />Lunch Price: $15.97<br />Dinner Price: $19.97</span></a><a href="">Platinum Platter <span>Breakfast Price: $15.99<br />Lunch Price: $18.99<br />Dinner Price: $25.75</span></a><a href="">Bronze Buffet <span>Breakfast Price: $9.99<br />Lunch Price: $11.99<br />Dinner Price: $15.99</span></a></div>
<h3>WordPress Style Notes</h3>
<p>The transforming CSS is called by wrapping our Pods call in an appropriate div:</p>
<pre>&lt;div id="links">&#91;pods name="shrewdies_cafe_menu"  template="shrewdies_cafe_menu"]&lt;/div></pre>
<p>I&#8217;ve taken Eric&#8217;s CSS style and included it in this post, though in practice, you would probably paste it into your theme&#8217;s style sheet. Eric uses his for a menu positioned absolutely near the top left, so I have removed the container styling, and changed the span positioning to relative. I also added the bold line below &#8211; a duplicate of the preceding span line, with a greater than to signify anchor text that is a <a href="http://www.w3.org/TR/CSS21/selector.html#child-selectors">child selector</a> of a span. Without both versions, the span element refuses to hide &#8211; I assume this is a conflict with the styling from my theme.</p>
<pre>&lt;style type="text/css">
&lt;!--
div#links {width: 166px; height: 300px; font: 16px Verdana, sans-serif; z-index: 100;}
div#links a {display: block; text-align: center; font: bold 1em sans-serif;
   padding: 5px 10px; margin: 0 0 1px; border-width: 0;
   text-decoration: none; color: #FFC; background: #444;
   border-right: 5px solid #505050;}
div#links a:hover {color: #411; background: #AAA;
   border-right: 5px double white;}

div#links a span {display: none;}
<b>div#links a > span {display: none;}</b>
div#links a:hover span {display: block;
   position: relative; top: 0px; left: 100; width: 125px;
   padding: 5px; margin: 10px; z-index: 100;
   color: #AAA; background: black;
   font: 10px Verdana, sans-serif; text-align: center;}

-->
&lt;/style>
</pre>
<p><id = "screenshot" hr /></p>
<h4>Happiness Today Screenshot Note</h4>
<p>Though the two screenshots show the same lyrics from Think Of <a href="http://www.shrewdies.net/happiness_today">Happiness Today</a>, do not think that the program has stuck, or in some way does not work. Those lines are the chorus, and I have repeated them in line with the original lyrics. This means that this particular couplet will display more regularly in the display area. If you adapt the plugin for your own promotional purposes, repeat your most important messages, and they will display more frequently.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1445/wordpress-pods-food-for-thought/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pods WordPress Plugins Double Overnight</title>
		<link>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/</link>
		<comments>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 00:50:32 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1413</guid>
		<description><![CDATA[Today, the number of WordPress Pods plugins in the plugin database doubled. My Happiness Today plugin release joins the Pods UI plugin to double the number of examples of Pods CMS use. Though this is released as a teaching tool, you should not assume it is perfect. Though it works perfectly, there are a few [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Today, the number of WordPress Pods plugins in the plugin database doubled.</p>
<p>My <a href="http://wordpress.org/extend/plugins/happiness-today/">Happiness Today plugin</a> release joins the Pods UI plugin to double the number of examples of Pods CMS use.</div>
<p>Though this is released as a teaching tool, you should not assume it is perfect. Though it works perfectly, there are a few rough edges in the implementation. But that is the point of Open Source tools &#8211; we can improve all aspects of Happiness Today, collectively.</p>
<p>I like the idea of the Hello Dolly plugin as a teaching tool. Though it is criticized for it&#8217;s limited usefulness, the WordPress developers have defended it, by rightly explaining:</p>
<blockquote><p>I think Hello Dolly is a good little example plugin. Users can turn it on, see that it does something, turn it off, see that it doesn&#8217;t do it anymore. Plugin functionality exemplified.</p></blockquote>
<p>This is perfectly true, and useful for novice WordPress users who want to understand what a plugin is, without being intimidated by reams of PHP code. But Pods developers are a different breed. We have varying PHP &#038; HTML skills, but we are bound by a common desire to learn and extend WordPress functionality.</p>
<p>So Happiness Today goes beyond the remit of Hello Dolly, and achieves useful outcomes. Using the simple Pods data edit screens, you can transform Hello Dolly into a client support tool, or promotion tool for any campaign where short messages to WordPress website builders are going to win you a click or three.<br />
<div id="attachment_1415" class="wp-caption aligncenter" style="width: 510px"><img src="http://www.shrewdies.net/wp-content/uploads/simple-pods-wordpress-plugin-output.png" alt="Simple Pods WordPress Plugin Output" title="Simple Pods WordPress Plugin Output" width="500" height="50" class="size-full wp-image-1415" /><p class="wp-caption-text">Simple Pods WordPress Plugin Output</p></div></p>
<p>Though I have used plain text in the distributed plugin, the data is stored as rich text, so you can easily include images and hyperlinks in the message display. This is in addition to the included customizable link buttons. After editing the data files with whatever text you need, you can easily import it as a Pods Package for your client sites.</p>
<p>I prepared the plugin in minutes using the Pods Plugin Builder that is the real goal of this project. In fact, most of the time is spent writing the readme.txt file that is generated as part of the plugin distribution package. That tool is still under development, but when available, it will make distribution of your own version of Happiness Today, or any other Pods Package, a very simple process.</p>
<h3>Happiness Today Next Steps</h3>
<p>Please contribute ideas to the wishlist. Also, if you are a superb PHP programmer, I would love to here your thoughts on code improvement.</p>
<p>I would also like to you to rate the <a href="http://wordpress.org/extend/plugins/happiness-today/">Happiness Today Pods WordPress plugin</a>, but if you cannot give it a 5 star, at least give me the opportunity to fix any problems you have before you vote.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Pods Projects Going For A Song</title>
		<link>http://www.shrewdies.net/1373/wordpress-pods-projects-going-for-a-song/</link>
		<comments>http://www.shrewdies.net/1373/wordpress-pods-projects-going-for-a-song/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:56:45 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>
		<category><![CDATA[WordPress Pods Plugin Builder]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1373</guid>
		<description><![CDATA[When I introduced my WordPress Pods Plugin Builder yesterday, I hinted at an example project to test the builder with. I can reveal that this will be an homage to the ubiquitous Hello Dolly plugin &#8211; with some extras, and some Pods magic. Just to remind you. I love Pods as it is intended to [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">When I introduced my WordPress Pods Plugin Builder yesterday, I hinted at an example project to test the builder with.</p>
<p>I can reveal that this will be an homage to the ubiquitous Hello Dolly plugin &#8211; with some extras, and some Pods magic.</p></div>
<p>Just to remind you. I love Pods as it is intended to be used &#8211; a Content Management System that extends WordPress Pages and Posts to allow developers to provide new content styles. This is extremely important to me as I develop new tools for webmasters, and new web applications to extend my health sites.</p>
<p>But for the moment, I&#8217;m hooked (pun intended) on using Pods to hook rapidly developed packages into WordPress as plugins. This series of articles explains the Pods features used to create WordPress plugin files complete with readme.txt. WordPress explains what a plugin is by way of the Hello Dolly example. In a similar way, I needed a very simple plugin application to test and demonstrate my WordPress Pods Plugin Builder.</p>
<p>Enter <a href="http://www.softcharisma.com/">Soft Charisma</a>, the music company run by Scott Kingsley Clark, one of Pods lead developers. Scott has written the perfect song to complement Hello Dolly &#8211; Think Of Happiness Today.<br />
<div id="attachment_1374" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.shrewdies.net/wp-content/uploads/happiness_today_scrn.png"><img src="http://www.shrewdies.net/wp-content/uploads/happiness_today_scrn-300x187.png" alt="Happiness Today Plugin" title="Happiness Today Plugin" width="300" height="187" class="size-medium wp-image-1374" /></a><p class="wp-caption-text">Happiness Today Plugin - click for large size</p></div></p>
<p>My plugin, Happiness Today, displays random lyrics from the song on the admin pages. So far, so Hello Dolly, but there are extras:<span id="more-1373"></span></p>
<ul>
<li>Up to 3 link buttons</li>
<li>Customizable lyrics, position &#038; links</li>
<li>Easily editable content &#038; options through the Pods interface</li>
</ul>
<p>It is currently at &#8216;proof of concept&#8217; stage. A complete, usable plugin, but incomplete readme.txt file, no deactivation routine (though easily tidied up manually via Pods administration), and untidy code structure. Also, it borrows its styling to match the selected admin scheme in a way that is best described as <strong>Borrow Code</strong>.</p>
<p><strong>Borrow Code</strong> is a semi-original term, coined by me, to explain the style of programming I borrow and use. The style of <strong>Borrow Code</strong> reflects how I use snippets of code without understanding the original concept, shape it with a big hammer until it just about works, then refine it properly for public use, or discard it in favor of suggestions from better coders.</p>
<p>I will add it to the WordPress extensions database once it is fit for public consumption, when we can also discuss potential uses and enhancement suggestions.</p>
<h3>WordPress Happiness Today Plugin</h3>
<p>Potential uses:
<ul>
<li>Promotion for musicians, poets, authors, etc to randomly present their own lyrics and links</li>
<li>Promotion for website developers to randomly present support tips and links</li>
<li>Random product benefits and links</li>
<li>Fund raising quotes &#038; links</li>
<li>Your suggestions</li>
</ul>
<p>Enhancement suggestions:
<ul>
<li>Widget support to display random messages, adverts, etc to visitors</li>
<li>Single click data import, export, delete routines</li>
<li>Remote data updates</li>
<li>Your suggestions</li>
</ul>
<h2>WordPress Pods Projects: Next Steps</h2>
<p>That&#8217;s enough background for now. In the next article I&#8217;ll explain some specific Pods techniques used in the WordPress Pods Plugin Builder, and its example project, Happiness Today.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1373/wordpress-pods-projects-going-for-a-song/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Pods Plugin Builder Taking Shape</title>
		<link>http://www.shrewdies.net/1363/wordpress-pods-plugin-builder-taking-shape/</link>
		<comments>http://www.shrewdies.net/1363/wordpress-pods-plugin-builder-taking-shape/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:04:18 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>
		<category><![CDATA[WordPress Pods Plugin Builder]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1363</guid>
		<description><![CDATA[WordPress Pods CMS plugin is fantastic for adding new content to websites that do not easily fit the standard Page or Post styles. With it&#8217;s easy to use interface, it is good for novice writers, but it also stands on a very powerful data management platform. This makes it a real candidate for Rapid Application [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">WordPress Pods CMS plugin is fantastic for adding new content to websites that do not easily fit the standard Page or Post styles.</p>
<p>With it&#8217;s easy to use interface, it is good for novice writers, but it also stands on a very powerful data management platform.</p>
<p>This makes it a real candidate for Rapid Application Development, but how to package and distribute those applications?</p></div>
<p>Before I present my latest project for building structured WordPress plugins, packaged with properly formatted readme file, straight from the Pods interface let me explain what Pods is.<br />
<span id="more-1363"></span><br />
<h2>WordPress Pods Background</h2>
<p>Pods builds applications by creating data tables and presenting that data on pages, using display templates to keep presentation simple. Going beyond basic table administration, Pages and Templates can include any HTML or PHP code you like to manipulate data. And going beyond that, there are Helpers that can manipulate data before during or after it has been entered.</p>
<p>This means that any extension to WordPress can be coded in Pods. Tasks that do not require data manipulation probably do not need Pods. On the other hand, most plugins do need to use the WordPress database, even if only to store some options. Using Pods makes that data easy to maintain and it&#8217;s structure means that it is very easy to build reusable code libraries.</p>
<p>I will explain Pods Data, Template, Page and Helper features in more detail when I explain how my Pods projects work. First let&#8217;s look at my current to build WordPress plugins using Pods.</p>
<h2>WordPress Pods Plugin Builder</h2>
<p>Pods already does a good job of easing distribution of projects. It is extremely easy to bundle your project components together and export them as a Pods Package. The <a href="http://podscms.org/packages/">Pods CMS site has several examples of these packages</a> which as well as being useful in their own right, can be used to learn various techniques.</p>
<p>These packages can be pasted directly into Pods, or loaded programatically, as demonstrated in the Pods UI demo. This makes distribution very easy, but there is one vital thing missing for most projects, and another missing for many.</p>
<p>The vital missing part is data. Though pods can export and import data, this is not part of the Pods package process. If you are handling a project for a client, it is very easy to move data to your clients site by exporting and importing, but it is not possible to supply a single package including code and data.</p>
<p>For most Pods projects, that data problem is the only one, and the import and export routines simply mean you have to distribute code and data separately. For many of my projects, I want to provide WordPress plugin functionality. This means that I need at least one plugin file to hook the functions into WordPress.</p>
<p>My Pods Plugin Builder produces standard format WordPress plugin files from Pods. The plugin it produces will load a Pods package, load the data, and add the hooks that WordPress needs. It also produces a correctly formatted readme.txt file which is so important if you want people to be able to find your plugin in the WordPress repository.</p>
<p>I passed a milestone today when I used the package to produce my first plugin.</p>
<h2>WordPress Pods Plugin Builder: Next Steps</h2>
<p>In the next few articles I will:</p>
<ul>
<li>Describe the package in detail, including work still to do, and potential additional features.</li>
<li>Introduce the plugin that this package has produced, and describe how key features of Pods work.</li>
<li>Apply the package to my shrewdBar &#038; shrewdChat projects.</li>
<li>Release the package for wider testing and distribution.</li>
</ul>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1363/wordpress-pods-plugin-builder-taking-shape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Microformats Work For You &#8211; Ignore Them</title>
		<link>http://www.shrewdies.net/916/make-microformats-work-for-you-by-ignoring-them/</link>
		<comments>http://www.shrewdies.net/916/make-microformats-work-for-you-by-ignoring-them/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:44:24 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[rdfa]]></category>
		<category><![CDATA[rich snippets]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=916</guid>
		<description><![CDATA[Microformats are the latest topic to confuse budding webmasters. But are they relevant to WordPress website owners, and will they help or hinder your marketing efforts. More to the point &#8211; what are they? The buzz for webmasters is that microformats help you on Google. But there are one or two fairly large points missing [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Microformats are the latest topic to confuse budding webmasters.</p>
<p>But are they relevant to WordPress website owners, and will they help or hinder your marketing efforts.</p>
<p>More to the point &#8211; what are they?</p></div>
<p>The buzz for webmasters is that <a href="http://yoast.com/google-microformats-conversion-rate-optimization-serps/">microformats help you on Google</a>. But there are one or two fairly large points missing from that.</p>
<p>Before we look into those, let me explain what microformats are. They are tags in your web page, similar in operation to HTML tags. Whereas HTML tags change the appearance of text, microformats tell search engines and other robots what your text means. More specifically they describe the context of your text as structured data.</p>
<p>Whoopi-f-ing-doo you cry, or at least &#8220;so what.&#8221;</p>
<p>But wait, this is important.</p>
<p>If a search engine can interpret the type of information you are presenting, it can list you better. It puts your information into the right context. You can explicitly distinguish the author <strong>of</strong> a work from a work <strong>about</strong> an author.</p>
<p>Your words, with these descriptive tags, are known as rich snippets. If you currently earn money by providing content that includes reviews, people, businesses, organizations, events or video, then you need these snippets to help you get richer.</p>
<h3>Why Microformats?</h3>
<p>A search engine that might have sent you a little traffic from time to time has more information on <a href="http://www.google.com/support/webmasters/bin/topic.py?hl=en&#038;topic=21997">rich snippets</a> (including a validation tool), but before you investigate that, consider what is missing from the &#8220;Google &#038; Microformats: Drive More Traffic&#8221; article.<span id="more-916"></span></p>
<p>There are two ways of providing rich snippets: microformats and RDFa. Microformats are more common, but RDFa is to be implemented in HTML 5, so is more likely to become the standard in future. In fact search volumes for RDFa have just started to outstrip microformats. I believe webmasters should focus on RDFa.</p>
<h3>WordPress Rich Snippets</h3>
<p>The second missing point, close to the heart of WordPress webmasters, is how can I add some rich snippets without hand-coding all my articles?</p>
<p>There is some good news there. If you are yet to be convinced on the microformats vs RDFa debate, search the plugin database for microformats. You will get 27 results at the time of writing &#8211; let me know if any of them help you.</p>
<p>For RDFa, there are only two results in the search, but a third one is hidden in the secret lair of WordPress plugin developers who like to hide their work behind poor tagging and descriptions. I&#8217;ll review these in detail sometime soon, but if you&#8217;d like to check them for me (and maybe write a guest review?), they are:</p>
<dl>
<dt><a href="http://wordpress.org/extend/plugins/dublin-core-for-wp/">Dublin Core for WP</a></dt>
<dd>A plugin to add Dublin Core metadata to all posts and pages. I will let you know later if this is currently <a href="http://www.brainonfire.net/blog/first-collaboration/">supported by the author or someone else</a>.</dd>
<dt><a href="http://wordpress.org/extend/plugins/image-licenser/">Image Licenser</a></dt>
<dd>Provides an easy way to tag embedded images with a CreativCommons license. This uses RDFa, to enable search engines finding your images even if the user filters for CC licenses. A very new plugin from <a href="http://www.raphael-mack.de/wp-image-licenser/">Raphael Mack</a>.</dd>
<dt><a href="http://wordpress.org/extend/plugins/wp-rdfa/">wp-RDFa</a></dt>
<dd>wp-RDFa is a WordPress plugin to bring the Semantic Web to your WordPress blog. Currently this plugin supports FOAF and the Dublin Core. <a href="http://dev.squarecows.com/2009/04/05/wordpress-now-has-a-rdfa-plugin/">WP-RDFa seems very much alive and supported from SquareCows</a>.</dd>
</dl>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/916/make-microformats-work-for-you-by-ignoring-them/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress WYSIWYG Made Easy</title>
		<link>http://www.shrewdies.net/822/wordpress-wysiwyg-made-easy/</link>
		<comments>http://www.shrewdies.net/822/wordpress-wysiwyg-made-easy/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 04:57:43 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[NicEdit]]></category>
		<category><![CDATA[WordPress WYSIWYG]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=822</guid>
		<description><![CDATA[What you see is not always what you get with WordPress. WordPress WYSIWYG Easily add site-wide WYSIWYG textareas Beware the Internet Explorer trap Download to avoid losing service Configure options for best results By default, the standard WordPress WYSIWYG editor is TinyMCE &#8211; but it is a non-standard implementation, and it is only used in [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">What you see is not always what you get with WordPress.</p>
<div style="float:right;border:.1em solid #00009e;background-color:#9e9eff;margin:.7em;padding:.7em;width:38%;color:#00009e;">
<h4>WordPress WYSIWYG</h4>
<ul>
<li>Easily add site-wide WYSIWYG textareas</li>
<li>Beware the Internet Explorer trap</li>
<li>Download to avoid losing service</li>
<li>Configure options for best results</li>
</ul>
</div>
<p>By default, the standard WordPress WYSIWYG editor is TinyMCE &#8211; but it is a non-standard implementation, and it is only used in new posts, not comments.</p></div>
<p>There are many plugins that extend both the functionality and application of TinyMCE. Life can get very complicated checking all the options, but I stopped looking when I road tested Front-end Editor. This uses the NicEdit WYSIWYG editor, which is very easy to implement.</p>
<p>I looked at the WP NicEdit plugin, but it is no longer supported. Anyway, I checked out the NicEdit site, and it only needs a couple of lines of code, so I just added them to my footer. Being short of time, I took the lazy option of linking direct to the NicEdit site, using the two lines of code on the NicEdit homepage, instead of installing on my own server. I regretted that, but it was easily fixed, with some interesting options, which I will explain soon.</p>
<p>First let me mention a terrible problem (with a praise-winning fix) I found when I tested in Internet Explorer instead of my faithful Firefox. <span id="more-822"></span></p>
<p>I was getting a good, consistent look and feel for contributors. Comment boxes, new post forms using TDO Mini Forms, and in-line editing using Front-end Editor, all picked up NicEdit. Looked great in Firefox, but when I tested in MSIE, the textarea box did not display properly, and the NicEdit interface was disabled. I got an error message:</p>
<blockquote><p>Unknown runtime error<br />
Line: 8<br />
Char: 721</p></blockquote>
<p>But this was impossible to decipher in the minimized nicEdit-latest.js on nicedit.com. Googling the problem showed me that someone else had raised it on the NicEdit forum, but there was no solution. I was about to give up and install my own copy that I could debug properly, when I saw the warning in the aforementioned WP NicEdit Installation notes (edited for clarity):</p>
<blockquote><p>=Config to make it work in IE=</p>
<p>The default installation will work great with all non IE browsers. In IE6, the Rich text editor may not work by default. To make it work please follow following steps. </p>
<ol>
<li>Open the comments.php of your theme, using the WordPress Appearance Editor.</li>
<li>Search for textarea. If it is wrapped with paragraph tags, remove them (&lt;p> &#038; &lt;\p>).</li>
<li>Save the file.</li>
<li>Congrats, it will work fine now.</li>
</ol>
</blockquote>
<p>And it did!</p>
<p>Delighted by the quick fix of removed paragraph tags, I left my NicEdit configured as before, which you will soon see, was not the best decision. In a small attempt to give something back, I reported my solution in the NicEdit forum, which has earned me at least one Brownie point. I just got a response:</p>
<blockquote><p>shrewdies,</p>
<p>I love you, MAN!<br />
You saved me at least 3 years of my life!</p>
<p>Removing
<p> tags totally help with ie, thanks a lot!</p>
<p>Cheers,<br />
Greg</p></blockquote>
<p> Happy to help, Greg. <img src='http://www.shrewdies.net/wp-includes/images/smilies/icon_smile.gif' alt=':smile:' class='wp-smiley' /> </p>
<h3>WordPress WYSIWYG Made Hard</h3>
<p>All has gone well until yesterday. The nicedit.com server went down, and I was returned to plain textareas. I&#8217;d happened to notice when searching earlier that there seemed to be a mirror site, so I went in search of that. Sure enough, ns2.bkirchoff.com/nicedit.com/download.php was available and let me download the code for my own server. If you need this to get out of a hole, please note:
<ul>
<li>ns1 is also available &#8211; just replace ns2 with ns1 in the above URL.</li>
<li>When navigating that site, the links do not include the /nicedit.com/ subdirectory, so you will have to manually edit the URLs.</li>
<li>Be sure to load any plugins you need. I noticed a discussion referring to problems with the compressed download not including plugins, so I chose the uncompressed option, then minified my download.</li>
<li>You may need to edit the path to nicEditorIcons.gif</li>
</ul>
<p>The script is working fine now, and I also made sure the installation code in my footer included the HTML edit button. Not all the allowed WordPress tags are covered by NicEdit (notably, blockquote), so HTML editing on top of the WYSIWYG editor is good. The footer code is:</p>
<pre><code>&lt;script type="text/javascript" src="yourInstallPath/nicEdit-min.js">&lt;/script>
&lt;script type="text/javascript">bkLib.onDomLoaded(function() { nicEditors.allTextAreas({fullPanel : true}) });&lt;/script>
</code></pre>
<p>Note that nicEdit-min.js is the name I gave my minified version &#8211; the standard is nicEdit.js.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/822/wordpress-wysiwyg-made-easy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
