<?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>Lee Willis &#187; Lee Willis</title> <atom:link href="http://www.leewillis.co.uk/tag/plugins/feed/" rel="self" type="application/rss+xml" /><link>http://www.leewillis.co.uk</link> <description></description> <lastBuildDate>Sun, 22 Jan 2012 21:23:57 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Debugging Problems with the Campaign Monitor Widgets</title><link>http://www.leewillis.co.uk/debugging-problems-campaign-monitor-widgets/</link> <comments>http://www.leewillis.co.uk/debugging-problems-campaign-monitor-widgets/#comments</comments> <pubDate>Mon, 28 Mar 2011 20:09:52 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Campaign Monitor]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=372</guid> <description><![CDATA[Some people have had problems setting up the Campaign Monitor Signup Widgets, getting the widget up, but then receiving the &#8220;Sorry, we weren&#8217;t able to sign you up.&#8221; message. In most cases this is down to one of two issues: &#8230; <a
href="http://www.leewillis.co.uk/debugging-problems-campaign-monitor-widgets/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Some people have had problems setting up the <a
href="/campaign-monitor-ajax-subscription-widget-wordpress/">Campaign Monitor Signup Widgets</a>, getting the widget up, but then receiving the &#8220;Sorry, we weren&#8217;t able to sign you up.&#8221; message.</p><p>In most cases this is down to one of two issues:</p><ul><li>An incompatibility of PHP version &#8211; the plugin requires PHP 5.2 or above.</li><li>Incorrect API details &#8211; the plugin needs to use the Account ID, and List ID, not the Client</li></ul><p>So &#8211; these should always be the first things to check. If you&#8217;re still having problems, then the guide below explains how to see what error messages are being generated. To diagnose this you&#8217;ll need a copy of &#8220;Firefox&#8221;, and the &#8220;<a
href="http://getfirebug.com/" target="_blank">Firebug</a>&#8221; extension. (Note: You can also do similar with Chrome, and its developer tools if you know your way around them instead).</p><p>To start, open the page with the widget on, and open up firebug. Switch to the &#8220;Net&#8221; panel &#8211; you should see something like this (Click for bigger version):</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-1.png" rel="lightbox[372]"><img
class="aligncenter size-medium wp-image-373" title="debug-1" src="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-1-300x36.png" alt="" width="300" height="36" /></a></p><p>Submit the form, and you should see a &#8220;request&#8221; logged in the net panel &#8211; it&#8217;s an HTTP POST request &#8211; so should start with POST, like this:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-2.png" rel="lightbox[372]"><img
class="aligncenter size-medium wp-image-374" title="debug-2" src="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-2-300x72.png" alt="" width="300" height="72" /></a></p><p>Click on the + symbol to the left of the POST to see the details of the request:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-3.png" rel="lightbox[372]"><img
class="aligncenter size-medium wp-image-375" title="debug-3" src="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-3-300x102.png" alt="" width="300" height="102" /></a></p><p>Click on the &#8220;Response&#8221; to see what data the AJAX POST is outputting &#8211; the error message should give you an idea of what&#8217;s not working.</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-4.png" rel="lightbox[372]"><img
class="aligncenter size-medium wp-image-376" title="debug-4" src="http://www.leewillis.co.uk/wp-content/uploads/2011/03/debug-4-300x82.png" alt="" width="300" height="82" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/debugging-problems-campaign-monitor-widgets/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Always Show The Admin Bar in WordPress</title><link>http://www.leewillis.co.uk/always-show-admin-bar-wordpress/</link> <comments>http://www.leewillis.co.uk/always-show-admin-bar-wordpress/#comments</comments> <pubDate>Thu, 24 Feb 2011 19:48:06 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[hints]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=350</guid> <description><![CDATA[WordPress 3.1 is now out and one of the most talked about features is the &#8220;admin bar&#8221;. WordPress.com users have had something similar for a while, and it seems to be one of those &#8220;love it or hate it&#8221; features. &#8230; <a
href="http://www.leewillis.co.uk/always-show-admin-bar-wordpress/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>WordPress 3.1 is now out and one of the most talked about features is the &#8220;admin bar&#8221;. WordPress.com users have had something similar for a while, and it seems to be one of those &#8220;love it or hate it&#8221; features. (If you&#8217;re not a fan of the admin bar &#8211; then check out Scott Kingsley&#8217;s excellent <a
href="http://wordpress.org/extend/plugins/admin-bar-disabler/" target="_blank">Admin Bar Disabler</a>.)</p><p>Personally I&#8217;m a big fan of the feature, it makes the whole system just that little bit easier to use for non technical people with it&#8217;s simple menus for adding new posts, managing comments, and being alerted to updates:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/02/fullbar.png" rel="lightbox[350]"><img
class="aligncenter size-full wp-image-355" title="fullbar" src="http://www.leewillis.co.uk/wp-content/uploads/2011/02/fullbar.png" alt="" width="458" height="258" /></a></p><p>However, the admin bar only shows up when you&#8217;re logged in &#8211; which means that your users have to go to login before they&#8217;ll see it. That&#8217;s fine if you tick the &#8220;Remember Me&#8221; box when logging in &#8211; but I&#8217;m not sure I&#8217;m happy to recommend to people that they stay permanently logged in.</p><p>So, one of the first things I thought of with the new feature was &#8220;Wouldn&#8217;t it be great if the admin bar was always there&#8221;.</p><h3 style="text-align: center;">Announcing the &#8220;<a
href="http://wordpress.org/extend/plugins/always-show-admin-bar/">Always Show The Admin Bar</a>&#8221; plugin.</h3><p>This handily ensures that the admin bar is always visible for anyone who&#8217;s previously logged into the site. It&#8217;s a neat solution for providing site editors / admins with an easy to use way to log in, while not cluttering up your site for everyday visitors with an intrusive login form.</p><p>If you like it &#8211; you should donate here:</p><p><form
method="post" action="https://www.paypal.com/cgi-bin/webscr"> <input
type="hidden" value="_s-xclick" name="cmd"> <input
type="hidden" value="9282196" name="hosted_button_id"> <input
type="image" src="http://www.leewillis.co.uk/wp-content/uploads/2011/02/donate.jpg" name="submit" alt="Donate here" style="border: 1px solid #666;"></form></p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/always-show-admin-bar-wordpress/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Campaign Monitor Ajax Subscription Widget for WordPress</title><link>http://www.leewillis.co.uk/campaign-monitor-ajax-subscription-widget-wordpress/</link> <comments>http://www.leewillis.co.uk/campaign-monitor-ajax-subscription-widget-wordpress/#comments</comments> <pubDate>Tue, 11 Jan 2011 20:42:28 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Campaign Monitor]]></category> <category><![CDATA[e-commerce]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=335</guid> <description><![CDATA[I&#8217;m a big fan of Campaign Monitor for managing email lists and campaigns. I recently set up a list for a friend, and I agreed to put a small subscription form in his sidebar at the side of his WordPress &#8230; <a
href="http://www.leewillis.co.uk/campaign-monitor-ajax-subscription-widget-wordpress/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m a big fan of <a
href="http://www.campaignmonitor.com/">Campaign Monitor</a> for managing email lists and campaigns. I recently set up a list for a friend, and I agreed to put a small subscription form in his sidebar at the side of his WordPress site, but also have a dedicated page for people to visit to sign up &#8211; so that he could share the link to the page on Twitter, Facebook etc.</p><p>Now, Campaign Monitor make it pretty easy to create a sign-up form, but by default the form will take you off your original site, onto a Campaign Monitor &#8220;Thank you for subscribing&#8221; page. I wanted to see if I could improve on that a little, so, having worked with the Campaign Monitor API before for a <a
href="http://www.leewillis.co.uk/joomla-virtuemart-campaign-monitor-plugin/">Joomla! / Campaign monitor integration</a> I sat down to see what we could do.</p><p>The result is the <a
href="http://wordpress.org/extend/plugins/ajax-campaign-monitor-forms/">Ajax Campaign Monitor Forms</a> plugin for WordPress.</p><h3>Adding a form as a Widget</h3><p>Currently it&#8217;ll let you create a widget in any of your sidebars, add in your list ID, and account ID, choose whether to show the &#8220;Name&#8221; field as well as &#8220;Email&#8221;:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-1.png" rel="lightbox[335]"><img
class="aligncenter size-full wp-image-336" title="screenshot-1" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-1.png" alt="" width="310" height="360" /></a></p><p>The result is a mini-form in your sidebar, that submits the request via Ajax without the user leaving your site.</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-3.png" rel="lightbox[335]"><img
class="size-full wp-image-337 alignleft" title="screenshot-3" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-3.png" alt="" width="233" height="143" /></a><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-4.png" rel="lightbox[335]"><img
class="size-full wp-image-338 alignleft" title="screenshot-4" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-4.png" alt="" width="224" height="136" /></a><br
style="clear: both;" /></p><h3>Adding a form inline in a post or page</h3><p>You can also add a form as a shortcode to your posts and pages. Simply click on the &#8220;Campaign Monitor&#8221; button that appears above the post editor:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-5.png" rel="lightbox[335]"><img
class="aligncenter size-medium wp-image-345" title="screenshot-5" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/screenshot-5-300x54.png" alt="" width="300" height="54" /></a></p><p>You&#8217;ll be asked to insert your API key details:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/apidetailsbox.png" rel="lightbox[335]"><img
class="aligncenter size-full wp-image-346" title="apidetailsbox" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/apidetailsbox.png" alt="" width="484" height="260" /></a></p><p>and a shortcode will be placed into your post to display the form:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2011/01/shortcodeinpost.png" rel="lightbox[335]"><img
class="aligncenter size-medium wp-image-347" title="shortcodeinpost" src="http://www.leewillis.co.uk/wp-content/uploads/2011/01/shortcodeinpost-300x87.png" alt="" width="300" height="87" /></a></p><div
class="premium-links">If you like the free plugin, then you&#8217;ll love the <a
href="http://plugins.leewillis.co.uk/store/plugins/wordpress-ajax-campaign-monitor-widgets/">Premium version</a>, including list stats in your WordPress dashboard, spam protection, and <a
href="http://plugins.leewillis.co.uk/ajax-campaign-monitor-widget-documentation/social-links-campaign-monitor-wordpress/">automated social media links</a>. <a
href="http://plugins.leewillis.co.uk/store/plugins/wordpress-ajax-campaign-monitor-widgets/">Check it out today</a>.</div> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/campaign-monitor-ajax-subscription-widget-wordpress/feed/</wfw:commentRss> <slash:comments>44</slash:comments> </item> <item><title>WordPress Classified Ads Widget</title><link>http://www.leewillis.co.uk/widgets-for-classified-ads/</link> <comments>http://www.leewillis.co.uk/widgets-for-classified-ads/#comments</comments> <pubDate>Mon, 27 Dec 2010 11:35:22 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Custom Post Types]]></category> <category><![CDATA[Custom Taxonomies]]></category> <category><![CDATA[e-commerce]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=315</guid> <description><![CDATA[I&#8217;ve recently been doing some work with some plugins from the guys and girls over at WPMU DEV. The most recent one has been using their plugin that adds Classified Ads to WordPress. I caught the plugin just as it &#8230; <a
href="http://www.leewillis.co.uk/widgets-for-classified-ads/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve recently been doing some work with some plugins from the guys and girls over at <a
rel="nofollow" href="http://premium.wpmudev.org?ref=leewillis77-84641" target="_blank">WPMU DEV</a>. The most recent one has been using their plugin that adds <a
href="http://premium.wpmudev.org/project/classifieds?ref=leewillis77-84641" target="_blank" rel="nofollow">Classified Ads to WordPress</a>. I caught the plugin just as it underwent a major upgrade from an &#8220;old-style&#8221; plugin that used custom tables to a newer version that used custom taxonomies, and custom post types.</p><p>On balance, this is a huge improvement, however a coupe of features that were in the previous version, and that I want to use on my current project went AWOL. Fortunately, because the plugin now uses standard WordPress functionality for storing its data &#8211; these are pretty easy to knock together. So &#8211; my first major need was for a widget to show &#8220;recent ads&#8221; in a sidebar. Here&#8217;s a screenshot of the widget in action:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/12/Screenshot.png" rel="lightbox[315]"><img
src="http://www.leewillis.co.uk/wp-content/uploads/2010/12/Screenshot.png" alt="" title="Screenshot" width="490" height="197" class="contentimg" /></a></p><p>If you want to give it a try out &#8211; you can <a
href="http://www.leewillis.co.uk/patches/WPMU_classifieds/classifieds-widgets-0.2.zip">grab it here</a> &#8211; just install it as a standard WordPress plugin, activate it, and the widget will be available under Appearance > Widgets in your WordPress admin area.</p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/widgets-for-classified-ads/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Why Custom Post Type theming is broken in WordPress</title><link>http://www.leewillis.co.uk/wordpress-custom-post-type-theming-is-broken/</link> <comments>http://www.leewillis.co.uk/wordpress-custom-post-type-theming-is-broken/#comments</comments> <pubDate>Tue, 14 Sep 2010 06:30:34 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Custom Post Types]]></category> <category><![CDATA[Custom Taxonomies]]></category> <category><![CDATA[design]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[Themes]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=292</guid> <description><![CDATA[I&#8217;m not normally a fan of sensationalist headlines, but in this case I know a bunch of people have put a bunch of effort into trying to make something work &#8220;The Right Way&#8221;[TM] only to discover that the right way &#8230; <a
href="http://www.leewillis.co.uk/wordpress-custom-post-type-theming-is-broken/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m not normally a fan of sensationalist headlines, but in this case I know a bunch of people have put a bunch of effort into trying to make something work &#8220;The Right Way&#8221;<sup>[TM]</sup> only to discover that the right way doesn&#8217;t actually work.</p><p>It&#8217;s<strong> even worse</strong> than that, because the same issue also affects Custom Taxonomies.</p><p>Now, much has <a
href="http://justintadlock.com/archives/2009/05/06/custom-taxonomies-in-wordpress-28">been</a> <a
href="http://www.1stwebdesigner.com/wordpress/essential-guide-wordpress-custom-taxonomies/">made</a> of <a
href="http://codex.wordpress.org/Custom_Taxonomies">Custom Taxonomies</a>, <a
href="http://kovshenin.com/archives/custom-post-types-in-wordpress-3-0/">and</a> <a
href="http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress">of</a> <a
href="http://codex.wordpress.org/Custom_Post_Types">Custom Post Types</a>, and rightly so. Custom Post Types and Custom Taxonomies are great facilities that really start to move WordPress away from a blogging tool, and into the realms of a a CMS and application development framework.</p><p>I&#8217;m a big fan of Custom Taxonomies, and I&#8217;ve <a
href="http://www.leewillis.co.uk/wordpress-taxonomies-to-create-a-product-directory/">written about what you can do with them</a> before, and I&#8217;ve used them in anger on real WordPress sites. Custom Post Types are a little newer, and I&#8217;ve only just started working with them.</p><p>So &#8211; why the outrageous statement about them being broken?</p><p>Well, the good news is that I don&#8217;t think Custom Taxonomies, and Custom Post Types themselves are broken &#8211; what is broken is the theme support that goes with them.</p><h2>Anatomy of a WordPress theme</h2><p>To explain this in detail, you first have to understand a little about how WordPress themes work. Themes in WordPress consist of a number of files, which will be used according to <a
href="http://codex.wordpress.org/Template_Hierarchy#The_Template_File_Hierarchy">the template hierarchy</a>. That is, if WordPress is trying to display the home page it will look for home.php. If it&#8217;s found in the users theme (or child theme) then it will be used to display the page. If WordPress is displaying a single post then it will look for single.php and use that to display the page.</p><p>The important thing to note is that each of these pages, whether it&#8217;s home.php, single.php, archive.php or page.php is responsible for the whole of the page. Let&#8217;s consider an example of a web page layout from a typical website:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-1.png" rel="lightbox[292]"><img
class="aligncenter size-medium wp-image-301" title="ecommerce-sample-1" src="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-1-223x300.png" alt="" width="223" height="300" /></a></p><p>Breaking this down, there are the following main areas:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-2.png" rel="lightbox[292]"><img
class="contentimgleft size-medium wp-image-302" title="ecommerce-sample-2" src="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-2-223x300.png" alt="" width="223" height="300" /></a> In this example, the page is made up of a site header (Yellow), some sidebars (Green) and a site footer (Blue). The main article/archive is contained in the white section. This is a fairly typical layout. If you were building this in WordPress, a fairly common approach would be to call get_header() at the top of all of your template files, get_sidebar() after that, then have the code to display the page content, and finally a call to get_footer().</p><p>get_header(), get_sidebar() and get_footer() are really just convenience functions that include specific theme files, making it easy to have standard headers, footers, sidebars etc. across your whole site.</p><p>So, this leaves us with this:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-3.png" rel="lightbox[292]"></a><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-3.png" rel="lightbox[292]"><img
class="aligncenter size-medium wp-image-303" title="ecommerce-sample-3" src="http://www.leewillis.co.uk/wp-content/uploads/2010/09/ecommerce-sample-3-223x300.png" alt="" width="223" height="300" /></a></p><h2>Custom Post Type Theming</h2><p>So &#8211; what&#8217;s all this got to do with Custom Post Type theming then? Well, those of you paying attention will have realised that the Template Hierarchy provides support for theming both the display of single posts of a custom post type (Via single-{post_type}.php) and archives of posts belonging to a custom taxonomy (Via taxonomy_{taxonomy}.php or taxonomy_{term}.php).</p><p>On the face of it, this all seems fine. If you&#8217;re building a site, then you write a small chunk of code to register your custom post type, maybe add some meta boxes to the admin page to capture information specific to your post type, then throw together a template page to display it all.</p><p>Let&#8217;s take a custom post type of &#8220;Movie&#8221; as an example. We&#8217;d register it, set it up, and probably add some additional information beyond just the main content, particularly we might associate the post-type with the &#8220;Director&#8221;, and &#8220;Actor&#8221; taxonomy. This would allow us to show information about the director, and actors involved in the film on the &#8220;Single Movie&#8221; view &#8211; as well as create taxonomy archives by Director, or Actor.We might also add a meta-box to capture the movie running time, and maybe a review score (&#8220;9/10&#8243; etc.)</p><p>So, we wander off to our theme, copy single.php to single-movie.php and add in some code to fetch the taxonomy information, and display it where we want, and also to fetch and display the running time, and review score.</p><p>Job done.</p><h2>The Problem</h2><p>What if you&#8217;re writing a plugin that implements the movie Custom Post Type? Your end-user&#8217;s theme won&#8217;t have a single-movie.php file &#8211; so WordPress will fall back to using single.php &#8211; which of course won&#8217;t pull back the Director, Actor, Running Time and Review information. So what do you do?</p><p>The obvious thing is to supply a single-movie.php that the user can use. Now rewind a little, to where I said that theme files were &#8220;responsible for the whole of the page&#8221;.</p><p>This is where we hit our problem. We can assume that our single-movie.php should call get_header(), get_sidebar(), display our custom post type data, and then call get_footer().</p><p>But what about people who have a right-hand sidebar? What if the users theme has a bunch of standard page-furniture that isn&#8217;t included in header.php or footer.php, but included in each of the various single.php, archive.php?</p><p>Now we start to see the problem. It&#8217;s virtually impossible to distribute code that registers a custom post type, and be able to use the Template Hierarchy to display it &#8211; your only real option is to let WordPress fall back to single.php and then filter the_content, and then build your own &#8220;theme&#8221; infrastructure to let users &#8220;theme&#8221; the content.</p><p>This is bad because it&#8217;s reinventing the wheel, bad because it makes it difficult for theme authors to provide support for your cool plugin out-of-the-box, and bad because it&#8217;s unintuitive.</p><p>The same problem exists for taxonomy_{taxonomy}.php as well so you can&#8217;t create nice taxonomy views for the taxonomies your plugin creates.</p><p>Ideally, we want to be able to provide a template that is <strong>just</strong> responsible for displaying the post itself, (ie the white box only in the images above), and have the rest of the page displayed by other files in the user&#8217;s theme.</p><p>How we get there is beyond me though &#8230; answers welcome below!</p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/wordpress-custom-post-type-theming-is-broken/feed/</wfw:commentRss> <slash:comments>62</slash:comments> </item> <item><title>Joomla / Virtuemart Campaign Monitor Plugin</title><link>http://www.leewillis.co.uk/joomla-virtuemart-campaign-monitor-plugin/</link> <comments>http://www.leewillis.co.uk/joomla-virtuemart-campaign-monitor-plugin/#comments</comments> <pubDate>Wed, 21 Apr 2010 21:22:29 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Campaign Monitor]]></category> <category><![CDATA[e-commerce]]></category> <category><![CDATA[joomla]]></category> <category><![CDATA[plugins]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=252</guid> <description><![CDATA[I&#8217;ve run a Joomla site, and a Campaign Monitor subscriber list for around 18 months. For most of that time I&#8217;ve manually exported subscribers from Joomla and imported them to Campaign Monitor. Finally I got fed up, and put together &#8230; <a
href="http://www.leewillis.co.uk/joomla-virtuemart-campaign-monitor-plugin/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve run a Joomla site, and a Campaign Monitor subscriber list for around 18 months. For most of that time I&#8217;ve manually exported subscribers from Joomla and imported them to Campaign Monitor. Finally I got fed up, and put together a simple Joomla to Campaign Monitor plugin.</p><p>The plugin auto-subscribes new users (Whether they register deliberately, or are created by other plugins &#8211; e.g. by purchasing from a Virtuemart store) to your chosen Campaign Monitor list.</p><p>To get up and running, follow these 4 simple steps:</p><ul><li><a
href="http://www.leewillis.co.uk/patches/JomCam/plugin_jomcam.zip">Download the plugin</a></li><li>Install it</li><li>Set up your Campaign Monitor details in the configuration screen<br
/> <img
src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/jomcam.jpg" alt="" title="jomcam" width="495" height="271" class="contentimg" /><br/><small>You can find a great guide for finding these IDs <a
href="http://www.campaignmonitor.com/api/required/<br /> " target="_blank">here</a></li><li>Activate the plugin</li></ul><p>Obviously, you&#8217;ll want to make sure that you have the <a
href="http://help.campaignmonitor.com/topic.aspx?t=51" target="_blank">user&#8217;s permission</a> to contact them as part of the registration policy.</p><p>Happy integrating.</p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/joomla-virtuemart-campaign-monitor-plugin/feed/</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>Region-based shipping with WP e-Commerce</title><link>http://www.leewillis.co.uk/region-based-shipping-wp-e-commerce/</link> <comments>http://www.leewillis.co.uk/region-based-shipping-wp-e-commerce/#comments</comments> <pubDate>Fri, 09 Apr 2010 20:32:26 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[e-commerce]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[shipping]]></category> <category><![CDATA[WordPress]]></category> <category><![CDATA[WP E-Commerce]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=215</guid> <description><![CDATA[I&#8217;ve been asked a few times about how to split up countries into regions and charge shipping differently to the different areas in WP E-Commerce. This was something that was almost, but not quite possible with one of my existing &#8230; <a
href="http://www.leewillis.co.uk/region-based-shipping-wp-e-commerce/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve been asked a few times about how to split up countries into regions and charge shipping differently to the different areas in WP E-Commerce. This was something that was almost, but not quite possible with one of my existing plugins.</p><p>Now it&#8217;s just a little bit easier.</p><h2>What You&#8217;ll Need</h2><ul><li><a
href="http://wordpress.org/extend/plugins/wp-e-commerce/">WP E-Commerce (3.7.6 or later)</a></li><li>My <a
href="http://wordpress.org/extend/plugins/wp-e-commerce-weightregion-shipping/">Weight / Destination plugin</a></li><li>Database access to your WP e-Commerce database</li></ul><p>In this example we&#8217;re going to show how to achieve the following:</p><ul><li>Set of Weight rates for New Zealand (North Island)</li><li>Set of Weight rates for New Zealand (South Island)</li><li>Set of Weight rates for the rest of Asia/Pacific</li><li>Set of Weight rates for Europe</li></ul><h2>The Plan</h2><p>To acheive our end goal we&#8217;re going to:</p><ol><li>Create 2 regions attached to the country &#8220;New Zealand&#8221;</li><li>Remove New Zealand from the Asia and Pacific continent (So people ordering to NZ see those prices, not the general &#8220;Asia and Pacific&#8221; pricing</li><li>Set up per-country/region rates for New Zealand</li><li>Set up per-continent rates for Asia and Pacific, and Europe</li></ol><h2>Getting Started</h2><p>The first job is to find out the &#8220;country ID&#8221; for New Zealand. Using your favourite database you&#8217;ll want to look in the wp_wpsc_currency_list table for the entry for New Zealand, and make a note of the value of the &#8220;id&#8221; field &#8211; in our case 156.<br
/> <a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/nz-country.jpg" rel="lightbox[215]"><img
class="contentimg" title="nz-country" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/nz-country.jpg" alt="" width="495" height="80" /></a></p><p>While we&#8217;re here, we&#8217;ll also move New Zealand out of it&#8217;s current continent. This basically just involves updating the same record, and setting the continent field to something unique, e.g.<br
/> <a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/nz-country2.jpg" rel="lightbox[215]"><img
class="contentimg" title="nz-country2" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/nz-country2.jpg" alt="" width="231" height="234" /></a></p><p>Next &#8211; you&#8217;ll need to create whatever regions you want in the wp_wpsc_region_tax table, using the ID you&#8217;ve just found as the &#8220;country_id&#8221; field, e.g.<br
/> <a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/region-list.jpg" rel="lightbox[215]"><img
class="contentimg" title="region-list" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/region-list.jpg" alt="" width="401" height="86" /></a></p><h2>Configuring your pricing</h2><p>That&#8217;s all with the scary database stuff, now on to the easy stuff. First of all you&#8217;ll need to activate both of the shipping modules:<br
/> <a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/activate-shipping-modules.jpg" rel="lightbox[215]"><img
class="contentimg" title="activate-shipping-modules" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/activate-shipping-modules.jpg" alt="" width="249" height="169" /></a></p><p>First up we&#8217;ll configure the continent-based pricing. Click on &#8220;Edit&#8221; next to the weight-continent pricing. Up will pop the configuration pane, with a drop-down of the standard continents &#8211; and also our &#8220;newzealand&#8221; continent &#8211; which we&#8217;re not going to use since New Zealand is going to be priced by region.</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-continent-1.jpg" rel="lightbox[215]"><img
class="contentimg" title="weight-continent-1" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-continent-1.jpg" alt="" width="399" height="264" /></a></p><p>Let&#8217;s pick Europe, and configure some weight rates.<br
/> <a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-continent-2.jpg" rel="lightbox[215]"><img
class="contentimg" title="weight-continent-2" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-continent-2.jpg" alt="" width="401" height="206" /></a></p><p>In this case we&#8217;ve just configured one weight band &#8211; which means that anything shipped to Europe will be charged at the same rate &#8211; £80 in this case.</p><p>We can do the same for Asia and Pacific, except maybe setting up multiple layers using the &#8220;Add Layer&#8221; link.</p><p>At this stage shipping will work for Europe, Asia and Pacific, but not for New Zealand (Since we took it out of Asia and Pacific).</p><p>Click on &#8220;Edit&#8221; next to the Weight / Country and Region pricing. Up will pop the configuration pane, with a drop-down of the countries, including regions where configured &#8211; for example, we can see our North Island, and South Island regions here:</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-country-region.jpg" rel="lightbox[215]"><img
class="contentimg" title="weight-country-region" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-country-region.jpg" alt="" width="407" height="480" /></a></p><p>Selecting a region gives us the chance to configure weight rates, e.g.</p><p><a
href="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-country-region-2.jpg" rel="lightbox[215]"><img
class="contentimg" title="weight-country-region-2" src="http://www.leewillis.co.uk/wp-content/uploads/2010/04/weight-country-region-2.jpg" alt="" width="401" height="314" /></a></p><p>Repeat for other regions, and you&#8217;re set. Happy Shipping!</p><p><strong>Note:</strong> All weights should be set up in lbs, no matter what weight unit you used to set the weight for your products. WP e-Commerce will convert between them for you.</p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/region-based-shipping-wp-e-commerce/feed/</wfw:commentRss> <slash:comments>328</slash:comments> </item> <item><title>How to Split Test WordPress Themes</title><link>http://www.leewillis.co.uk/how-to-split-test-wordpress-themes/</link> <comments>http://www.leewillis.co.uk/how-to-split-test-wordpress-themes/#comments</comments> <pubDate>Sat, 17 Oct 2009 09:38:37 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[design]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=162</guid> <description><![CDATA[I recently re-worked a site for a client. He was moving over from Joomla to WordPress, so I started from scratch with his theme design. They liked the new theme I came up with &#8211; however I&#8217;d put the menu &#8230; <a
href="http://www.leewillis.co.uk/how-to-split-test-wordpress-themes/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I recently re-worked a site for a client. He was moving over from Joomla to WordPress, so I started from scratch with his theme design. They liked the new theme I came up with &#8211; however I&#8217;d put the menu and other navigation (Links to recent articles, etc) in a right hand sidebar, and they weren&#8217;t too sure about that.</p><blockquote><p>&#8220;Doesn&#8217;t everyone have the menu on the left?&#8221;</p></blockquote><p>Now I&#8217;m no usability expert, and while I figured they were probably right I thought we&#8217;d run a little experiment. I trawled around a bit, and I found a nice <a
href="http://www.dellanave.com/blog/2009/07/15/how-to-split-test-your-wordpress-theme-w-plugin/" target="_blank">little post</a> by David Dellanave. While I was OK implementing David&#8217;s solution I though it was probably a little complicated for some of my other clients, especially when it came to running 3 <a
href="http://www.google.com/analytics/" target="_blank">Google analytics</a> accounts &#8211; so I did some digging.</p><p>The result is the SES <a
href="http://wordpress.org/extend/plugins/wordpress-ab-theme-split-tests/" target="_new">Split Testing plugin</a>.</p><p>To use the plugin you&#8217;ll need to be using Google Analytics tracking on your WordPress blog already (If you&#8217;re not, then I&#8217;d recommend the &#8220;<a
href="http://wordpress.org/extend/plugins/google-analytics-for-wordpress/" target="_blank">Google Analytics for WordPress</a>&#8221; plugin), then :</p><ul><li>Create two (or more) versions of your theme</li><li>Select them in the plugin settings</li><li>Define custom segments in Google Analytics</li><li>Sit back and watch the results roll in</li></ul><h4>Create theme variations</h4><p>In most cases, you&#8217;ll want to test two versions of 1 theme with some slight changes. Let&#8217;s assume your theme is in the folder wp-content/themes/mytheme. Take a copy of your theme and put it in fresh folder, e.g. wp-content/themes/mytheme_2. Open up the style.css file in the second folder, and change the Theme Name, e.g.</p><pre class="css:nogutter:nocontrols">/*
Theme Name: MyTheme
*/</pre><p>to</p><pre class="css:nogutter:nocontrols">/*
Theme Name: MyTheme (v2)
*/</pre><h3>Set up plugin settings</h3><p><a
rel="lightbox" href="http://www.leewillis.co.uk/wp-content/uploads/2009/10/sesthemesplittest.png"><img
class="contentimgright size-thumbnail " title="Wordpress Theme Split Testing" src="http://www.leewillis.co.uk/wp-content/uploads/2009/10/sesthemesplittest-150x137.png" alt="Wordpress Theme Split Testing" width="150" height="137" /></a>Now you can drop <a
href="http://www.leewillis.co.uk/patches/wp_splittest/ses_splittest.php">the plugin </a>into your plugin directory, activate it in the WordPress backend, and then go to the settings page (Settings-&gt;SES Theme Split Test). The plugin will list all of your available themes, and you can choose which ones you want to be part of the test.</p><p>Once you&#8217;ve saved the settings, the split testing will kick in. Visitors will be randomly assigned one of the chosen themes, and they&#8217;ll receive that theme any time they visit in the next 30 days. Not only that, but their visit will be tagged with a special variable that you can pick up on in Google Analytics.</p><h3>Set up Custom Analytics Segments</h3><p>Google Analytics lets you define custom segments (Ways of grouping customers). In this example we want to group customers according to which theme they were shown and then we can measure our chosen metric (Purchase / sign-up / page views &#8211; whatever) for the two groups and compare them. To get started, you probably want to wait 24 hours so that Google starts to receive the tagging data.</p><p><a
rel="lightbox" href="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_1.png"><img
class="contentimgright size-thumbnail wp-image-170" title="Setting up custom segments" src="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_1-150x74.png" alt="Setting up custom segments" width="150" height="74" /></a>Log into your analytics account, and click on the &#8220;All Visits&#8221; dropdown (Top-right, just above the date selector), and then choose &#8220;Create a new advanced segment&#8221;. Then, you want to expand the &#8220;Visitors&#8221; dropdown under &#8220;Dimensions&#8221;</p><p><a
rel="lightbox" href="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_2.png"><img
class="contentimg aligncenter size-medium wp-image-174" title="Custom Segment Build" src="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_2-300x171.png" alt="Custom Segment Build" width="300" height="171" /></a></p><p>Scroll down until you find &#8220;User Defined Value&#8221; and drag it onto the right hand box that says &#8220;dimension or metric&#8221;. If Analytics has got your tagging data (See &#8211; I told you to leave it 24 hours!) then you&#8217;ll get to choose from the values being passed, e.g.</p><p><a
rel="lightbox" href="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_3.png"><img
class="contentimg aligncenter size-medium wp-image-176" title="Analytics Custom Segments" src="http://www.leewillis.co.uk/wp-content/uploads/2009/10/segments_3-300x199.png" alt="Analytics Custom Segments" width="300" height="199" /></a></p><p>Create a segment for each of your themes, and give them a meaningful name, then you&#8217;ll be able to select them as custom segments in your reports.</p><p><a
rel="lightbox" href="http://www.leewillis.co.uk/wp-content/uploads/2009/10/finalreports.png"><img
class="contentimg aligncenter size-medium wp-image-177" title="Segmented Analytics Reports" src="http://www.leewillis.co.uk/wp-content/uploads/2009/10/finalreports-300x156.png" alt="Segmented Analytics Reports" width="300" height="156" /></a></p><p>Now it&#8217;s just time to wait, see what happens, then decide. Once you&#8217;ve got a winner then just set that as your blog&#8217;s standard theme in the normal way, and either deactivate the plugin, or unselect the themes in the settings and users will see the blog default.</p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/how-to-split-test-wordpress-themes/feed/</wfw:commentRss> <slash:comments>103</slash:comments> </item> <item><title>Custom Taxonomies In WordPress Plugins</title><link>http://www.leewillis.co.uk/custom-taxonomies-wordpress-plugins/</link> <comments>http://www.leewillis.co.uk/custom-taxonomies-wordpress-plugins/#comments</comments> <pubDate>Fri, 07 Aug 2009 09:00:29 +0000</pubDate> <dc:creator>Lee</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Custom Taxonomies]]></category> <category><![CDATA[hints]]></category> <category><![CDATA[patches]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://www.leewillis.co.uk/?p=113</guid> <description><![CDATA[Taxonomy Support I wrote recently about building a brand directory using a fantastic feature of WordPress called &#8220;Taxonomies&#8221;. Now that that feature is live I&#8217;ve realised that a number of my favourite WordPress plugins simply don&#8217;t support taxonomies. Among the &#8230; <a
href="http://www.leewillis.co.uk/custom-taxonomies-wordpress-plugins/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Taxonomy Support</h2><p>I <a
href="http://www.leewillis.co.uk/wordpress-taxonomies-to-create-a-product-directory/" target="_blank">wrote recently</a> about building a brand directory using a fantastic feature of WordPress called &#8220;Taxonomies&#8221;. Now that that feature is live I&#8217;ve realised that a number of my favourite WordPress plugins simply don&#8217;t support taxonomies.</p><p>Among the casualities were <a
href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" target="_blank">Google XML Sitemaps</a>, and the otherwise excellent <a
href="http://urbangiraffe.com/plugins/headspace2/" target="_blank">Headspace2</a>.</p><p>Now, the beauty of open source is that when you get an itch like this, you can go and scratch it. So, I whipped out my coding gloves and set to work.</p><p>The results are below:</p><h2>Google XML Sitemaps</h2><p>The patch below will ensure that the pages for all of your taxonomy terms are listed in your sitemap &#8211; helping Google find the pages quicker.</p><p><a
href="/patches/google-sitemap-generator/include_taxonomies.txt">http://www.leewillis.co.uk/patches/google-sitemap-generator/include_taxonomies.txt</a></p><h2>HeadSpace2</h2><p>The patch below lets you add %%term_description%% so you can populate your META tags properly on your term pages &#8211; great for us and our product directory.</p><p><a
href="http://www.leewillis.co.uk/patches/taxonomy_support_for_headspace/patch_v2.diff" target="_blank">http://www.leewillis.co.uk/patches/taxonomy_support_for_headspace/patch_v2.diff</a></p><p>Both of these have been submitted to the plugin authors &#8211; so hopefully they&#8217;ll get included by default in a future release. If you find them useful &#8211; please add to the threads here:</p><p><a
href="http://wordpress.org/support/topic/284719?replies=4#post-1155489" target="_blank">Google XML Sitemaps</a></p><p><a
href="http://urbangiraffe.com/support/topic/taxonomy-description-for-archive-pages-in-headspace" target="_blank">Headspace2</a></p> ]]></content:encoded> <wfw:commentRss>http://www.leewillis.co.uk/custom-taxonomies-wordpress-plugins/feed/</wfw:commentRss> <slash:comments>9</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 (User agent is rejected)

Served from: www.leewillis.co.uk @ 2012-02-04 18:57:04 -->
