
<?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>Swifty&#039;s Blog</title>
	<atom:link href="http://www.irving-swift.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.irving-swift.com</link>
	<description>James Irving-Swift&#039;s portfolio and random blogging</description>
	<lastBuildDate>Mon, 01 Oct 2012 21:01:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Quick Start guide to install LEMP server on Ubuntu 12.04 (Linux + Nginx + MySql + PHP )</title>
		<link>http://www.irving-swift.com/2012/05/quick-start-guide-to-install-lemp-server-on-ubuntu-12-04-linux-nginx-mysql-php/</link>
		<comments>http://www.irving-swift.com/2012/05/quick-start-guide-to-install-lemp-server-on-ubuntu-12-04-linux-nginx-mysql-php/#comments</comments>
		<pubDate>Wed, 02 May 2012 11:42:39 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[LEMP]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=55</guid>
		<description><![CDATA[I have seen some online guides about this but really was after one specific to Ubuntu 12.04. So here goes: Step 1 &#8211; Installing Nginx First we need to add the Nginx source sudo add-apt-repository ppa:nginx/stable Next, as we always do after adding a source, we need to update sudo apt-get update And now we [...]]]></description>
			<content:encoded><![CDATA[<p>I have seen some online guides about this but really was after one specific to Ubuntu 12.04. So here goes:</p>
<h3>Step 1 &#8211; Installing Nginx</h3>
<p>First we need to add the Nginx source</p>
<pre class="brush: bash; gutter: true">sudo add-apt-repository ppa:nginx/stable</pre>
<p>Next, as we always do after adding a source, we need to update</p>
<pre class="brush: bash; gutter: true">sudo apt-get update</pre>
<p>And now we install it</p>
<pre class="brush: bash; gutter: true">sudo apt-get install nginx</pre>
<p>Next, we must start the Nginx service.</p>
<pre class="brush: bash; gutter: true">sudo /etc/init.d/nginx start</pre>
<p>To check if it is successful, try going to http://localhost/ in your browser. If you see a Welcome to Nginx page, it has been successful.</p>
<h3>Step 2 &#8211; Installing PHP5:</h3>
<p>Install PHP and any required extensions</p>
<pre class="brush: bash; gutter: true">sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql</pre>
<p>Edit the default Nginx site config (if you are not familiar with vim, try entering &#8216;nano&#8217; instead)</p>
<pre class="brush: bash; gutter: true">sudo vim /etc/nginx/sites-available/default</pre>
<p>The changes you will need to make are as follows:<br />
1) </p>
<pre class="brush: bash; gutter: true">index index.html index.htm;</pre>
<p>to</p>
<pre class="brush: bash; gutter: true">index index.html index.htm index.php;</pre>
<p>2)</p>
<pre class="brush: bash; gutter: true">root /srv/http/nginx;</pre>
<p>^this path may be different in your install, it doesn&#8217;t matter as we are changing it!<br />
to:</p>
<pre class="brush: bash; gutter: true">root /var/www;</pre>
<p>3) uncomment the following lines</p>
<pre class="brush: bash; gutter: true">
 location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi_params;
  }
</pre>
<p>Now quit vim (&#8216;:wq&#8217;) and restart the nginx service.</p>
<pre class="brush: bash; gutter: true">sudo /etc/init.d/nginx restart</pre>
<p>If the folder /var/www/ doesn&#8217;t exist, create it</p>
<pre class="brush: bash; gutter: true">sudo mkdir /var/www/</pre>
<h3>Step 3 &#8211; Install MySQL</h3>
<p>And finally, </p>
<pre class="brush: bash; gutter: true">sudo apt-get install mysql-server</pre>
<h3>Step 4 &#8211; Check it works!</h3>
<p>Create a test file</p>
<pre class="brush: bash; gutter: true">vim /var/www/test.php</pre>
<p>Add this line</p>
<pre class="brush: bash; gutter: true">&lt;?php phpinfo();?&gt;</pre>
<p>Save and quit vim (:wq) and go to http://localhost/test.php in your browser.<br />
If you see a page displaying all your PHP settings, then it works!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2012/05/quick-start-guide-to-install-lemp-server-on-ubuntu-12-04-linux-nginx-mysql-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ajax breaks in wordpress if back-end uses SSL</title>
		<link>http://www.irving-swift.com/2012/03/ajax-breaks-in-wordpress-if-back-end-uses-ssl/</link>
		<comments>http://www.irving-swift.com/2012/03/ajax-breaks-in-wordpress-if-back-end-uses-ssl/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 10:36:55 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=52</guid>
		<description><![CDATA[So you have a wordpress blog and you (or your client) want the wp-admin to use an SSL certificate, sounds great! However, any AJAX you use in your site has broken. I spent a while googling this issue when it happened to me and found a really easy fix; you need to change the variables [...]]]></description>
			<content:encoded><![CDATA[<p>So you have a wordpress blog and you (or your client) want the wp-admin to use an SSL certificate, sounds great! However, any AJAX you use in your site has broken. I spent a while googling this issue when it happened to me and found a really easy fix; you need to change the variables in the get_admin_url() function to force the AJAX requestion to use http instead of https. Change it to look like:</p>
<p><code>get_admin_url(null,'','http'); </code></p>
<p>I hope this helps a lot of people!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2012/03/ajax-breaks-in-wordpress-if-back-end-uses-ssl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guide to WordPress Settings API</title>
		<link>http://www.irving-swift.com/2011/11/guide-to-wordpress-settings-api/</link>
		<comments>http://www.irving-swift.com/2011/11/guide-to-wordpress-settings-api/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 12:53:38 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=42</guid>
		<description><![CDATA[I have decided to explain how to use the WordPress Settings API after having pulled out most my hair whilst googling for a easy to understand explanation. The reason I wanted to use the WordPress Settings API was because whilst making plugins, I found that my code for my options page was getting a little [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.irving-swift.com/wp-content/uploads/2011/07/Screenshot-2.png"><img class="alignright size-medium wp-image-44" title="WP Settings API Thumbnail" src="http://www.irving-swift.com/wp-content/uploads/2011/07/Screenshot-2-300x122.png" alt="" width="300" height="122" /></a>I have decided to explain how to use the WordPress Settings API after having pulled out most my hair whilst googling for a easy to understand explanation.</p>
<p>The reason I wanted to use the WordPress Settings API was because whilst making plugins, I found that my code for my options page was getting a little messy. I had also read, that if you use the Settings API, you don&#8217;t ever have to use the update_option() function.</p>
<p>Finally, being a WordPress API, I would like to think that this make my plugins a little more future-proof against wordpress upgrades.</p>
<p>Please note that in this walkthrough I am storing the options into an array.</p>
<p>So this is how it is done:</p>
<pre class="brush: php; gutter: true">add_action('admin_menu', 'create_plugin_options_page');
add_action('admin_init', 'register_and_build_plugin_options');

function create_plugin_options_page() {
  //register the menu item
  add_menu_page('Plugins Option', 'Plugin Options', 'administrator', 'option-page-name', 'plugin_options_page');
}

function register_and_build_plugin_options(){
  //register the option value you will be using.
  //N.B. the second parameter must be the same as what you have named the option in your plugin activation
  register_setting('settings_option','plugin_settings', 'validate_option');
  add_settings_section('first_setting_section', 'Settings Section 1','section1_callback','option-page1');
  add_settings_field('setting_text','Text Field: ','text_field','option-page1','first_setting_section');
}</pre>
<p>You can have lots of fields in lots of sections. Important things to note when using add_settings_section, add_settings_field, register_setting:</p>
<ul>
<li>The 3rd parameter of register_setting is a callback for validation. In the example above, I have a function (shown later) called validate_option which contains any required validation. This field is optional.</li>
<li>The 4th parameter of add_settings_field must correlate to a 1st parameter of add_settings_section</li>
<li>The 4th parameter of add_settings_section which should be the same as the 4th parameter of add_settings_field (&#8216;option-page1&#8242;) is what you will later use to load this section by using the function do_settings_section();</li>
<li>The 3rd parameter of add_settings_section is a callback function. It can be a blank function if you want it to be.</li>
<li>The 3rd parameter of add_settings_field is a callback function that contains the input field that you want.</li>
</ul>
<div>This is the callback function with input field:</div>
<div>
<pre class="brush: php; gutter: true">function text_field(){
	  $optionValue = get_option('plugin_settings');
    $option = "";
    $option .= "<input id=\"{plugin_settings[text_field]}\" type="\text\" name="\"plugin_settings[text_field]\" value=\"{$optionValue['text_field']}\" />";
    echo $option;
}</pre>
</div>
<p>You must name the field by the option name so it will save correctly, like I have done above with name=\&#8221;plugin_settings[text_field]\&#8221;.</p>
<p>Now finally, the function that brings it all together:</p>
<pre class="brush: php; gutter: true">function plugin_options_page() {
?&gt;
&lt;div id="theme-options-wrap"&gt;
&lt;h2&gt;Plugin Title&lt;/h2&gt;
&lt;div&gt;&lt;form action="options.php" method="post"&gt; 
&lt;p class="submit"&gt;&lt;input class="button-primary" type="submit" name="Submit" value="&lt;?php esc_attr_e('Save Changes'); ?&gt;" /&gt;&lt;/p&gt;

&lt;/form&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id="theme-options-wrap"&gt;
&lt;h2&gt;Plugin Title&lt;/h2&gt;
&lt;div&gt;&lt;form action="options.php" method="post"&gt; 
&lt;p class="submit"&gt;&lt;input class="button-primary" type="submit" name="Submit" value="&lt;?php esc_attr_e('Save Changes'); ?&gt;" /&gt;&lt;/p&gt;

&lt;/form&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;?php
}

function validate_option($option){
    //put any validation on the options here.
    return $option;
}

function section1_callback(){}

function section2_callback(){
	$html = "An example of some text in the callback function";
	echo $html;
}

function text_field(){
	  $optionValue = get_option('plugin_settings');
    $option = "";
    $option .= "
&lt;input id=\"text_field\" type=\"text\" name=\"plugin_settings[text_field]\" value=\"{$optionValue['text_field']}\"?--&gt;";
    echo $option;
}

function select_field(){
    $options = get_option('plugin_settings');
    $items = array("Red", "Green", "Blue", "Orange", "White", "Violet", "Yellow");
    $html = "
    &lt;select id="select_field" name="plugin_settings[select_field]"&gt;";
    foreach($items as $item) {
        $selected = ($options['select_field']==$item) ? 'selected="selected"' : ''; $html .= " &lt;option selected="selected" value="$item"&gt;$item&lt;/option&gt; ";
    }
    $html .= "&lt;/select&gt;";
    echo $html;
}
function checkbox_field(){
    $optionValue = get_option('plugin_settings');
    $option = "";
    $option .= " &lt;input type="\"checkbox\"" name="\"plugin_settings[checkbox_field]\"" value="\&amp;quot;1\&amp;quot;" checked="checked" /&gt;";
    echo $option;
}
function radio_field(){
    $optionValue = get_option('plugin_settings');
    $option = "";
    $option .= " &lt;input type="\"radio\"" name="\"plugin_settings[radio_field]\"" value="\"value1\"" checked="checked" /&gt;Value1 ";
    $option .= " &lt;input type="\"radio\"" name="\"plugin_settings[radio_field]\"" value="\"value2\"" checked="checked" /&gt;Value2 ";
    echo $option;
}</pre>
<p>This will allow you to have a settings page that looks like:</p>
<p><a href="http://www.irving-swift.com/wp-content/uploads/2011/07/Screenshot-1.png"><img class="alignnone size-medium wp-image-45" title="Settings-API-Screenshot" src="http://www.irving-swift.com/wp-content/uploads/2011/07/Screenshot-1-300x258.png" alt="" width="300" height="258" /></a></p>
<p>Quite a Mouthful! However I hope this really helps for people trying to get to grips with API. Admittedly, I have written this partly as a response to lack of documentation on the API!</p>
<p>If you would like more help, I found this documentation helpful: <a href="http://www.presscoders.com/wordpress-settings-api-explained/">http://www.presscoders.com/wordpress-settings-api-explained/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2011/11/guide-to-wordpress-settings-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.04 first impressions</title>
		<link>http://www.irving-swift.com/2011/05/ubuntu-11-04-first-impressions/</link>
		<comments>http://www.irving-swift.com/2011/05/ubuntu-11-04-first-impressions/#comments</comments>
		<pubDate>Wed, 04 May 2011 08:20:37 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Natty Narwhal]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=40</guid>
		<description><![CDATA[So Ubuntu 11.04 (Nutty Narwhal) is finally here, and so far it seems to be the release with the most amount of change since I started using Ubuntu 6.04. The big change is the use of Unity instead of Gnome as the default environment, which seemed a bit of a shock as Gnome 3 has [...]]]></description>
			<content:encoded><![CDATA[<p>So Ubuntu 11.04 (Nutty Narwhal) is finally here, and so far it seems to be the release with the most amount of change since I started using Ubuntu 6.04.<a href="http://www.irving-swift.com/wp-content/uploads/2011/05/unity-screenshot-1.jpg"><img src="http://www.irving-swift.com/wp-content/uploads/2011/05/unity-screenshot-1-300x215.jpg" alt="Unity Screenshot" title="Unity Screenshot" width="300" height="215" class="alignright size-medium wp-image-41" /></a></p>
<p>The big change is the use of Unity instead of Gnome as the default environment, which seemed a bit of a shock as Gnome 3 has been released. I would assume that gnome 3 wasn&#8217;t ready early enough to develop in this release. However, I have heard you can manually install it and it works fine, except it breaks Unity!</p>
<p>Positive things I have noticed from Unity already have been:</p>
<ul>
<li>I did not have to play with any settings at all for my dual monitors, however with gnome 2 I remember spending ridiculous amounts of editing various conf files else finding the right drivers so that I could use two monitors with different resolutions. </li>
<li>A much lighter interface, mainly as most programs seem to integrate with Unity&#8217;s Mac-like toolbars, however I get disappointed when some programs don&#8217;t follow the theme very well (i.e. Netbeans and Chrome!)</li>
<li>My system icons magically tidied themselves during the upgrade, and more seemed to get included into the messaging menu. My old toolbar was starting to become a mess and this is a much welcomed change.</li>
</ul>
<p>So far my only complaints would be:</p>
<ul>
<li>System settings are in the most ridiculous place! Go to shutdown and you will see them!</li>
<li>I prefer the new menu as I no longer need Gnome-Do, however, the Places menu from gnome 2 was so useful for all my shortcuts.</li>
</ul>
<p>So without any doubt Unity is the big change in this release, however there have been other changes.</p>
<p>I now have libreOffice, I don&#8217;t know what was wrong with OpenOffice but I like OpenOffice! Maybe I&#8217;m just being closed minded and just need to actually give libreOffice a chance!</p>
<p>Rhythmbox is no longer the default music player, instead Banshee is, and I must admit, that even though Rhythmbox is plain and boring, I like it&#8217;s shear simplistic user interface and I don&#8217;t think that Banshee feels as polished.</p>
<p> I have noticed a few changes since upgrading from 10.10. Mainly that flash seems to run so much better. I had stopped using Grooveshark as it would crash every couple or songs and I couldn&#8217;t full-screen HD videos and vimeo and youtube, however, 11.04 seems to have fixed this.</p>
<p>Also it seems to that multitasking is less painless and application switching happens more fluidly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2011/05/ubuntu-11-04-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento Developer&#8217;s Paradise 2010</title>
		<link>http://www.irving-swift.com/2010/10/magento-developers-paradise-2010/</link>
		<comments>http://www.irving-swift.com/2010/10/magento-developers-paradise-2010/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 18:01:48 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=35</guid>
		<description><![CDATA[About 2 and a half months ago, my boss told me that I was to go on a business trip to learn more about Magento. I thought: &#8220;Ugh, I&#8217;m going to lose a weekend and have to do lots of driving, this is going to be dreadful&#8221;. This thought quickly vanished when I was told [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.irving-swift.com/wp-content/uploads/2010/10/Meet-Magento-Logo.jpg"><img src="http://www.irving-swift.com/wp-content/uploads/2010/10/Meet-Magento-Logo-300x71.jpg" alt="" title="Meet-Magento-Logo Kopie" width="300" height="71" class="alignright size-medium wp-image-36" /></a>About 2 and a half months ago, my boss told me that I was to go on a business trip to learn more about Magento. I thought: &#8220;Ugh, I&#8217;m going to lose a weekend and have to do lots of driving, this is going to be dreadful&#8221;.<br />
This thought quickly vanished when I was told that the conference was in Majorca!<br />
So after an easy flight there my colleague and I arrived at a large and pleasant hotel. We had been expecting that we would be sharing a room so were pleased when we were given separate room and then all-inclusive bands on our wrists!<a href="http://www.irving-swift.com/wp-content/uploads/2010/10/mage1.jpg"><img src="http://www.irving-swift.com/wp-content/uploads/2010/10/mage1-300x199.jpg" alt="" title="Magento Developer&#039;s Paradise" width="300" height="199" class="alignleft size-medium wp-image-37" /></a><br />
When people are all-inclusive, its amazing how generous they are at offering drinks!<br />
So after having located our rooms and dropped off our bags we thought we would go to the bar and starting introducing ourselves as the conference would be starting with an hour or two.<br />
Even though we had a great view of the pool, it was raining so we couldn&#8217;t make the most of that, but it was still warm and I didn&#8217;t care, the novelty of being in Majorca still hadn&#8217;t worn off!<br />
There was a large variety of lectures. The keynote lecture by Yoav Kutner was excellent I found Ashley Schroder&#8217;s lecture on plugin development especially interesting as this something I am keen to learn. The other lectures that really grabbed my attention was Phillippe Humeau&#8217;s &#8216;Make Magento Run Like an Antelope&#8217; which had me writing down pages of notes.<a href="http://www.irving-swift.com/wp-content/uploads/2010/10/mage2.jpg"><img src="http://www.irving-swift.com/wp-content/uploads/2010/10/mage2-300x199.jpg" alt="" title="Magento Developer&#039;s Paradise" width="300" height="199" class="alignright size-medium wp-image-38" /></a><br />
From this conference, I feel that the most important thing I have taken away is that to develop with Magento, you must understand Zend first. It is for this reason that I have started to really make the time to understand Zend.<br />
The Conference was a great opportunity for meeting others in the same field of work. I was surprised that we English were a minority, the majority was very definitely German however I met people from the US, Belgium, Sweden, France, Spain and even New Zealand (just to name a few).<br />
Given the chance, I would very happily go again and I congratulate the Magento Team who organised this event.</p>
<p>(Thank you to C3Media.co.uk for allowing me to use their images).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/10/magento-developers-paradise-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtering custom posts by more than one Taxonomy</title>
		<link>http://www.irving-swift.com/2010/10/filtering-custom-posts-by-more-than-one-taxonomy/</link>
		<comments>http://www.irving-swift.com/2010/10/filtering-custom-posts-by-more-than-one-taxonomy/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 22:23:32 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=32</guid>
		<description><![CDATA[With WordPress now able to use custom post types, I have asked on forums if anyone new how to filter by more than one taxonomy. I originally tried using query_posts('cat=6,5') and other similar commands but have no luck. To resolve this I came up with the following solution: First I create two custom fields on [...]]]></description>
			<content:encoded><![CDATA[<p>With WordPress now able to use custom post types, I have asked on forums if anyone new how to filter by more than one taxonomy. I originally tried using
<pre> query_posts('cat=6,5') </pre>
<p> and other similar commands but have no luck.</p>
<p>To resolve this I came up with the following solution:</p>
<p>First I create two custom fields on the page which I named taxonomy1 and taxonomy2.<br />
I then added the following code:</p>
<pre>
 &lt;?php 
$taxonomy1 = get_post_meta($post->ID, "taxonomy1"); 
$taxonomy2 = get_post_meta($post->ID, "taxonomy2");

//this is an sql query to find all posts containing two taxonomies
$sql_query = "SELECT * FROM (
			SELECT wp_posts.ID FROM `wp_posts` 
				JOIN wp_term_relationships ON wp_posts.ID=wp_term_relationships.object_id
				JOIN wp_terms ON wp_term_relationships.term_taxonomy_id=wp_terms.term_id
					WHERE slug = '".$taxonomy1[0]."' 
			UNION ALL
			SELECT wp_posts.ID FROM `wp_posts` 
				JOIN wp_term_relationships ON wp_posts.ID=wp_term_relationships.object_id
				JOIN wp_terms ON wp_term_relationships.term_taxonomy_id=wp_terms.term_id
					WHERE post_type = 'tiles' AND slug = '".$taxonomy2[0]."'
		) AS results

		GROUP BY results.id HAVING COUNT(*) = 2";
		
	$newresults = $wpdb->get_results($sql_query);			
		
	$ArrayOfIDs = array();
		
	foreach($newresults as $newresult){
		array_push($ArrayOfIDs, $newresult->ID);
	}

	query_posts(array('posts_per_page'=&gt;'900','post_type' =&gt; 'tiles','post__in' =&gt; $ArrayOfIDs));
?&gt;</pre>
<p>The idea behind this code is that the mysql query returns the post IDs of the posts that correspond to the two taxonomy filters and then the foreach loop pushes those into an array of IDs ($ArrayOfIDs) which is then used in the query_post function.</p>
<p>Feedback would be much appreciated on other ways that I could have resolved this issue or also how I could improve this code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/10/filtering-custom-posts-by-more-than-one-taxonomy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New ventures with Electric Studio</title>
		<link>http://www.irving-swift.com/2010/09/new-ventures-with-electric-studio/</link>
		<comments>http://www.irving-swift.com/2010/09/new-ventures-with-electric-studio/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 19:45:34 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Websites]]></category>
		<category><![CDATA[Electric Studio]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=26</guid>
		<description><![CDATA[Since July 31st I have left STFC and join Electric Studio. I have taken on the role as a web developer and it seems I shall be leaving any Perl coding behind and focusing mainly on PHP. I am now working with the wordpress engine and shall be developing plugins. I am also updating the [...]]]></description>
			<content:encoded><![CDATA[<p>Since July 31st I have left STFC and join Electric Studio. I have taken on the role as a web developer and it seems I shall be leaving any Perl coding behind and focusing mainly on PHP.<a href="http://www.electricstudio.co.uk"><img class="alignright size-full wp-image-28" title="electric-studio-logo" src="http://www.irving-swift.com/wp-content/uploads/2010/09/electric-studio-logo1.png" alt="" width="241" height="129" /></a></p>
<p>I am now working with the wordpress engine and shall be developing plugins. I am also updating the company&#8217;s bespoke systems and shall soon be learning about Magento.</p>
<p>I am also having to brush up my jquery skills which seems to be happening very quickly! I am constantly amazed at what is possible with jquery and the amount of libraries available.</p>
<p>Finally, I am now working on a pure linux setup! This makes the working day far more pleasant!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/09/new-ventures-with-electric-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mailtalk.ac.uk Launched!</title>
		<link>http://www.irving-swift.com/2010/07/mailtalk-ac-uk-launched/</link>
		<comments>http://www.irving-swift.com/2010/07/mailtalk-ac-uk-launched/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 22:39:51 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Mailtalk]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Logo]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=21</guid>
		<description><![CDATA[At last, JISCMail&#8217;s sister service has a launched the new website. I finished this website last week and before launch date, the JISCMail team helped me with the testing. This website runs off the same back end as JISCMail however the CSS was changed to make the site noticeably different yet easy to move updates [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mailtalk.ac.uk"><img class="alignright size-medium wp-image-22" title="Mailtalk Screenshot" src="http://www.irving-swift.com/wp-content/uploads/2010/07/Screenshot-Mailtalk-Google-Chrome-300x280.png" alt="Screenshot of the new Mailtalk website" width="240" height="224" /></a>At last, JISCMail&#8217;s sister service has a launched the new website. I finished this website last week and before launch date, the JISCMail team helped me with the testing.</p>
<p>This website runs off the same back end as <a href="http://www.jiscmail.ac.uk">JISCMail</a> however the CSS was changed to make the site noticeably different yet easy to move updates from JISCMail to Mailtalk.</p>
<p>For technical details of how the back end works to the JISCMail website please see my previous posting.</p>
<p><a href="www.mailtalk.ac.uk"><img class="alignleft" title="Mailtalk Logo" src="http://www.mailtalk.ac.uk/images/logo.jpg" alt="" width="165" height="80" /></a>Mailtalk also needed rebranding with the aid of a new logo. So I loaded up GIMP and started coming up with some ideas to put around the team. Some ideas went down well, others not so much! However, eventually I came up with the colour scheme of using red, white, grey and black and decided that the logo, to make it simple, should stick to two colours. After coming up with a rough draft, I added a web 2.0 look to it and end up with the logo on the right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/07/mailtalk-ac-uk-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JISCMail.ac.uk launched!</title>
		<link>http://www.irving-swift.com/2010/04/jiscmail-ac-uk-launched/</link>
		<comments>http://www.irving-swift.com/2010/04/jiscmail-ac-uk-launched/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 07:55:07 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[JISCMail]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Blueprint]]></category>
		<category><![CDATA[CKEditor]]></category>
		<category><![CDATA[Josh Clayton]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[listserv]]></category>
		<category><![CDATA[Zend Lucene]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=15</guid>
		<description><![CDATA[My biggest project yet is live since Tuesday morning. I have been wanting to do a site that is content heavy for a while as most of my previous sites have been quite small for the likes or artists or DJs. JISCMail is a service the is based on LSoft&#8217;s Listserv to run mailing lists [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.irving-swift.com/wp-content/uploads/2010/04/JISCMaillogoweb.jpg"><img class="alignright size-full wp-image-16" title="JISCMaillogoweb" src="http://www.irving-swift.com/wp-content/uploads/2010/04/JISCMaillogoweb.jpg" alt="" width="172" height="70" /></a>My biggest project yet is live since Tuesday morning. I have been wanting to do a site that is content heavy for a while as most of my previous sites have been quite small for the likes or artists or DJs. JISCMail is a service the is based on LSoft&#8217;s Listserv to run mailing lists and is the National Academic Mailing List Service.<br />
This project has allowed me to play with various frameworks that I had not used before. The first framework that I used was josh clayton&#8217;s blueprint which I found fantastic. Blueprints meant that I did not have too worry about floating dividers, setting a size for a container nor create classes for warning, error and success messages.<br />
Another CSS framework to I used was Lwis.net&#8217;s drop down menu. I have always found that CSS drop down menus are ridiculously time consuming to make especially if you want you menu to be compatible with all browsers.<a href="http://www.irving-swift.com/wp-content/uploads/2010/04/FireShot-capture-014-JISCMail-www_jiscmail_ac_uk.png"><img class="alignleft size-medium wp-image-19" title="JISCMail.ac.uk Screenshot" src="http://www.irving-swift.com/wp-content/uploads/2010/04/FireShot-capture-014-JISCMail-www_jiscmail_ac_uk-217x300.png" alt="JISCMail.ac.uk Screenshot" width="217" height="300" /></a><br />
I was also introduced to the Zend Lucene php framework which allowed me to index all the files in my site. Indexing a site was something that I was unfamiliar with. I did find very frustrating to come up with a way to index the files as it was something I addressed towards the end of making the site. However, after finding a couple of good tutorials online I soon had indexed every page.  Once the files where indexed, making a search page was very easy, allowing me to easily search exact matches or phrases.<br />
When I started this site I had only ever made the most minimalistic of javascript scripts. However since the making of this site I have become quite accustomed to using jquery and also implemented an html editor with thanks to ECKditor. CKEditor really impressed me as it took so little time to implement and could edit XHTML (something I did not find any other web based HTML editor could).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/04/jiscmail-ac-uk-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving house has caused a lack of blogging!</title>
		<link>http://www.irving-swift.com/2010/03/moving-house-has-caused-a-lack-of-blogging/</link>
		<comments>http://www.irving-swift.com/2010/03/moving-house-has-caused-a-lack-of-blogging/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 13:30:02 +0000</pubDate>
		<dc:creator>Swifty</dc:creator>
				<category><![CDATA[Just for fun]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.irving-swift.com/?p=13</guid>
		<description><![CDATA[I was just watching Californication in which I saw Hank Moody blogging and realised that I have not blogged in a while. I&#8217;ve been so busy with moving house and when I&#8217;ve not been moving I seem to have found myself playing lots more Xbox than usual. I have realised that now I&#8217;m at the [...]]]></description>
			<content:encoded><![CDATA[<p>I was just watching Californication in which I saw Hank Moody blogging and realised that I have not blogged in a while.</p>
<p>I&#8217;ve been so busy with moving house and when I&#8217;ve not been moving I seem to have found myself playing lots more Xbox than usual. I have realised that now I&#8217;m at the age of 24, I do not need to go out every Friday and Saturday and drink enough that I can&#8217;t remember the going ons of the night before!</p>
<p>By going out less I thought I would get bored so I subscribed with LoveFilm so I could have a constant decent turnover of games. I have to admit, this was such a good idea. I have rent some excellent games such as Batman Arkham Asylum and Mirror&#8217;s Edge but at the same time I have rented one real shocker, Prototype.</p>
<p>Unfortunately due to the move of house, I am now without internet (uploading this on my blackberry!) This means that I have no Xbox Live and I&#8217;m missing my party chat times so much!</p>
<p>Hopefully I will have internet soon and will be blogging properly again soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irving-swift.com/2010/03/moving-house-has-caused-a-lack-of-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
