<?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>Tortoise IT &#187; Plugins</title>
	<atom:link href="http://www.sean-barton.co.uk/category/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sean-barton.co.uk</link>
	<description>by Sean Barton, a freelance PHP website developer in Crewe, Cheshire</description>
	<lastBuildDate>Tue, 31 Jan 2012 17:34:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>WordPress SB Mail Attachment Widget Update (V1.1)</title>
		<link>http://www.sean-barton.co.uk/2012/01/wordpress-sb-mail-attachment-widget-update-v11/</link>
		<comments>http://www.sean-barton.co.uk/2012/01/wordpress-sb-mail-attachment-widget-update-v11/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:32:26 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Bug Fixes]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=715</guid>
		<description><![CDATA[A minor update today to improve the delivery efficiency of the emails with attachments. If you have no idea what this plugin is then check out my original post on it a few weeks ago here. Some users were reporting issues with the email coming through as ignoring the HTTP headers and including all of them within the email itself. A big mess indeed. Now it uses the wp_mail command so it can be hooked into by other plugins. Also because of this function usage it means that I don&#8217;t need to write the headers manually.. WordPress does all that &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2012/01/wordpress-sb-mail-attachment-widget-update-v11/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A minor update today to improve the delivery efficiency of the emails with attachments. If you have no idea what this plugin is then check out my original post on it a few weeks ago <a title="SB Mail Attachment Widget" href="http://www.sean-barton.co.uk/2011/12/sb-mail-attachment-widget/">here</a>.</p>
<p>Some users were reporting issues with the email coming through as ignoring the HTTP headers and including all of them within the email itself. A big mess indeed. Now it uses the wp_mail command so it can be hooked into by other plugins. Also because of this function usage it means that I don&#8217;t need to write the headers manually.. WordPress does all that for you. It should now be a lot more compatible with the various mail clients.</p>
<p>Download it here: <a href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=28" title="Downloaded 41 times">SB Mail Attachment Widget (2.7 kB)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2012/01/wordpress-sb-mail-attachment-widget-update-v11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SB Mail Attachment Widget</title>
		<link>http://www.sean-barton.co.uk/2011/12/sb-mail-attachment-widget/</link>
		<comments>http://www.sean-barton.co.uk/2011/12/sb-mail-attachment-widget/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 13:19:59 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[job application widget]]></category>
		<category><![CDATA[mail attachment widget]]></category>
		<category><![CDATA[wordpress email attachment]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=662</guid>
		<description><![CDATA[Ever wanted to use a simple contact form for your site where people can attach a file? Well I did for a recent project of mine. We wanted people to be able to apply for jobs whilst keeping the site very simple. Each post linked to a job and the consultant responsible for the job was set as the post author. Using a plugin like Contact Form 7 or Gravity Forms we thought we would be able to make up a form that people could fill in and, depending on the author of the post/page it&#8217;s on, send the email &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/12/sb-mail-attachment-widget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-663" title="sb_mail_attachment_widget" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/11/sb_mail_attachment_widget.png" alt="" width="289" height="310" />Ever wanted to use a simple contact form for your site where people can attach a file? Well I did for a recent project of mine. We wanted people to be able to apply for jobs whilst keeping the site very simple. Each post linked to a job and the consultant responsible for the job was set as the post author. Using a plugin like Contact Form 7 or Gravity Forms we thought we would be able to make up a form that people could fill in and, depending on the author of the post/page it&#8217;s on, send the email to one of many recipients.</p>
<p>Simple right using one of those bulky and, sometimes, advanced plugins? No&#8230;</p>
<p>I decided to write a plugin for it. The fields we wanted were clear, who are you, how can we get in touch with you and can you attach your CV? Well I wrote just that. This plugin adds a widget which allows you to configure the form and the email which gets sent. Most importantly it allows you to either set a fixed recipient address for the email or allow it to be set by the post author when the form is submitted. Emails sent with an attachment and it does work very well indeed (or did for us).</p>
<p>Note from the screenshot that you can include in the intro paragraph the name of the person who is to be informed if you so wish (admin2 in our case).</p>
<p>I am happy to make amends to this plugin for anyone if they will use it. I dare say I shall use it again in the future. I hope someone finds it useful if only for something to base their own plugin on.</p>
<p>Download it here: <a href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=28" title="Downloaded 41 times">SB Mail Attachment Widget (2.7 kB)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/12/sb-mail-attachment-widget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SB Tell a Friend Widget</title>
		<link>http://www.sean-barton.co.uk/2011/11/sb-tell-a-friend-widget/</link>
		<comments>http://www.sean-barton.co.uk/2011/11/sb-tell-a-friend-widget/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:17:07 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[free plugin]]></category>
		<category><![CDATA[recommend a friend]]></category>
		<category><![CDATA[tell a friend]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=658</guid>
		<description><![CDATA[I was looking for a widget to allow people to tell their friends about a site for a client of mine and realised that any I found in the WordPress repository were forcing you to use a third party service to do such a simple job. I wrote this plugin to do just that. It creates a widget for you to use on your site which is very flexible and requires no signups or payments to anything. It was written for a recruitment company so the screenshot shows it in the job vacancy context. The title, intro paragraph (optional) and &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/11/sb-tell-a-friend-widget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-659" title="sb_taf" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/11/sb_taf.png" alt="" width="288" height="205" />I was looking for a widget to allow people to tell their friends about a site for a client of mine and realised that any I found in the WordPress repository were forcing you to use a third party service to do such a simple job. I wrote this plugin to do just that. It creates a widget for you to use on your site which is very flexible and requires no signups or payments to anything.</p>
<p>It was written for a recruitment company so the screenshot shows it in the job vacancy context. The title, intro paragraph (optional) and labels for the boxes are all configurable via the widget as is the content of the email sent to the recommended person.</p>
<p>Currently there are no stats logged for usage of this plugin but it&#8217;s something I am going to be looking at in due course. It would be nice, for instance, to record the details of each recommendation sent either in our own system or in Google Analytics.</p>
<p>Download it here: <a href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=27" title="Downloaded 33 times">SB Tell a Friend (2.03 kB)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/11/sb-tell-a-friend-widget/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Getting the WordPress Excerpt outside of The Loop</title>
		<link>http://www.sean-barton.co.uk/2011/11/getting-the-wordpress-excerpt-outside-of-the-loop/</link>
		<comments>http://www.sean-barton.co.uk/2011/11/getting-the-wordpress-excerpt-outside-of-the-loop/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 14:36:13 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Bug Fixes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=654</guid>
		<description><![CDATA[I have been working my way around this one for a few months now, never bothering to think about the best solution. There is not, in fact, a WordPress simple function to get the excerpt outside of the WordPress loop. Why would you want to do that you ask&#8230; Example: I have a plugin I have written to create a basic shopping cart and shop front. It makes use of a simple shortcode on a Page to generate the shop which is based on a custom post type called Products. The Loop is used on the main page itself to &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/11/getting-the-wordpress-excerpt-outside-of-the-loop/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been working my way around this one for a few months now, never bothering to think about the best solution. There is not, in fact, a WordPress simple function to get the excerpt outside of the WordPress loop. Why would you want to do that you ask&#8230;</p>
<p>Example:</p>
<p>I have a plugin I have written to create a basic shopping cart and shop front. It makes use of a simple shortcode on a Page to generate the shop which is based on a custom post type called Products. The Loop is used on the main page itself to generate the WordPress Page and subsequently process the shortcode. I loop through the products using a query_posts statement to bung the data into an array (for caching and manipulating so using a child Loop isn&#8217;t possible here) and then loop over it again later on. I want to show the Excerpt (which may or may not exist) on the shop front and the full description for my individual product pages.</p>
<p>So I initially thought of doing something like the following:</p>
<pre>&lt;?php
$product = get_page($product_id);
echo $product-&gt;post_excerpt;
?&gt;</pre>
<p>What this approach does wrong is returns nothing at all when the user hasn&#8217;t filled in an Excerpt for the product they entered. WordPress normally takes a selection of text from the main content, strips out any HTML and shortcodes and shows that instead.</p>
<p>Next option is this:</p>
<pre>&lt;?php
echo get_the_excerpt();
?&gt;</pre>
<p>What this does is prints the excerpt for the page which the shop front it hosted on (the parent page) because, as far as The Loop is concerned, the context of the page isn&#8217;t a shop front, it&#8217;s just a normal Page.</p>
<p>So why does this not work?</p>
<pre>&lt;?php
echo get_the_excerpt($product_id);
?&gt;</pre>
<p>Well some bright spark on a blog out in the ether thought it did however, regardless of what the argument for the function was initially, it no longer works as has been depracated (the argument that is).</p>
<p>So what&#8217;s the solution&#8230; well sadly it&#8217;s a custom function of your own. Luckily for you I have backtraced the code and writted my own little version of the above and it works a treat&#8230;</p>
<pre>&lt;?php
        function get_the_excerpt($id=false) {
            global $post;

            $old_post = $post;
            if ($id != $post-&gt;ID) {
                $post = get_page($id);
            }

            if (!$excerpt = trim($post-&gt;post_excerpt)) {
                $excerpt = $post-&gt;post_content;
                $excerpt = strip_shortcodes( $excerpt );
                $excerpt = apply_filters('the_content', $excerpt);
                $excerpt = str_replace(']]&gt;', ']]&amp;gt;', $excerpt);
                $excerpt = strip_tags($excerpt);
                $excerpt_length = apply_filters('excerpt_length', 55);
                $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');

                $words = preg_split("/[\n\r\t ]+/", $excerpt, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
                if ( count($words) &gt; $excerpt_length ) {
                    array_pop($words);
                    $excerpt = implode(' ', $words);
                    $excerpt = $excerpt . $excerpt_more;
                } else {
                    $excerpt = implode(' ', $words);
                }
            }

            $post = $old_post;

            return $excerpt;
        }
?&gt;</pre>
<p>I have put mine in a class I used for my plugins these days as a helper function however just rename it (to avoid a naming conflict with it&#8217;s namesake) and call it from your plugin or theme as you would normally.</p>
<p>hope this helps someone out. Please let me know if anyone knows a better or simpler way. This works for me but I really wish there wasn&#8217;t such a monumental oversight by the WordPress guys on this one (other than creating sub loops which just feels wrong and inflexible to me)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/11/getting-the-wordpress-excerpt-outside-of-the-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple custom post type features for WordPress</title>
		<link>http://www.sean-barton.co.uk/2011/07/simple-custom-post-type-features-for-wordpress/</link>
		<comments>http://www.sean-barton.co.uk/2011/07/simple-custom-post-type-features-for-wordpress/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 12:50:24 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Personal Blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=601</guid>
		<description><![CDATA[I have been using custom post types in WordPress for a long time now&#8230;. In fact each new theme or plugin I write I tend to integrate a custom post type and some supplementary meta boxes here and there. If you have no idea what i&#8217;m talking about then this article probably isn&#8217;t for you&#8230; however read on and I shall explain briefly. Custom post types are wonderful for parts of sites that don&#8217;t generally fit into the standard Post or Page model. For instance WP Ecommerce (the most popular WP shopping cart) has just started using custom post types &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/07/simple-custom-post-type-features-for-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-609" title="WordPress-Introduction-icon_big-en" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/WordPress-Introduction-icon_big-en-150x150.png" alt="" width="150" height="150" />I have been using custom post types in WordPress for a long time now&#8230;. In fact each new theme or plugin I write I tend to integrate a custom post type and some supplementary meta boxes here and there. If you have no idea what i&#8217;m talking about then this article probably isn&#8217;t for you&#8230; however read on and I shall explain briefly.</p>
<p>Custom post types are wonderful for parts of sites that don&#8217;t generally fit into the standard Post or Page model. For instance WP Ecommerce (the most popular WP shopping cart) has just started using custom post types for storing their products&#8230; you will get the idea, products being a custom post type. If I say that they are a way of storing things in WordPress that can, if needed, provide a way of administering these objects as if they were a page like any other.</p>
<p>Adding them yourself requires some code and adding the fields that will appear on the page will require some more. This isn&#8217;t what I want to go over right now as there is an easier way. To get an idea of what I mean, see the following screenshots&#8230;</p>
<div id="attachment_602" class="wp-caption alignleft" style="width: 160px"><a rel="lightbox" href="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-13.24.28.png"><img class="size-thumbnail wp-image-602" title="Screen shot 2011-07-15 at 13.24.28" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-13.24.28-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Note the bottom three, they are custom post types</p></div>
<div id="attachment_603" class="wp-caption alignleft" style="width: 160px"><a rel="lightbox" href="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-13.25.10.png"><img class="size-thumbnail wp-image-603" title="Screen shot 2011-07-15 at 13.25.10" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-13.25.10-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">This admin interface is generated for you with 0 effort.</p></div>
<p>&#8220;Products&#8221; is generated by WP Ecommerce and my theme added &#8220;FAQs&#8221; and &#8220;Photography&#8221;. The second screenshot shows the admin interface, similar to the post/page editor, which is generated and the meta boxes which can be added very easily indeed to make it appear that way. The way that these can be added without writing any code would be to use one of the &#8216;More&#8217; plugins&#8230;. These are More Fields, More Types and More Taxonomies&#8230; all freely available WordPress plugins although I tend not to use them these days (I write them into my themes instead). Take a look though.</p>
<p>This article was really to outline what you do with the data within these types in the real world. Of course storing the data is easy, using it requires some imagination really. The post type items are stored in the wp_posts table and the fields you add as meta data are stored in wp_usermeta. You can easily retrieve the information using standard WordPress functions.</p>
<p>The following function can be used to get all of the photography items and store them in an Array of Objects for looping and output any way you see fit&#8230;</p>
<pre>function get_custom_post_type_items($custom_post_type) {
	$args = array(
	'post_type' =&gt; $custom_post_type,
	'post_status' =&gt; 'publish',
	'posts_per_page' =&gt;-1,
	'orderby' =&gt; 'post_date',
	'order' =&gt; 'DESC'
	);

	$posts = new WP_Query($args);
	$return = array();

	if ($posts-&gt;have_posts()) {
		while ($posts-&gt;have_posts()) {
			$posts-&gt;the_post();

			$post_id = get_the_ID();

			$sub_post = new stdClass();
			$sub_post-&gt;post_id = $post_id;
			$sub_post-&gt;title = get_the_title();
			$sub_post-&gt;permalink = get_permalink($post_id);
			$sub_post-&gt;content = wpautop(get_the_content());
			$sub_post-&gt;meta_data = get_post_meta($post_id, 'meta_data_name, true);

			$return[] = $sub_post;
		}
	}

	wp_reset_query();

	return $return;
}</pre>
<p>You can use this function in your functions.php file in your theme to be called by a page template or a shortcode if you add one to return the items you have added as custom post types. I have added a single meta data item called meta_data in each row which gets a custom field from the custom post type item called meta_data_name. In my Photography example I would just have more lines like this to get the various items from my custom meta box</p>
<pre>$sub_post-&gt;png_image = get_post_meta($post_id, 'png_image_url, true);</pre>
<p>Another good example use of this function would be for a featured items slider that you often see at the top of websites. One or more pages might have a portfolio item slider or a rotating banner or something. In that case you would call my function from your header.php file then loop through it outputting the appropriate HTML per line before using something like a jQuery call to construct the slider.</p>
<p>When you understand the applications for custom post types you might be finding yourself using them in more and more creative ways. I wrote a custom meta box a while back to link custom post type items to each other across different types. This was to allow staff member types to be linked to team and office types and so on. Then using this association you can output something like a dynamic organisational chart using a shortcode or a custom page template without having to hard code a thing.</p>
<p>This is a thinker, I imagine, for some people. Get in touch with me if you want any help putting these custom post types in place and utilising them on your site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/07/simple-custom-post-type-features-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Zen Cart Welcome Email Editor Update</title>
		<link>http://www.sean-barton.co.uk/2011/07/zen-cart-welcome-email-editor-update/</link>
		<comments>http://www.sean-barton.co.uk/2011/07/zen-cart-welcome-email-editor-update/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 22:25:52 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Zen Cart]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=588</guid>
		<description><![CDATA[Just a quick one today. I have recently updated my Welcome email editor for Zencart. Not much of a change but a helpful user said that coupon codes weren&#8217;t working. They now do along with a few more hooks and options. Comments and suggestions welcome! Enjoy! Original post here: http://www.sean-barton.co.uk/2008/07/zen-cart-welcome-email-editor/ Here&#8217;s the download link:]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-589" title="zencart-logo" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/07/zencart-logo-150x150.png" alt="" width="150" height="150" />Just a quick one today. I have recently updated my Welcome email editor for Zencart. Not much of a change but a helpful user said that coupon codes weren&#8217;t working. They now do along with a few more hooks and options. Comments and suggestions welcome! Enjoy!</p>
<p>Original post here: <a href="http://www.sean-barton.co.uk/2008/07/zen-cart-welcome-email-editor/">http://www.sean-barton.co.uk/2008/07/zen-cart-welcome-email-editor/</a></p>
<p>Here&#8217;s the download link: <code><a class="downloadlink" href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=3" title="Version 1.2 downloaded 909 times" >Welcome Email Editor for ZenCart (5.29 kB)</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/07/zen-cart-welcome-email-editor-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SB Uploader gets an upgrade</title>
		<link>http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/</link>
		<comments>http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 22:01:04 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=574</guid>
		<description><![CDATA[It&#8217;s been a while since I have posted anything, simply because I have been too busy with work and family etc&#8230; However, this is a good one for you. I have just spent the last couple of days on and off extending the SB Uploader plugin. For those of you that don&#8217;t know what it does it&#8217;s a meta box that sits in the post/page interface within WordPress and allows you to upload images and attach them to your content effortlessly and without being bombarded with options such as those that WordPress gives by default. This new update adds some &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I have posted anything, simply because I have been too busy with work and family etc&#8230; However, this is a good one for you. I have just spent the last couple of days on and off extending the SB Uploader plugin. For those of you that don&#8217;t know what it does it&#8217;s a meta box that sits in the post/page interface within WordPress and allows you to upload images and attach them to your content effortlessly and without being bombarded with options such as those that WordPress gives by default.</p>
<p>This new update adds some really useful features to the plugin. They are as follows:</p>
<ul>
<li>Multiple instances of an uploader meaning you can have more than one image per page</li>
<li>Shortcodes added so you can effortlessly use your images within your content without coding</li>
<li>Configurable names (custom field names) for uploads so you aren&#8217;t stuck with post_image (see screenshot in gallery below)</li>
<li>Not only posts and pages, it now works with categories, tags and other taxonomies as well</li>
<li>Widgets added for both post and taxonomy images. Backup text/HTML added or optionally hides widget if no image uploaded</li>
</ul>
<p>Grab a copy now from the WordPress extend directory. It&#8217;s free remember so worth a go. Please do let me know if you would like help using it or if you can think of any way of bettering it. I always enjoy a good challenge!</p>
<p>Download it here <a title="Wordpress Extend directory SB Uploader" href="http://wordpress.org/extend/plugins/sb-uploader" target="_blank">http://wordpress.org/extend/plugins/sb-uploader</a></p>

<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-32-00/' title='Single simple meta box'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.32.00-150x150.png" class="attachment-thumbnail" alt="Single simple meta box" title="Single simple meta box" /></a>
<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-32-13/' title='Multiple instances for a post/page example'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.32.13-150x150.png" class="attachment-thumbnail" alt="Multiple instances for a post/page example" title="Multiple instances for a post/page example" /></a>
<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-32-39/' title='Edit taxonomy interface'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.32.39-150x150.png" class="attachment-thumbnail" alt="Edit taxonomy interface" title="Edit taxonomy interface" /></a>
<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-32-50/' title='NEW configuration page for managing instances'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.32.50-150x150.png" class="attachment-thumbnail" alt="NEW configuration page for managing instances" title="NEW configuration page for managing instances" /></a>
<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-33-10/' title='Post image widget settings'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.33.10-150x150.png" class="attachment-thumbnail" alt="Post image widget settings" title="Post image widget settings" /></a>
<a href='http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/screen-shot-2011-06-27-at-22-33-14/' title='Taxonomy image widget settings'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/06/Screen-shot-2011-06-27-at-22.33.14-150x150.png" class="attachment-thumbnail" alt="Taxonomy image widget settings" title="Taxonomy image widget settings" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/06/sb-uploader-gets-an-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SB Remote Signup</title>
		<link>http://www.sean-barton.co.uk/2011/03/sb-remote-signup/</link>
		<comments>http://www.sean-barton.co.uk/2011/03/sb-remote-signup/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 00:07:18 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[SB Remote Signup]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=523</guid>
		<description><![CDATA[Ever wanted to be able to sign people up to your blog from the URL? No? Well let me convince you&#8230; I have been working with a few people that sell their wares on third party sites and services. These services usually come with some sort of email notification when someone coughs up for your product and then you have to spend that time faffing adding users to your WordPress site manually. Using this plugin, assuming they have a pseudo API, you don&#8217;t need to! In effect you can do the following http://www.yoursite.com/?sb_rs_action=user_register&#038;sb_rs_email=example@test.com&#038;sb_rs_first_name=Test&#038;sb_rs_last_name=User&#038;sb_rs_username=test_user&#038;sb_rs_password=anicepassword In fact the minimum you can send &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/03/sb-remote-signup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-537" title="book-signing" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/03/book-signing-199x300.jpg" alt="" width="199" height="300" />Ever wanted to be able to sign people up to your blog from the URL? No? Well let me convince you&#8230;</p>
<p>I have been working with a few people that sell their wares on third party sites and services. These services usually come with some sort of email notification when someone coughs up for your product and then you have to spend that time faffing adding users to your WordPress site manually. Using this plugin, assuming they have a pseudo API, you don&#8217;t need to! In effect you can do the following</p>
<p>http://www.yoursite.com/?sb_rs_action=user_register&#038;sb_rs_email=example@test.com&#038;sb_rs_first_name=Test&#038;sb_rs_last_name=User&#038;sb_rs_username=test_user&#038;sb_rs_password=anicepassword</p>
<p>In fact the minimum you can send would be</p>
<p>http://www.yoursite.com/?sb_rs_action=user_register&#038;sb_rs_email=example@test.com</p>
<p>Yes it&#8217;s that simple. It will generate a random username, password and set the default role and send out the welcome email as normal. You can suppress the welcome email centrally or suppress it on a per call basis. If you don&#8217;t want just any random person (or bot) signing up then use the API key functionality and then no request will be actioned unless another argument is added to the URL.</p>
<p>The URL Keys are configurable so you can bin the sb_rs_ prefix if you like (only for the userfields, the action and supplementary fields must remain, for now).</p>
<p>Take a look and let me know what you think. I am going to be using this in many of my applications from now on and would love to hear what people think of it!</p>
<p>Download:</p>
<a href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=23" title="Downloaded 158 times">SB Remote Signup (4.74 kB)</a>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/03/sb-remote-signup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SB Uploader</title>
		<link>http://www.sean-barton.co.uk/2011/01/sb-uploader/</link>
		<comments>http://www.sean-barton.co.uk/2011/01/sb-uploader/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 09:00:43 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Time Savers]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=506</guid>
		<description><![CDATA[You know I have been intending to release this for literally six months now. I originally wrote it for a client as a way to get company logos to appear inside WordPress posts&#8230; easy you say huh? What about if we were dealing with people who had no idea what to do when looking at the standard wordpress &#8216;Add Media&#8217; or &#8216;Add Image&#8217; page. It all seemed a bit too complicated for the average person so SB Uploader was born. The idea of the plugin is that it means the act of uploading an image can be done on the &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2011/01/sb-uploader/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-514" title="up-arrow" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/01/up-arrow-150x150.gif" alt="" width="150" height="150" />You know I have been intending to release this for literally six months now. I originally wrote it for a client as a way to get company logos to appear inside WordPress posts&#8230; easy you say huh? What about if we were dealing with people who had no idea what to do when looking at the standard wordpress &#8216;Add Media&#8217; or &#8216;Add Image&#8217; page. It all seemed a bit too complicated for the average person so SB Uploader was born.</p>
<p>The idea of the plugin is that it means the act of uploading an image can be done on the same page as the Post/Page editor and there is no separate upload button, just the Save/Publish Post/Page button as normal. This ensures that as part of their blog post or copywriting process an image could be chosen before publishing.<strong> </strong></p>
<p><strong>How does it work?</strong></p>
<p>Well the plugin uses JQuery to add the &#8216;enctype&#8217; argument to the form on the editor page meaning no code WordPress code manipulation is necessary. A box is added to the top right hand corner of the edit page interface with a simple file selector with browse button. When the user hits Publish/Save the file is uploaded and the URL put into a post/page custom field called company_logo. This can then be used by your theme using the following code:</p>
<pre>if ($image = get_post_meta(get_the_ID(), 'post_image', true)) {
 $image = '&lt;img src="' . $image . '" alt="Image" /&gt;';
}
echo $image;</pre>
<p>I would normally wrap the image variable in a div tag with a class or give the image itself a class so that I can restrict the size or float the image (or both?) using the stylesheet. It simply means that you can include that image inside a template if it exists.</p>
<p>So far I have used it on several sites and not one person had managed to break it or struggled using it. That isn&#8217;t a challenge though! <img src='http://www.sean-barton.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As a little bonus for those that know what they are doing I have written a very basic file explorer to allow you to look around the file system of the site in question and upload/download files as appropriate. This isn&#8217;t included on the Post/Page Interface but is included as a plugin menu so it can easily be turned off or separated using something like the Adminize plugin (which I really do love!).</p>
<p><strong>Screenshots</strong></p>

<a href='http://www.sean-barton.co.uk/2011/01/sb-uploader/screen-shot-2010-12-30-at-23-13-08/' title='Upload box'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2010/12/Screen-shot-2010-12-30-at-23.13.08-150x150.png" class="attachment-thumbnail" alt="Upload box with no existing file" title="Upload box" /></a>
<a href='http://www.sean-barton.co.uk/2011/01/sb-uploader/screen-shot-2010-12-30-at-23-14-34/' title='Upload box'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2010/12/Screen-shot-2010-12-30-at-23.14.34-150x150.png" class="attachment-thumbnail" alt="Upload box with existing file" title="Upload box" /></a>
<a href='http://www.sean-barton.co.uk/2011/01/sb-uploader/screen-shot-2010-12-30-at-23-15-25/' title='File browser'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2010/12/Screen-shot-2010-12-30-at-23.15.25-150x150.png" class="attachment-thumbnail" alt="Basic File Manager" title="File browser" /></a>
<a href='http://www.sean-barton.co.uk/2011/01/sb-uploader/up-arrow/' title='up-arrow'><img width="150" height="150" src="http://www.sean-barton.co.uk/wp-content/uploads/2011/01/up-arrow-150x150.gif" class="attachment-thumbnail" alt="up-arrow" title="up-arrow" /></a>

<p>Download: <a class="downloadlink" href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=22" title="Version 2 downloaded 728 times" >SB Uploader (12.51 kB)</a></p>
<p>Enjoy! Feedback always welcome&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2011/01/sb-uploader/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SB Directory Plugin</title>
		<link>http://www.sean-barton.co.uk/2010/12/sb-directory-plugin/</link>
		<comments>http://www.sean-barton.co.uk/2010/12/sb-directory-plugin/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 23:01:05 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[sb directory]]></category>

		<guid isPermaLink="false">http://www.sean-barton.co.uk/?p=503</guid>
		<description><![CDATA[Happy New Year (Nearly) everyone! I have had a great Christmas but come the 27th Dec I was starting to get a little bored of the festivities so I had a look at a few small projects for people. A while ago I was asked to make a directory plugin. Instead of writing one from the ground up which would have been too time consuming at the time, I extended the Business Directory plugin which was sitting in the WordPress Extend Directory. At the time the plugin was very basic, badly written and made huge overuse of AJAX as if &#8230; <a class="continue_reading" href="http://www.sean-barton.co.uk/2010/12/sb-directory-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-518" title="directory_home" src="http://www.sean-barton.co.uk/wp-content/uploads/2010/12/directory_home-225x300.jpg" alt="" width="225" height="300" />Happy New Year (Nearly) everyone! I have had a great Christmas but come the 27th Dec I was starting to get a little bored of the festivities so I had a look at a few small projects for people. A while ago I was asked to make a directory plugin. Instead of writing one from the ground up which would have been too time consuming at the time, I extended the Business Directory plugin which was sitting in the WordPress Extend Directory.</p>
<p>At the time the plugin was very basic, badly written and made huge overuse of AJAX as if it was the developers brand new hammer. Sadly he was mistaken and therefore I spent some time sorting out the code and removing a vast amount of dodgy Javascript code. The final version is by no means perfect and bug free but it does have some nice advantages over the original.. namely:</p>
<p>- Google Maps Geocoding for addresses<br />
- Location based searching with distance calculations<br />
- Additional fields for input and searching (secondary URL)<br />
- A status system<br />
- A templating system with different templates possible per status<br />
- Email approval of new listings<br />
- Priority Listings<br />
- A listing widget</p>
<p>As I said the end result is by no means a beautiful piece of work but in a few hours I have managed to make at least two of my clients happy with a small bill and a functional system.</p>
<p>Feel free to take a look and let me know if there are any obvious flaws which I shall fix. Am happy to extend it as well if need be. I dare say I shall be using it again over the coming months.</p>
<p>Download: <a class="downloadlink" href="http://www.sean-barton.co.uk/wp-content/plugins/download-monitor/download.php?id=21" title="Version 1.3 downloaded 170 times" >SB Business Directory (21.19 kB)</a></p>
<p>Have a great new year<br />
Sean &amp; Family</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sean-barton.co.uk/2010/12/sb-directory-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 12/64 queries in 0.129 seconds using disk
Object Caching 1466/1572 objects using disk

Served from: www.sean-barton.co.uk @ 2012-02-08 22:59:18 -->
