<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Design is Philosophy</title>
	
	<link>http://www.designisphilosophy.com</link>
	<description>The Pink &amp; Yellow Media Blog</description>
	<lastBuildDate>Tue, 15 May 2012 19:15:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PinkYellowMediaBlog" /><feedburner:info uri="pinkyellowmediablog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://www.designisphilosophy.com/?pushpress=hub" /><item>
		<title>Conversations with Mor10, episode 2: Flynn O’Connor on JS, Swipe Behaviours and Responsive Development</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/DqFcnmRjQ7s/</link>
		<comments>http://www.designisphilosophy.com/conversations-with-morten/conversations-with-mor10-episode-2-flynn-oconnor-on-js-swipe-behaviours-and-responsive-development/#comments</comments>
		<pubDate>Tue, 15 May 2012 19:15:32 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Conversations with Morten]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[swipe behaviors]]></category>
		<category><![CDATA[wordpress meetup]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1864</guid>
		<description><![CDATA[Yep, I am finally re-launching my much talked about but pretty much non-existent podcast, Conversations with Mor10. The first (and until now only) episode was posted more than a year ago but now I&#8217;ve finally gotten my setup in order and I&#8217;m going to make a valiant effort to keep posting. There are several interesting &#8230;]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F46485712&amp;auto_play=false&amp;show_artwork=true&amp;color=ff7700" frameborder="no" scrolling="no" width="100%" height="166"></iframe></p>
<p>Yep, I am finally re-launching my much talked about but pretty much non-existent podcast, Conversations with Mor10. The first (and until now only) episode was posted more than a year ago but now I&#8217;ve finally gotten my setup in order and I&#8217;m going to make a valiant effort to keep posting. There are several interesting interviews racked up in my queue so stay tuned.</p>
<p>In this 2nd installment of Conversations with Mor10 I chat with Vancouver WordPress developer Flynn O&#8217;Connor about his <a title="Vancouver WordPress Meetup Group" href="http://www.meetup.com/Vancouver-WordPress-Meetup-Group/" target="_blank">Vancouver WordPress Meetup Group</a> talk entitled <a title="Vancouver WordPress Meetup: Customizing your WordPress site for the iPad" href="http://www.meetup.com/Vancouver-WordPress-Meetup-Group/events/61795452/" target="_blank">Customizing your WordPress site for the iPad</a>. Flynn talks about his experiences with different JavaScript libraries and the challenges designers and developers face in the new reality of touch screens and swipe behaviours.</p>
<p>You can find Flynn at <a title="Fsquare Design" href="http://fsquaredesign.com/" target="_blank">Fsquare Design</a> and stalk him on Twitter <a title="Flynn O'Connor on Twitter" href="https://twitter.com/#!/thoronas" target="_blank">@thoronas</a>.</p>
<p>If you have any comments or questions regarding this podcast or you have suggestions on what or who I should talk to next drop me a line in the comments below.</p>
<p>The music featured in this podcast was created by my friend <a title="Jeremy Lim" href="http://www.jeremylim.ca/" target="_blank">Jeremy Lim</a> and is called <a title="Jeremy Lim's Drop on Soundcloud" href="http://soundcloud.com/jeremylim/drop" target="_blank">Drop</a>. If you&#8217;re interested in this type of music or just want to see all the cool stuff Jeremy is up to you should check out his current project <a title="fiftytwocreatives - a one year project by Jeremy Lim" href="http://fiftytwocreatives.com/" target="_blank">fiftytwocreatives</a>.</p>
<p>&nbsp;</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/conversations-with-morten/conversations-with-mor10-episode-1-women-in-dev/' rel='bookmark' title='Conversations with Mor10, Ep 1: Women in Development'>Conversations with Mor10, Ep 1: Women in Development</a> <small>Length: 56:19 Download MP3 This is my first ever audio...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/conversations-with-morten/conversations-with-mor10-episode-2-flynn-oconnor-on-js-swipe-behaviours-and-responsive-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/conversations-with-morten/conversations-with-mor10-episode-2-flynn-oconnor-on-js-swipe-behaviours-and-responsive-development/</feedburner:origLink></item>
		<item>
		<title>Introducing Anaximander: New WordPress theme to be released in the near future</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/MhtkVssViwI/</link>
		<comments>http://www.designisphilosophy.com/wordpress-themes/introducing-anaximander-new-wordpress-theme-to-be-released-in-the-near-future/#comments</comments>
		<pubDate>Mon, 14 May 2012 20:19:52 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[WordPress Themes]]></category>
		<category><![CDATA[free theme]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1856</guid>
		<description><![CDATA[It&#8217;s been a long time coming, but Design is Philosophy finally has a new look and better functionality. The new theme which I activated over the weekend is called &#8220;Anaximander&#8221; and sports everything a modern WordPress theme should have: Semantic valid HTML5 throughout, responsive layout through CSS3 media queries, carefully enqueued javascripts where necessary and &#8230;]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time coming, but Design is Philosophy finally has a new look and better functionality. The new theme which I activated over the weekend is called &#8220;Anaximander&#8221; and sports everything a modern WordPress theme should have: Semantic valid HTML5 throughout, responsive layout through CSS3 media queries, carefully enqueued javascripts where necessary and index pages running Masonry for ease of use.</p>
<p>The name &#8220;Anaximander&#8221; comes from my new theme naming standard. Inspired by the WordPress release naming standard I have chosen to name my themes after famous philosophers starting with Thales and movin up through the ages. The philosophy geeks out there will already know this, but Anaximander is the 2nd classical philosopher on that list. If you are curious you should go check out the Wikipedia page about <a title="Anaximander on Wikipedia" href="http://en.wikipedia.org/wiki/Anaximander" target="_blank">Anaximander</a> (the philosopher, not the theme).</p>
<p>Anaximander is a work in progress and I launched it here on Design is Philosophy to put it through its paces. That means more functionality will be added in the near future (AJAXified infinite scroll on index pages is first on the list) and I will be expanding theme options and customizability. Why you ask? Because Anaximander was built to be shared.</p>
<h2>Anaximander: The Free WordPress Theme &#8211; coming to your WordPress site in due time</h2>
<p>Yep, as with my previous non-client themes Anaximander will be released to the masses at some point in the not too distant future. But not in the normal way: Though I can&#8217;t really say anything about what&#8217;s in store for Anaximander, it will be released as part of a bigger plan. Unfortunately I can&#8217;t be any more specific than that. But stay tuned and you&#8217;ll find out.</p>
<h2>Browse, play, and report back</h2>
<p>Anaximander (and by extension Design is Philosophy) has a lot of tricks up its sleeve &#8211; from Masonry to responsive layouts to other stuff. I would love it if you took it for a spin, opened it on your different devices, left a comment and reported back if something didn&#8217;t behave the way you expected. I want to build this theme out to make it as user friendly as possible and that means the front end must be flawless. Your input and suggestions are welcome.</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/wordpress-themes/introducing-wavefront-a-new-free-wordpress-theme/' rel='bookmark' title='Introducing WaveFront &#8211; a new free WordPress theme'>Introducing WaveFront &#8211; a new free WordPress theme</a> <small>Click here to download the free WaveFront theme from the...</small></li>
<li><a href='http://www.designisphilosophy.com/news/typograph-for-wordpress-27-coltrane-released/' rel='bookmark' title='Typograph for WordPress 2.7 Coltrane released'>Typograph for WordPress 2.7 Coltrane released</a> <small>With the release of WordPress 2.7 Coltrane came the introduction...</small></li>
<li><a href='http://www.designisphilosophy.com/microsoft-expression-web/introducing-design-is-philosophy/' rel='bookmark' title='Introducing Design is Philosophy'>Introducing Design is Philosophy</a> <small>After finishing a series of projects long overdue I finally...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/wordpress-themes/introducing-anaximander-new-wordpress-theme-to-be-released-in-the-near-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/wordpress-themes/introducing-anaximander-new-wordpress-theme-to-be-released-in-the-near-future/</feedburner:origLink></item>
		<item>
		<title>Automatic responsive videos in WordPress with oEmbed, FitVids and a little PHP magic</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/RreGnfVkDTk/</link>
		<comments>http://www.designisphilosophy.com/tutorials/automatic-responsive-videos-in-wordpress-with-oembed-fitvids-and-a-little-php-magic/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 16:00:13 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Responsive Design]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[fitvids]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[mediaqueries]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1812</guid>
		<description><![CDATA[UPDATE: I&#8217;ve added a 4th step to the list to remove automatic inline styles from being inserted when embedding videos. If you’re using a responsive theme on your WordPress site (or you’ve built a responsive theme) and you’ve added YouTube, Vimeo or other videos using oEmbed you will undoubtedly have noticed those videos do not &#8230;]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.designisphilosophy.com/wp-content/uploads/2012/04/responsive-video.png" alt="Automaitc responsive videos in WordPress with oEmbed, FitVids and PHP" title="Automaitc responsive videos in WordPress with oEmbed, FitVids and PHP" width="552" height="341" class="aligncenter size-full wp-image-1815" /><br />
<em><strong>UPDATE:</strong> I&#8217;ve added a 4th step to the list to remove automatic inline styles from being inserted when embedding videos.</em><br />
If you’re using a responsive theme on your WordPress site (or you’ve built a responsive theme) and you’ve added YouTube, Vimeo or other videos using <a href="http://codex.wordpress.org/Embeds" title="oEmbed in WordPress" target="_blank">oEmbed</a> you will undoubtedly have noticed those videos do not resize with the rest of the frame. And that’s a royal pain. Fortunately there are solutions out there that can fix this, but they are a little tricky to implement. In this tutorial I’ll share with you a method for making the process automatic so you don’t have to worry about it.</p>
<h2>The Problem</h2>
<p>Responsive themes use percentage values, media queries and other coding magic to make the content resize to fit the size of the window. But when you embed videos from YouTube etc using the built in oEmbed function in WordPress (i.e. just paste in the URL to the video and it appears automatically) that video is inserted with a fixed width and height. As a result when the rest of the page resizes to fit the window, the video stays the same size causing all sorts of problems. This is sub optimal.</p>
<h2>FitVids to the rescue… almost</h2>
<p>Realizing this is a frustrating problem <a href="http://css-tricks.com" title="CSS Tricks" target="_blank">Chris Coyier</a> and <a href="http://paravelinc.com/" title="Paravel" target="_blank">Paravel</a> created a clever little jQuery plugin called <a href="http://fitvidsjs.com/" title="FitVids" target="_blank">FitVids</a> that when installed automatically resizes videos along with the rest of the content. FitVids attaches to specified containers and forces the video iframes within these containers to resize along with it. Very clever and it works exactly as expected. However, to make this work you have to wrap the video in a container with a specified class. So if you want to use the oEmbed method you have to go to HTML view, create a div with a class and then put the URL inside it. Which kind of takes away the whole point of using oEmbed which is simplicity.</p>
<h2>The Solution</h2>
<p>What is needed is a function that automatically wraps all oEmbed videos in a div with the correct class that applies FitVids so all the user has to do is paste in the link to the video and then WordPress does the rest. And that’s just what we’re going to do:</p>
<h3>Step 1: Enqueue FitVids</h3>
<p>Go <a href="https://github.com/davatron5000/FitVids.js" title="Get FitVids from GitHub" target="_blank">download FitVids.js from GitHub</a> and add the jquery.fitvids.js file to your theme. I place all my JavaScript files in a sub-folder called ‘js’ for simplicity. Then we need to enqueue the script and associate it with jQuery. This is done in functions.php:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #666666; font-style: italic;">// Add FitVids to allow for responsive sizing of videos</span>
<span style="color: #000000; font-weight: bold;">function</span> your_theme_fitvids<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_admin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		wp_register_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'fitvids'</span><span style="color: #339933;">,</span> get_template_directory_uri<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/js/jquery.fitvids.js'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jquery'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'1.0'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    	
		wp_enqueue_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'fitvids'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'your_theme_fitvids'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>This function loads the jquery.fitvids.js file along with the packaged version of jQuery that comes with WordPress whenever a page is loaded.</p>
<h3>Step 2: Create a function to target the videos</h3>
<p>To make FitVids work you need to add a JavaScript function targeting a specific class. The function looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_footer'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add_fitthem'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> add_fitthem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
   	&lt;script type=&quot;text/javascript&quot;&gt;
	    	jQuery(document).ready(function() {
    			jQuery('.video').fitVids();
    		});
	&lt;/script&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>All that happens here is  the action is loaded in the footer (so it doesn’t slow down the population of the page itself and allows the videos in the iframes to load properly). It then appends the function to the .video class so that any video inside a div with the class video will be scaled to size.<br />
This function is combined with the previous function so they get called at the same time. The resulting function looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Add FitVids to allow for responsive sizing of videos</span>
<span style="color: #000000; font-weight: bold;">function</span> your_theme_fitvids<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_admin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		wp_register_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'fitvids'</span><span style="color: #339933;">,</span> get_template_directory_uri<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/js/jquery.fitvids.js'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jquery'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'1.0'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    	
    	wp_enqueue_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'fitvids'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    	add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_footer'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add_fitthem'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    	<span style="color: #000000; font-weight: bold;">function</span> add_fitthem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	    	&lt;script type=&quot;text/javascript&quot;&gt;
		    	jQuery(document).ready(function() {
	    			jQuery('.video').fitVids();
	    		});
    		&lt;/script&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	    <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'your_theme_fitvids'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>Step 3: Automatically wrap oEmbed videos in a div with a class</h3>
<p>The last step is to change the oEmbed output so that it automatically wraps the video iframe in a div with the class .video. This is done using a filter:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Automatically add FitVids to oembed YouTube videos</span>
<span style="color: #000000; font-weight: bold;">function</span> your_theme_embed_filter<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$url</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;div class=&quot;video&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$output</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$return</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'oembed_dataparse'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'your_theme_embed_filter'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">90</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>This function grabs the output of the oembed_dataparse function (the one that creates the final code when you paste in a video URL) and wraps it in the correct div.</p>
<h3>Step 4: Set Maximum Embed Size to 0</h3>
<p>To get everything to work properly you have to go to Settings -> Media and set both width and height under Maximum Embed Size to 0. If you have a value in either of these fields, WordPress will include inline style code to constrain the size of the video and as a result the automatic resizing will not work.</p>
<p>That is all! When you add new videos to posts and pages using the oEmbed function, they are not automatically wrapped in the correct div and class and FitVids is applied. And voila: Your videos are responsive.</p>
<h2>Caveat: These functions are not recursive!</h2>
<p>The only catch with this process is that it is not recursive. By that I mean it doesn’t automatically work on videos that have already been embedded on your site. That is because the oembed_dataparse() function is called the when the post is published or updated. As a result, the function has already been run on old content and to apply the new div and class you have to re-run it. Fortunately that just means going in and clicking the Update button for each of the posts that have oEmbed videos in them, but if you have hundreds of videos you may want to consider doing some sort of database search/replace action.<br />
To avoid the recursive problem I suggest you add this function to your theme at the very beginning and be done with it. That way as you populate your site the all your videos will be responsive.</p>
<h2>Comments? Questions? Problems?</h2>
<p>Got something to say? Leave a comment below.</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/tutorials/simple-video-embedding-with-custom-fields-in-wordpress-youtube/' rel='bookmark' title='Simple video embedding with custom fields in WordPress &#8211; YouTube'>Simple video embedding with custom fields in WordPress &#8211; YouTube</a> <small>One of my primary goals when building WordPress themes for...</small></li>
<li><a href='http://www.designisphilosophy.com/tutorials/using-javascript-libraries-in-wordpress-the-right-way/' rel='bookmark' title='Day 20: Using JavaScript Libraries in WordPress the Right Way'>Day 20: Using JavaScript Libraries in WordPress the Right Way</a> <small>If you have worked with WordPress either as a stite...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/tutorials/automatic-responsive-videos-in-wordpress-with-oembed-fitvids-and-a-little-php-magic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/tutorials/automatic-responsive-videos-in-wordpress-with-oembed-fitvids-and-a-little-php-magic/</feedburner:origLink></item>
		<item>
		<title>Demon Coal – an open letter to CBC Ideas</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/q-EHFn02pF4/</link>
		<comments>http://www.designisphilosophy.com/my-opinion/demon-coal-an-open-letter-to-cbc-ideas/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 17:11:17 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[My Opinion]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1807</guid>
		<description><![CDATA[I am a frequent listener to Ideas and I love the show for its factual base, non-biased approach and excellent coverage of issues. Therefore I was perplexed when I listened to the two part series Demon Coal. Whereas it purports to tell the story of coal, what it actually does is make a valiant effort &#8230;]]></description>
			<content:encoded><![CDATA[<p>I am a frequent listener to <a title="CBC Ideas" href="http://www.cbc.ca/ideas/" target="_blank">Ideas</a> and I love the show for its factual base, non-biased approach and excellent coverage of issues. Therefore I was perplexed when I listened to the two part series <a title="Demon Coal parts 1 and 2" href="http://www.cbc.ca/ideas/episodes/2012/03/12/demon-coal-part-1/" target="_blank">Demon Coal</a>. Whereas it purports to tell the story of coal, what it actually does is make a valiant effort to debunk all current climate science and make it sound like the consensus in climate science is now moving away from modeling and man made climate change towards what the far right has been touting for years: adaptation.</p>
<p>Here&#8217;s the thing: I don&#8217;t have a problem with the story being told from both sides. In fact, the story being told was an excellent one and a fair and balanced presentation of one side of the coin. The problem was that, in complete disregard of journalistic practice and integrity, only one side of the coin was presented. Not a single voice from the much larger other side was introduced and the two hours were dedicated to touting a line that is not widely supported among climate scientists world wide.</p>
<p>When I started listening and heard the presentations from climate scientists from the Senate panel, I was wondering when the counter arguments were going to be presented. After all, what these experts were presenting was a strongly skewed opinion that in no way matches what thousands of climate scientists all over the world and their science are saying. When no such response appeared in episode one I expected episode two to be a response. No such thing. In fact, episode two was dedicated to not only trying to debunk both climate science in general but also the <a title="IPCC at wikipedia.org" href="http://en.wikipedia.org/wiki/Ipcc" target="_blank">IPCC</a>, but it put <a title="Bjørn Lomborg at wikipedia.org" href="http://en.wikipedia.org/wiki/Bj%C3%B8rn_Lomborg" target="_blank">Bjørn Lomborg</a> and the <a title="Copenhagen Consensus Centre at wikipedia.org" href="http://en.wikipedia.org/wiki/Copenhagen_Consensus" target="_blank">Copenhagen Consensus Centre</a> on a pedestal as the future of climate science and politics. This is hugely alarming as Lomborg is funded in large part by oil, coal, and natural gas lobbies and has been labeled by some as a false prophet. Though Lomborg&#8217;s views should be presented, the counter arguments must also be presented to give listeners the ability to perform a critical analysis of their own.</p>
<p>Demon Coal was a great program, but it was a program that only presented one side of the story. And it did it in such a way that it made it sound like the other side was not worth covering. By doing this, the show, and Ideas as a whole, went from being a trusted resource to becoming a propaganda platform for extreme ideas. That is both sad and unacceptable. How this happened I have no idea. The fact that it did makes me question all of Ideas&#8217; programming. How am I to know that the rest of the information being put out by this show is not just as biased?</p>
<p>The airing of Demon Coal demands either a response or a retraction. Such biased content should not be aired simply because it is one sided and in breach of journalistic ethics. I am disappointed and also concerned about what this says about the internal politics in the show.</p>
<p>I would love to hear a response about this episode, in particular the reasoning behind the decision to air something this heavily biased without at the very least some form of byline commentary about said bias.</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/internet/open-letter-to-the-crtc/' rel='bookmark' title='Open Letter to the CRTC'>Open Letter to the CRTC</a> <small>To the Secretary General, CRTC I am confused about the...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/my-opinion/demon-coal-an-open-letter-to-cbc-ideas/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/my-opinion/demon-coal-an-open-letter-to-cbc-ideas/</feedburner:origLink></item>
		<item>
		<title>Don’t buy a new laptop right now!</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/O3_XyKagdCg/</link>
		<comments>http://www.designisphilosophy.com/my-opinion/dont-by-a-new-laptop-right-now/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 18:03:18 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[My Opinion]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1802</guid>
		<description><![CDATA[Though it is tempting to pick up a new laptop these days what with all the fancy new ultrabooks and other slim and powerful devices coming online I strongly recommend you hold off buying that new laptop. And here&#8217;s why: Microsoft is working on their new operating system Windows 8. And with Windows 8 the &#8230;]]></description>
			<content:encoded><![CDATA[<p>Though it is tempting to pick up a new laptop these days what with all the fancy new ultrabooks and other slim and powerful devices coming online I strongly recommend you hold off buying that new laptop. And here&#8217;s why:</p>
<p>Microsoft is working on their new operating system Windows 8. And with Windows 8 the way we interact with our computers will change forever. Windows 8 makes touch a 1st citizen of the computer environment and brings the so-called &#8220;post-pc&#8221; world back in line with PCs. However, if you buy a new laptop right now you&#8217;ll be stuck in the no-touch past. In other words, your shiny new laptop will become a relic of a bygone era. And it&#8217;ll happen as soon as October 2012 if the most recent reports about the Win8 launch are correct.</p>
<p>What the ordinary consumer doesn&#8217;t know is that right now there are tons of touch ready laptops and touch screen tablet computers on track to be released. But very few of them are currently available. The manufacturers are holding these next gen PCs back waiting for the release of Win8 (and no doubt trying to deplete their stash of non-touch PCs in the process). For this reason I predict you&#8217;ll see a landslide of discounted and &#8220;cheap&#8221; non-touch laptops in the next little while that will seem like great deals. But come October, one of these PCs will be what we Norwegians refer to as a &#8220;cat in the bag&#8221; &#8211; a deal that seemed great but was in fact a bad one.</p>
<p>So, if you can, hold off on buying a new laptop until Windows 8 is released in the fall. The new touch enabled laptops will flood the market and will likely be sold at the same price as the regular non-touch ones currently available. And if you don&#8217;t care about touch (you will, but just for argument&#8217;s sake) you&#8217;ll be able to get an old non-touch laptop way cheaper.</p>
<p>If you absolutely have to buy a laptop right now, get the cheapest one you can get your hands on and assume you&#8217;ll be dumping it for a new Win8 ready one in the fall.</p>
<p>Or don&#8217;t listen to me and do whatever you want. Your choice.</p>
<p>&nbsp;</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/my-opinion/dont-by-a-new-laptop-right-now/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/my-opinion/dont-by-a-new-laptop-right-now/</feedburner:origLink></item>
		<item>
		<title>blendinsider.com – Metro and WordPress hand in hand</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/cMm4g9VSILM/</link>
		<comments>http://www.designisphilosophy.com/projects/blendinsider-com-metro-style-and-wordpress-hand-in-hand/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 22:00:26 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[metro]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1786</guid>
		<description><![CDATA[WordPress + Metro style + responsive design. That was the baseline when designing and building blendinsider.com &#8211; the Microsoft Expression Blend Team Blog: Create a modern design that used the latest in web&#160;technologies&#160;(HTML5), played well with mobile devices and reflected the new and quite different look of Microsoft. Though the site launched in late December &#8230;]]></description>
			<content:encoded><![CDATA[<p>WordPress + Metro style + responsive design. That was the baseline when designing and building <a title="blendinsider.com - the microsoft expression blend team blog" href="http://blendinsider.com" target="_blank">blendinsider.com &#8211; the Microsoft Expression Blend Team Blog</a>: Create a modern design that used the latest in web&nbsp;technologies&nbsp;(HTML5), played well with mobile devices and reflected the new and quite different look of Microsoft. Though the site launched in late December I haven&#8217;t had time to write about the process until now, so here is a quick rundown how blendinsider.com came about and how we handled the challenges inherent in the project.</p>
<h2>Metro + WordPress</h2>
<p>One of the most important aspects of the new site was a strict adherence to the new Metro design language introduced by Microsoft. If you are not aware of Metro yet you will be. This new/old style is starting to make its way into everything Microsoft does, from cell phones to web apps and eventually on your desktop through Windows 8. I say &#8220;new / old&#8221; style because Metro harks back to the classic Swiss style clean typography trend that was introduced early in the 20th&nbsp;century&nbsp;in Europe that is still a staple of choice for typographers and designers to this day. When I think Metro I think, literally, European Metro stations: Clear sans-serif font on solid colours. You can read more about the Metro design language at <a title="Metro design language at WikiPedia.org" href="http://en.wikipedia.org/wiki/Metro_(design_language)" target="_blank">WikiPedia</a> and all over the web.</p>
<p>The design principles in the Metro design language are fairly simple: Solid colours, sans-serif fonts, lots of white space, edge-to-edge images with overlays. But as any designer knows, minimalism is not as easy as it seems. By adhering strictly to these rules you have nothing to hide behind. The typography and layout is centre stage and any misjudgement on your part becomes glaringly obvious.</p>
<p>Though there have been some forays into Metro style WordPress themes before I had yet to see one that really captured the essence of the style when I started the project. At the same time I did not particularly like the way Microsoft themselves were using the style on their own websites. They seemed to still be stuck in the old way of doing things and not quite willing to embrace the big fonts and white space as much as they needed to. As a result I was basically starting from scratch, which to be frank is a good thing even though it&#8217;s more of a challenge</p>
<h2>Breaking the grid</h2>
<p><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderGrid.png"><img class="aligncenter size-full wp-image-1790" title="blendinsider.com - breaking the grid" src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderGrid.png" alt="" /></a>The first decision I made in my drafts was to break the grid. With the introduction and convergence to mobile devices on the web, the traditional grid with massive sidebars and rigid section designs seems obsolete to me. What I wanted to do was bring some of the mobile experience to the desktop while still retaining a sidebar and typographical line width. The result was a full spanning header outside the grid with the post content and sidebar below. It&#8217;s a simple design trick, and I&#8217;m neither the first nor the only one to use it, but it makes for a striking fundamentally different look. Of course this full span header could only be used on single pages and posts, but seeing as most visitors these days land on single pages or posts first and only later venture to the index pages that is not a big concern.</p>
<h2>Metro icons</h2>
<p><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderIcons.png"><img class="size-full wp-image-1791 alignright" title="blendinsider.com - metro icons" src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderIcons.png" alt="" width="178" height="135" /></a>One of the features of the Metro design language is heavy use of icons. When I started the design I was concerned about how I was going to find the correct icon sets, but after reading documentation and watching videos published by Microsoft I found a hidden gem of information: The Metro icons are actually just standard Windows font icons. That made things a lot easier and apart from the calendar icon which I had to make myself all the icons on the site are rendered from the Segoe UI or Wingdings fonts.</p>
<h2>Metro style Facebook facepile</h2>
<p><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderFacepile.png"><img class="alignleft size-full wp-image-1789" title="blendinsider.com - metro style facebook facepile" src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderFacepile.png" alt="" width="230" height="482" /></a>I am not afraid to voice my disdain for Facebook&#8217;s&nbsp;draconian design implementation, especially where their social widgets are concerned. Out of the box Facebook like boxes, facepiles and other widgets look like&#8230; Facebook, and that does not jive with Metro at all.</p>
<p>In early drafts I had to work around the hideous Facebook like box and it was driving me crazy. In previous projects I had been able to manhandle Facebook&#8217;s API and override their stylesheets, but it looked to be impossible due to deprecated code.</p>
<p>Then I &nbsp;made a chance discovery that though deprecated, the Facebook Fan Box is still active, and unlike the horrid Like box, the Fan box allows some level of customization.</p>
<p>I&#8217;m not going to go into great detail about how exactly this is done (there are tutorials out there that have covered that extensively), but as you can see I was able to Metrofy the Facebook facepile into something resembling&nbsp;acceptable.</p>
<h2>Responsive Design vs Pixel Perfect</h2>
<p style="text-align: center;"><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderResponsive.png"><img class="aligncenter  wp-image-1793" title="blendinsider.com - responsive layout at different screen sizes" src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderResponsive.png" alt="" width="1024" height="301" /></a>As of 2012 Pink &amp; Yellow Media has converted to a mobile-first design strategy, but we took a head start with blendinsider.com. One of the key requirements of the project was that the site play nice with cell phones and tablets as well as the traditional computer (as should all websites built today) so the site was designed with the smallest screen &#8211; a vertical mobile screen &#8211; in mind from the get go.</p>
<p>Rather than following the traditional path of a fully fluid layout, each component of the layout was handled on its own and media queries were inserted at incremental points to properly position each item for any screen size. My thinking is that if the site is to be responsive, it should format perfectly to all screen sizes, not just the predefined mobile-horizontal, mobile-vertical, tablet-horizontal and tablet-vertical sizes. At the same time I want to give the content as much space as possible to always showcase what&#8217;s important.</p>
<p>The result of this responsive-but-pixel-perfect approach (you may call it nitpicky if you like) is that as you resize your browser window you&#8217;ll see the content jump around and conform not just to the mobile sizes but also to any random desktop window size.</p>
<h2>A responsive slider</h2>
<p style="text-align: left;"><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderResponsiveSlider.png"><img class="aligncenter  wp-image-1794" title="blendinsider.com - responsive featured content slider at different screen sizes" src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/blendinsiderResponsiveSlider.png" alt="" width="1523" height="415" /></a>The design spec called for a slider. I personally hate sliders, but they are all the rage and any website worth its salt must apparently have one. Now sliders are easy to build, as long as they have a fixed size. When you start talking about responsive sliders, things get tricky really fast.</p>
<p>Sliders are usually based on one of two principles: Either you have a long horizontal or vertical row of images and / or content where only the content in the slider window is visible and then you just shift the row left or right to display he new items. Or you have a window that toggles visibility on and off for different layers of content. In either case you use JavaScript and CSS to make everything work. But problems arise when you start messing with the size of the window:</p>
<p>First off you have to consider what happens to the images. Do they resize with the window? Or do they just get cropped. Secondly you have to consider what happens to any text superimposed on top of the images. Does the text shrink with the window, or does it reorganize? And what when it starts to cover the text entirely? Thirdly, are you going to let the box resize both vertically and horizontally or just one or the other?</p>
<p>All these questions are actually design decisions, and they were made in the draft stage. But when I had a clear idea of what was going to happen to the content as it was resized, I needed to find a responsive slider solution that worked. And I also wanted one that was semantically sound and standards based. Not an easy task. But after a lot of searching I came across Mat&nbsp;Marquis excellent <a title="Dynamic carousel at Github" href="https://github.com/Wilto/Dynamic-Carousel/" target="_blank">Dynamic Carousel (Github link)</a> which fit the bill almost perfectly.</p>
<h2>WordPress and Microsoft? Yep, and it&#8217;s hosted on Windows!</h2>
<p>The final requirement for the project, though an implicit one, was that this WordPress site had to be hosted on a Windows server. I know that sounds like heresy to a lot of WordPress users, but it is sound &#8211; at least as long as the server runs properly. We had to go through several hosts before we found one that had a properly installed and configured Windows Server implementation that would allow us to run WordPress without a hitch (GoDaddy&#8217;s Windows hosting for example was about as fast as skateboard with wheels made of Play Dough) but we did end up with a workable solution and the site now runs smoothly on Windows.</p>
<h2>Check it out and let me know what you think</h2>
<p>As with all my other projects <a title="blendinsider.com - the microsoft expression blend team blog" href="http://blendinsider.com" target="_blank">blendinsider.com</a>&nbsp;is a bit of a work in progress so I&#8217;d love to hear what you have to say about it and what you&#8217;d like to see changed or updated. I would also like to hear if anything on the site warrants a tutorial. Drop a comment below and let&#8217;s start a conversation!</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/projects/blendinsider-com-metro-style-and-wordpress-hand-in-hand/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/projects/blendinsider-com-metro-style-and-wordpress-hand-in-hand/</feedburner:origLink></item>
		<item>
		<title>Simple video embedding with custom fields in WordPress – YouTube</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/m6AWkjIxnuo/</link>
		<comments>http://www.designisphilosophy.com/tutorials/simple-video-embedding-with-custom-fields-in-wordpress-youtube/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 18:53:53 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1772</guid>
		<description><![CDATA[One of my primary goals when building WordPress themes for my clients is to make it as easy as possible for them to post and manage content. And though video embedding has become much simpler over the years, controlling the video content can still be a bit of a pain, especially if you can&#8217;t remember &#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.designisphilosophy.com/wp-content/uploads/2012/02/custom-field1.png"><img src="http://www.designisphilosophy.com/wp-content/uploads/2012/02/custom-field1.png" alt="Creating a custom video field in WordPress" title="Creating a custom video field in WordPress" width="603" height="292" class="aligncenter size-full wp-image-1779" /></a>One of my primary goals when building WordPress themes for my clients is to make it as easy as possible for them to post and manage content. And though video embedding has become much simpler over the years, controlling the video content can still be a bit of a pain, especially if you can&#8217;t remember the width of your content or if you have an index page where you want to showcase video thumbnails rather than the actual video.</p>
<p>To simplify the process I usually resort to a <a title="WPAlchemy custom meta boxes" href="http://www.farinspace.com/wpalchemy-metabox/" target="_blank">custom meta box</a> but the technique works just as well with custom fields.</p>
<p>This is the first of two tutorials on this topic and here I&#8217;ll be focusing on YouTube videos and oEmbed. The next tutorial will be on self-hosted videos and VideoJS.</p>
<h2>Auto-Embedding YouTube videos with a custom field</h2>
<p>Consider the following scenario: You have a design that calls for videos to be embedded outside of the main content, for example by placing it above the headline. This is becoming more and more common, and provides both a better user experience and easier access to the important content in the post. The problem of course is that regular video embedding puts the video in the post body, and that&#8217;s not what we want. Enter the custom field option.</p>
<p>First thing first: In the post you want to present the video, create a new custom field with the name <code>video_url</code> and the value set to a normal YouTube video ID (the illegible part at the end of the video URL).</p>
<p>Now you have a custom field carrying the YouTube video value. The next step is to dump it into your theme so WordPress can display it. For this we&#8217;re going to use the built in <a href="http://codex.wordpress.org/Embeds" title="oEmbed and WordPress" target="_blank">oEmbed functionality</a> in WordPress which when used normally lets you dump in a YouTube URL and then automagically inserts the embed code. But in our case we&#8217;re adding the URL dynamically in the theme so we are going to use the <a href="http://codex.wordpress.org/Function_Reference/wp_oembed_get" title="wp_oembed_get() WordPress function" target="_blank">wp_oembed_get()</a> function a function. The end result is the code you see below:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Get the video URL and put it in the $video variable</span>
<span style="color: #000088;">$videoID</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'video_url'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Echo the embed code via oEmbed</span>
<span style="color: #b1b100;">echo</span> wp_oembed_get<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'http://www.youtube.com/watch?v='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$videoID</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>The code above places the embed code dynamically generated from the YouTube URL wherever the code is placed in your theme (this of course has to go inside the loop).</p>
<h2>Making it conditional</h2>
<p>Normally I wrap the code above in divs to control the behavior and place the video where I want it. Because I&#8217;m neurotic about clean code I insist on always using conditionals in cases like this to avoid leaving empty divs lying around when no video was added through the custom field. With the conditional added the code gets a bit expanded, but works the same way:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Get the video URL and put it in the $video variable</span>
<span style="color: #000088;">$videoID</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'video_url'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Check if there is in fact a video URL</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$videoID</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div class=&quot;videoContainer&quot;&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Echo the embed code via oEmbed</span>
	<span style="color: #b1b100;">echo</span> wp_oembed_get<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'http://www.youtube.com/watch?v='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$videoID</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Now the video will display wherever you place the code on the provision a video URL was actually added with a custom field. </p>
<h2>Getting a video thumbnail from YouTube</h2>
<p>So far we&#8217;ve just made a fancy way of embedding videos, and it might seem a bit superfluous to do so seeing as you can just add the video right in the post body. But there&#8217;s a reason you may want to do it this way: What if you want to make an index page of all your video posts but you want to show the video thumbnail directly from YouTube instead of the video itself? To do this you need the video ID and you also need a bit of PHP magic. </p>
<p>The code below goes inside the loop on an index page and produces the video thumbnail wrapped in a link to the post:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #666666; font-style: italic;">// Calls up the YouTube video thumbnail or, if no URL is provided, the featured image from WordPress</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Add a container and a link around the video</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div class=&quot;tinyVideoThumb&quot;&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;a href=&quot;'</span> <span style="color: #339933;">.</span> get_permalink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; title=&quot;Go to '</span> <span style="color: #339933;">.</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; rel=&quot;bookmark&quot;&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$video_url</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// if there is a video URL</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Get the video URL from custom field</span>
	<span style="color: #000088;">$videoID</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'video_url'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #666666; font-style: italic;">// Query YouTube for video meta data</span>
	<span style="color: #000088;">$thumb_query_url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://gdata.youtube.com/feeds/api/videos/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$videoID</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'?v=2&amp;alt=jsonc'</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Decode the json data from YouTube and put it in a readable format</span>
	<span style="color: #000088;">$json</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$thumb_query_url</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// Echo out the thumbnail, give it height and weight and set the alternate description to post title</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;img src=&quot;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$json</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">sqDefault</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; width=&quot;60&quot; height=&quot;45&quot; alt=&quot;'</span> <span style="color: #339933;">.</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span>				
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// else use the standard featured image</span>
&nbsp;
	the_post_thumbnail<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'tinyThumb'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'alt'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$postTitle</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$postTitle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>The above of course only works for YouTube videos, and only if they are entered with the full URL and none of the other junk that often comes along with YouTube video URLs. You could make a strict rule to only plug in the actual YouTube video ID in the field. If so you could omit the substr() function.</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/tutorials/using-conditional-custom-fields-for-advanced-layouts/' rel='bookmark' title='Using Conditional Custom Fields for Advanced Layouts'>Using Conditional Custom Fields for Advanced Layouts</a> <small>An often overlooked function in the WordPress arsenal is Custom...</small></li>
<li><a href='http://www.designisphilosophy.com/tutorials/custom-page-templates-in-twentyten-theme/' rel='bookmark' title='Custom Page Templates in TwentyTen'>Custom Page Templates in TwentyTen</a> <small>With the release of WordPress 3.1 came a new version...</small></li>
<li><a href='http://www.designisphilosophy.com/news/youtube-joins-the-movement-to-phase-out-internet-explorer-6/' rel='bookmark' title='YouTube joins the movement to phase out Internet Explorer 6'>YouTube joins the movement to phase out Internet Explorer 6</a> <small>One of the cool things about SuperPreview (the browser testing...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/tutorials/simple-video-embedding-with-custom-fields-in-wordpress-youtube/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/tutorials/simple-video-embedding-with-custom-fields-in-wordpress-youtube/</feedburner:origLink></item>
		<item>
		<title>Using the time tag in WordPress and when parsing RSS feeds</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/TA8f4Sci5oc/</link>
		<comments>http://www.designisphilosophy.com/tutorials/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:10:02 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1767</guid>
		<description><![CDATA[The &#60;time&#62; tag is a little used but very effective little HTML element that allows you to embed additional information to dates and times in your content. The idea is that in addition to the actual text that shows the visitor the time, you can provide the browser, search engines and other computers with actual &#8230;]]></description>
			<content:encoded><![CDATA[<p>The &lt;time&gt; tag is a little used but very effective little HTML element that allows you to embed additional information to dates and times in your content. The idea is that in addition to the actual text that shows the visitor the time, you can provide the browser, search engines and other computers with actual time information they can understand. Very cool.</p>
<p>For a recent project I had to parse time tags both from WordPress and from an RSS feed. After some mucking about I found what I think is the optimal solution, so to save you some time I&#8217;ve put it all together for you.</p>
<h2>Date stamp for WordPress using the &lt;time&gt; tag</h2>
<p>WordPress can output the publishing date and time in pretty much any configuration you want. For the time tag to work you need the datetime variable to show the time in a specific format that looks like this:</p>
<p>2012-01-30T18:55:21+08:00</p>
<p>That&#8217;s year, month, date, time (international) and an optional time zone reference. I&#8217;m in Vancouver, Canada so that&#8217;s GMT+8 hours.</p>
<p>Using the <a href="http://codex.wordpress.org/Function_Reference/get_the_date" title="get_the_date at the WordPress Codex" target="_blank">get_the_date()</a> function in WordPress you can get this time format and any other. In this case I wanted the format &#8220;Jan. 30, 2012&#8243;.</p>
<p>The end result:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;time class=&quot;entry-date&quot; datetime=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> get_the_date<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'c'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; pubdate&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> get_the_date<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'M. j, Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/time&gt;</pre></div></div>

<h2>Date stamp when parsing RSS feeds using the &lt;time&gt; tag</h2>
<p>For the project I also needed to parse an RSS feed and show the details of each item in an index page. RSS feeds output the date in a standardized format, but it is rather unsightly:</p>
<p>2012-01-30T23:00:00+00:00</p>
<p>I needed to get this parsed to match the example above. To do so I used a <a href="http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Functions/reformat_date.html" title="Reformat Date with PHP" target="_blank">handy PHP function provided by Handy PHP called Reformat Date</a>. This function uses the <a href="http://php.net/manual/en/function.strtotime.php" title="strtotime PHP function" target="_blank">strtotime()</a> PHP function to reformat dates into anything you want simply and easily.</p>
<p>First I added the function itself to the functions.php file in my theme like this (notice I append the name of the theme at the front of the function name to avoid any future clashes should WordPress decide to bake this feature in):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Reformat date for RSS feed</span>
<span style="color: #000000; font-weight: bold;">function</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span> <span style="color: #000088;">$format</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">// Function written by Marcus L. Griswold (vujsa)</span>
<span style="color: #666666; font-style: italic;">// Can be found at http://www.handyphp.com</span>
<span style="color: #666666; font-style: italic;">// Do not remove this header!</span>
&nbsp;
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$format</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Second I grabbed the RSS feed using WordPress&#8217; native RSS import function (I&#8217;ll write about that in a separate post but it&#8217;s pretty straight forward) and then I parsed the data. </p>
<p>Note: In an RSS feed the time is contained in each item under the handle pubdate so to get the raw time I use $item['pubdate'].</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;time class=&quot;entry-date&quot; datetime=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'c'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; pubdate&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'M. j, Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/time&gt;</pre></div></div>

<p>Note that the date has to be reformatted twice, once for machine readable output (&#8216;c&#8217;) and once for the human readable output (&#8216;M. j, Y&#8217;).</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/wordpress/10-wordpress-plugins-i-use-all-the-time/' rel='bookmark' title='10 WordPress plugins I use all the time'>10 WordPress plugins I use all the time</a> <small>A frequent question that keeps coming up when I tell...</small></li>
<li><a href='http://www.designisphilosophy.com/tutorials/add-a-twitter-like-timestamp-to-your-wordpress-posts/' rel='bookmark' title='Add a Twitter-like &#8220;Published X Days Ago&#8221; timestamp to your WordPress posts'>Add a Twitter-like &#8220;Published X Days Ago&#8221; timestamp to your WordPress posts</a> <small>For the last couple of weeks I&#8217;ve been working on...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/tutorials/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/tutorials/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/</feedburner:origLink></item>
		<item>
		<title>Can WordPress really do that? Slides from my WordCamp Victoria 2012 presentation</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/0XEdFn5JTkA/</link>
		<comments>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 21:00:47 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Speaking Engagements]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[wordcamp victoria]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1757</guid>
		<description><![CDATA[Can WordPress really do that? A case study of vierderduer.no Related posts: Can WordPress really do that? A preview of my 2012 WordCamp Victoria talk It all started with a simple yet befuddling question: &#8220;Can... WordCamp Victoria Presentation: 10 Theme Hacks to Improve Your Site Above is the slide deck for my WordCamp Victoria presentation... &#8230;]]></description>
			<content:encoded><![CDATA[<div style="width:553px" id="__ss_11044025"><object id="__sse11044025" width="553" height="460"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampvictoria2012-vierderduer-120114132658-phpapp02&#038;stripped_title=can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025&#038;userName=mor10" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"/><embed name="__sse11044025" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampvictoria2012-vierderduer-120114132658-phpapp02&#038;stripped_title=can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025&#038;userName=mor10" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="553" height="460"></embed></object></div>
<p><a href="http://www.slideshare.net/mor10/can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025" title="Can WordPress really do that? A case study of vierderduer.no">Can WordPress really do that? A case study of vierderduer.no</a></p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/' rel='bookmark' title='Can WordPress really do that? A preview of my 2012 WordCamp Victoria talk'>Can WordPress really do that? A preview of my 2012 WordCamp Victoria talk</a> <small>It all started with a simple yet befuddling question: &#8220;Can...</small></li>
<li><a href='http://www.designisphilosophy.com/tutorials/wordcamp-victoria-presentation-10-theme-hacks-to-improve-your-site/' rel='bookmark' title='WordCamp Victoria Presentation: 10 Theme Hacks to Improve Your Site'>WordCamp Victoria Presentation: 10 Theme Hacks to Improve Your Site</a> <small>Above is the slide deck for my WordCamp Victoria presentation...</small></li>
<li><a href='http://www.designisphilosophy.com/events/speaking-engagements-events/your-blog-is-boring-and-your-photos-suck-slides-from-our-northern-voice-2011-presentation/' rel='bookmark' title='Your Blog is Boring and Your Photos Suck &#8211; Slides from our Northern Voice 2011 presentation'>Your Blog is Boring and Your Photos Suck &#8211; Slides from our Northern Voice 2011 presentation</a> <small>Photographer extraordinaire Syx Langemann and I decided to team up...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/</feedburner:origLink></item>
		<item>
		<title>Can WordPress really do that? A preview of my 2012 WordCamp Victoria talk</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/FNXfXramqTQ/</link>
		<comments>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 23:07:23 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Speaking Engagements]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[like]]></category>
		<category><![CDATA[wordcamp]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1745</guid>
		<description><![CDATA[It all started with a simple yet befuddling question: &#8220;Can you create a WordPress site that sends SMS messages to users when things change?&#8221; My initial thought was that this could easily become the most annoying website in the world, but upon closer inspection it was a stroke of pure genius. To ring in 2012 &#8230;]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1751" title="Vi er der du er - application" src="http://www.designisphilosophy.com/wp-content/uploads/2011/12/vierderduerapplication.png" alt="Vi er der du er - application" width="199" height="380" />It all started with a simple yet befuddling question: &#8220;<em>Can you create a WordPress site that sends SMS messages to users when things change?</em>&#8221; My initial thought was that this could easily become the most annoying website in the world, but upon closer inspection it was a stroke of pure genius.</p>
<p>To ring in 2012 I&#8217;m bringing something completely different to <a title="WordCamp Victoria" href="http://2012.victoria.wordcamp.org/" target="_blank">WordCamp Victoria</a>. If you&#8217;ve seen my live talks previously you know they are usually either neck deep in live code or conceptual presentations on theoretical ideas. This time will be different:</p>
<p>My talk, entitled &#8220;<a title="WordCamp Victoria 2012 speakers" href="http://2012.victoria.wordcamp.org/speaker-biographies/" target="_blank">Can WordPress really do that? A case study of vierderduer.no</a>&#8221; will be focussed around one of the most interesting and challenging WordPress projects I&#8217;ve ever been involved in, the building of a site called &#8220;<a title="Vi er der du er - A WordPress site like no other" href="http://www.vierderduer.no" target="_blank">Vi er der du er</a>&#8221; (&#8220;We are where you are&#8221;) for Norwegian bank SpareBank1. I was brought on as an outside contractor by <a title="Netlife Research" href="http://netliferesearch.com/" target="_blank">Netlife Research</a>, one of the largest and most well renowned web dev houses in Norway, to make their crazy ideas and designs into a real-life site. I say crazy because this is a site that does things so far out of the ordinary even I have a hard time figuring out how we got where we are today.</p>
<p>What makes the site so interesting is that it uses Facebook Likes as a voting system to help raise money for organizations. The more likes an organization gets, the more money the bank gives them. And along the way the organization gets SMS messages telling them about the status of their application and how much money they have raised.</p>
<p>But that&#8217;s just the tip of the iceberg. This site has so many hidden features and backend customizations I&#8217;m not sure I&#8217;ll be able to cover them all in a measly one hour. But I&#8217;ll try.</p>
<p>The talk (which I have yet to prepare) will be a nice break from my regular stuffing-code-down-your-throat approach. I&#8217;ll talk about how the site came about, the many challenges and solutions implemented and how you can take my hard learned lessons and use them to make your custom WordPress themes more effective and easier to manage. More importantly though I&#8217;ll spend the hour helping you break free of the well established preconceptions about what WordPress can and cannot do. If you ask me there is no limit. And in this talk I&#8217;ll prove it.</p>
<p>So, if you haven&#8217;t already bought a ticket, head on over to the <a title="2012 WordCamp Victoria" href="http://2012.victoria.wordcamp.org/" target="_blank">WordCamp Victoria</a> site and grab yours. See you there!</p>
<p>Related posts:<ol>
<li><a href='http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/' rel='bookmark' title='Can WordPress really do that? Slides from my WordCamp Victoria 2012 presentation'>Can WordPress really do that? Slides from my WordCamp Victoria 2012 presentation</a> <small>Can WordPress really do that? A case study of vierderduer.no...</small></li>
<li><a href='http://www.designisphilosophy.com/events/speaking-engagements-events/meet-me-at-wordcamp-victoria/' rel='bookmark' title='Meet me at WordCamp Victoria'>Meet me at WordCamp Victoria</a> <small>One of the great things about working with WordPress is...</small></li>
<li><a href='http://www.designisphilosophy.com/tutorials/wordcamp-victoria-presentation-10-theme-hacks-to-improve-your-site/' rel='bookmark' title='WordCamp Victoria Presentation: 10 Theme Hacks to Improve Your Site'>WordCamp Victoria Presentation: 10 Theme Hacks to Improve Your Site</a> <small>Above is the slide deck for my WordCamp Victoria presentation...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/</feedburner:origLink></item>
	</channel>
</rss>

