<?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>Ben Blanco</title>
	<atom:link href="http://www.benblanco.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.benblanco.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 15 Apr 2012 16:28:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How to add custom product tab to WooCommerce single product page</title>
		<link>http://www.benblanco.com/2012/03/17/how-to-add-custom-product-tab-to-woocommerce-single-product-page/</link>
		<comments>http://www.benblanco.com/2012/03/17/how-to-add-custom-product-tab-to-woocommerce-single-product-page/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 21:40:42 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[product panel]]></category>
		<category><![CDATA[product tab]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=339</guid>
		<description><![CDATA[<a href="http://www.benblanco.com/wp-content/uploads/2012/03/Woocommer-Custom-Product-Panel.jpg"><img src="http://www.benblanco.com/wp-content/uploads/2012/03/Woocommer-Custom-Product-Panel.jpg" alt="Woocommerce Custom Panel Editor Screenshot" title="Woocommer-Custom-Product-Panel" width="573" class="alignnone size-full wp-image-341" style="padding: 7px;border: 3px solid #CCCCCC;margin: 5px 0;" /></a>

Our company store, <a href="http://www.heapg.com" title="Industrial Automation Control Products">Horner APG</a>, required additional tabs to be displayed on the woocommerce single product page.  Below is the code we're using to power our additional tabs.  The code below will create an additional panel in your product editor.  When enabled, via a checkbox, it will display the panel and it's title on the front-end.  ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.benblanco.com/wp-content/uploads/2012/03/Woocommer-Custom-Product-Panel.jpg"><img src="http://www.benblanco.com/wp-content/uploads/2012/03/Woocommer-Custom-Product-Panel.jpg" alt="Woocommerce Custom Panel Editor Screenshot" title="Woocommer-Custom-Product-Panel" width="573" class="alignnone size-full wp-image-341" style="padding: 7px;border: 3px solid #CCCCCC;margin: 5px 0;" /></a></p>
<p>Our company store, <a href="http://www.heapg.com" title="Industrial Automation Control Products">Horner APG</a>, required additional tabs to be displayed on the woocommerce single product page.  Below is the code we&#8217;re using to power our additional tabs.  The code below will create an additional panel in your product editor.  When enabled, via a checkbox, it will display the panel and it&#8217;s title on the front-end.  </p>
<p><strong>Future Enhancements:</strong> </p>
<ol>
<li>Enable the HTML editor in the back-end for the custom panel.</li>
<li>Add user interface so users can add additional panels on per product basis.</li>
</ol>
<p>I&#8217;m not the strongest coder so feel free to take the code below and expand on it.  Please share with the rest of the community how you made it better.  Cheers!</p>
<pre class="brush: php; title: Copy the code below and paste into your functions.php file.; notranslate">
&lt;?php

/**
 * Custom Tabs for Product display
 *
 * Outputs an extra tab to the default set of info tabs on the single product page.
 */
function custom_tab_options_tab() {
?&gt;
	&lt;li class=&quot;custom_tab&quot;&gt;&lt;a href=&quot;#custom_tab_data&quot;&gt;&lt;?php _e('Custom Tab', 'woothemes'); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php
}
add_action('woocommerce_product_write_panel_tabs', 'custom_tab_options_tab'); 

/**
 * Custom Tab Options
 *
 * Provides the input fields and add/remove buttons for custom tabs on the single product page.
 */
function custom_tab_options() {
	global $post;

	$custom_tab_options = array(
		'title' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_title', true),
		'content' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_content', true),
	);

?&gt;
	&lt;div id=&quot;custom_tab_data&quot; class=&quot;panel woocommerce_options_panel&quot;&gt;
		&lt;div class=&quot;options_group&quot;&gt;
			&lt;p class=&quot;form-field&quot;&gt;
				&lt;?php woocommerce_wp_checkbox( array( 'id' =&gt; 'custom_tab_enabled', 'label' =&gt; __('Enable Custom Tab?', 'woothemes'), 'description' =&gt; __('Enable this option to enable the custom tab on the frontend.', 'woothemes') ) ); ?&gt;
			&lt;/p&gt;
		&lt;/div&gt;

		&lt;div class=&quot;options_group custom_tab_options&quot;&gt;
			&lt;p class=&quot;form-field&quot;&gt;
				&lt;label&gt;&lt;?php _e('Custom Tab Title:', 'woothemes'); ?&gt;&lt;/label&gt;
				&lt;input type=&quot;text&quot; size=&quot;5&quot; name=&quot;custom_tab_title&quot; value=&quot;&lt;?php echo @$custom_tab_options['title']; ?&gt;&quot; placeholder=&quot;&lt;?php _e('Enter your custom tab title', 'woothemes'); ?&gt;&quot; /&gt;
			&lt;/p&gt;

			&lt;p class=&quot;form-field&quot;&gt;
				&lt;?php _e('Custom Tab Content:', 'woothemes'); ?&gt;
           	&lt;/p&gt;

			&lt;table class=&quot;form-table&quot;&gt;
				&lt;tr&gt;
					&lt;td&gt;
						&lt;textarea class=&quot;theEditor&quot; rows=&quot;10&quot; cols=&quot;40&quot; name=&quot;custom_tab_content&quot; placeholder=&quot;&lt;?php _e('Enter your custom tab content', 'woothemes'); ?&gt;&quot;&gt;&lt;?php echo @$custom_tab_options['content']; ?&gt;&lt;/textarea&gt;
					&lt;/td&gt;
				&lt;/tr&gt;
			&lt;/table&gt;
        &lt;/div&gt;
	&lt;/div&gt;
&lt;?php
}
add_action('woocommerce_product_write_panels', 'custom_tab_options');

/**
 * Process meta
 *
 * Processes the custom tab options when a post is saved
 */
function process_product_meta_custom_tab( $post_id ) {
	update_post_meta( $post_id, 'custom_tab_enabled', ( isset($_POST['custom_tab_enabled']) &amp;&amp; $_POST['custom_tab_enabled'] ) ? 'yes' : 'no' );
	update_post_meta( $post_id, 'custom_tab_title', $_POST['custom_tab_title']);
	update_post_meta( $post_id, 'custom_tab_content', $_POST['custom_tab_content']);
}
add_action('woocommerce_process_product_meta', 'process_product_meta_custom_tab');

/** Add extra tabs to front end product page **/
if (!function_exists('woocommerce_product_custom_tab')) {
	function woocommerce_product_custom_tab() {
		global $post;

		$custom_tab_options = array(
			'enabled' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_enabled', true),
			'title' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_title', true),
		);

		if ( $custom_tab_options['enabled'] != 'yes' )
			return false;

?&gt;
		&lt;li&gt;&lt;a href=&quot;#tab-models&quot;&gt;&lt;?php echo $custom_tab_options['title']; ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php
	}
}
add_action( 'woocommerce_product_tabs', 'woocommerce_product_custom_tab', 11 );

if (!function_exists('woocommerce_product_custom_panel')) {
	function woocommerce_product_custom_panel() {
		global $post;

		$custom_tab_options = array(
			'title' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_title', true),
			'content' =&gt; get_post_meta($post-&gt;ID, 'custom_tab_content', true),
		);

?&gt;
		&lt;div class=&quot;panel&quot; id=&quot;tab-models&quot;&gt;
			&lt;?php echo $custom_tab_options['content']; ?&gt;
		&lt;/div&gt;
&lt;?php
	}
}
add_action( 'woocommerce_product_tab_panels', 'woocommerce_product_custom_panel', 11 );

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2012/03/17/how-to-add-custom-product-tab-to-woocommerce-single-product-page/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WooCommerce: Add video support to product gallery</title>
		<link>http://www.benblanco.com/2012/03/10/woocommerce-add-video-support-to-product-gallery/</link>
		<comments>http://www.benblanco.com/2012/03/10/woocommerce-add-video-support-to-product-gallery/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 01:01:04 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=274</guid>
		<description><![CDATA[<a href="http://www.benblanco.com/2012/03/10/woocommerce-add-video-support-to-product-gallery/"><img src="http://www.benblanco.com/wp-content/uploads/2012/03/woocommerce-video-support.jpg" title="woocommerce-video-support" width="573" class="alignnone size-full wp-image-276" style="padding: 7px;border: 3px solid #CCCCCC;margin: 5px 0;" /></a>

Find out how to modify the default WordPress image gallery that powers the WooCommerce product gallery to accept "custom links" such as those provided by YouTube.  When you're done you'll be able to open the video links via the built-in Fancybox lightbox solution.  Jump in and let's figure it out.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.benblanco.com/wp-content/uploads/2012/03/woocommerce-video-support.jpg"><img src="http://www.benblanco.com/wp-content/uploads/2012/03/woocommerce-video-support.jpg" alt="" title="woocommerce-video-support" width="573" class="alignnone size-full wp-image-276" style="padding: 7px;border: 3px solid #CCCCCC;margin: 5px 0;" /></a></p>
<p><strong>Background</strong><br />
I&#8217;m the marketing manager over at Horner APG, a global <a href="http://www.heapg.com" title="industrial automation control">industrial automation control</a> company, currently responsible for the design and development of our new website.     </p>
<p>It&#8217;s no secret that I&#8217;m huge fan of WooCommerce.  The Woo team is simply creating a wonderful product backed by a great community of support.  I may have stepped out a bit from the norm by choosing it to power our corporate store but I think it&#8217;ll pay off in the long run.  </p>
<p>While building our new site I noticed our old store included links to product videos powered by YouTube.  By default, as designed by WordPress, videos are not supported by the WordPress image gallery.  As a result, I started looking for a solution that would modify the default behavior to accept external links.  Below is the solution I used to make that happen.    </p>
<p><strong>Solution</strong><br />
Eventually, I found some code shared by <a href="http://geekeemedia.com/wordpress/add-a-custom-url-to-your-wordpress-gallery-images/" title="Custom URL in WordPress Gallery">Geekee Media</a> that adds a &#8220;custom link&#8221; input box in the WordPress &#8220;Add Media panel.&#8221;  </p>
<blockquote><p>
Geekee Media has since updated the code below and it&#8217;s freely available on <a href="https://github.com/brewern/gallery-custom-link">Github</a> if you&#8217;d like to grab the latest version which I haven&#8217;t tested yet.  Hit me up in the comments below if this process works with his latest code submission.
</p></blockquote>
<ol>
<li>Add the first block of code below to your functions.php file.</li>
<li>Add the second block of code below to your functions.php file.</li>
<ul style="padding: 10px 0;">
<li style="background: none;padding: 0;font-style: italic;">I&#8217;ve modified it to include a unique link ID (id=&#8221;tip4&#8243;) that&#8217;s being called in my footer with specific Fancybox settings.  I know it&#8217;s not the cleanest process but I&#8217;ll leave it to you to tidy it up. </li>
</ul>
<li>Add the third block of code to your footer (Fancybox settings).</li>
<li>How to include a video in the product gallery:</li>
<ul style="padding: 10px;">
<li style="background: none;padding: 0;">Edit your product and upload an image ( ex: video player ) that signifies the gallery link will be of a video.  You&#8217;ll see from my screenshot that I&#8217;ve included a link to YouTube where my video is hosted.<br />
<a href="http://www.benblanco.com/wp-content/uploads/2012/03/Gallery-Screenshot-Custom-Link.jpg"><img src="http://www.benblanco.com/wp-content/uploads/2012/03/Gallery-Screenshot-Custom-Link-150x150.jpg" alt="" title="Gallery-Screenshot-Custom-Link" width="150" height="150" class="size-thumbnail wp-image-315" style="padding:3px;border: 2px solid #CCCCCC;margin-top: 10px;" /></a></li>
<ul>
</ol>
<p><strong>Demo</strong>: <a href="http://www.heapg.com/products/xlt-ocs/" title="Industrial Automation Controller">Horner XLt Industrial Automation Controller</a></p>
<hr style="margin: 30px 0;"/>
<strong>First block of code</strong><br />
<i>Adds a custom field to your image gallery that you&#8217;ll use to include your video link.</i></p>
<pre class="brush: php; title: Copy the code below and paste into your functions.php file.; notranslate">
/* -------------------------------
CUSTOM LINK PER GALLERY IMAGE WHICH ALLOWS US TO DISPLAY VIDEO in WP GALLERY
------------------------------- */
function rt_image_attachment_fields_to_edit($form_fields, $post) {
  $form_fields[&quot;rt-image-link&quot;] = array(
    &quot;label&quot; =&gt; __(&quot;Custom Link&quot;),
    &quot;input&quot; =&gt; &quot;text&quot;, // default
    &quot;value&quot; =&gt; get_post_meta($post-&gt;ID, &quot;_rt-image-link&quot;, true),
    //&quot;helps&quot; =&gt; __(&quot;To be used with special slider added via [rt_carousel] shortcode.&quot;),
  );
  return $form_fields;
}
add_filter(&quot;attachment_fields_to_edit&quot;, &quot;rt_image_attachment_fields_to_edit&quot;, null, 2);

function rt_image_attachment_fields_to_save($post, $attachment) {
  // $attachment part of the form $_POST ($_POST[attachments][postID])
  // $post['post_type'] == 'attachment'
  if( isset($attachment['rt-image-link']) ){
    // update_post_meta(postID, meta_key, meta_value);
    update_post_meta($post['ID'], '_rt-image-link', $attachment['rt-image-link']);
  }
  return $post;
}
add_filter(&quot;attachment_fields_to_save&quot;, &quot;rt_image_attachment_fields_to_save&quot;, null , 2);

/* -------------------------------
MODIFIED CORE FUNCTION
------------------------------- */
add_shortcode('gallery', 'geekee_gallery_shortcode');

/**
* The Gallery shortcode.
*
* This implements the functionality of the Gallery Shortcode for displaying
* WordPress images on a post.
*
* @since 2.5.0
*
* @param array $attr Attributes attributed to the shortcode.
* @return string HTML content to display gallery.
*/
function geekee_gallery_shortcode($attr) {
  global $post, $wp_locale;

  static $instance = 0;
  $instance++;

  // Allow plugins/themes to override the default gallery template.
  $output = apply_filters('post_gallery', '', $attr);
  if ( $output != '' )
    return $output;

  // We're trusting author input, so let's at least make sure it looks like a valid orderby statement
  if ( isset( $attr['orderby'] ) ) {
    $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
    if ( !$attr['orderby'] )
      unset( $attr['orderby'] );
  }

  extract(shortcode_atts(array(
    'order'      =&gt; 'ASC',
    'orderby'    =&gt; 'menu_order ID',
    'id'         =&gt; $post-&gt;ID,
    'itemtag'    =&gt; 'dl',
    'icontag'    =&gt; 'dt',
    'captiontag' =&gt; 'dd',
    'columns'    =&gt; 3,
    'size'       =&gt; 'thumbnail',
    'include'    =&gt; '',
    'exclude'    =&gt; ''
  ), $attr));

  $id = intval($id);
  if ( 'RAND' == $order )
    $orderby = 'none';

  if ( !empty($include) ) {
    $include = preg_replace( '/[^0-9,]+/', '', $include );
    $_attachments = get_posts( array('include' =&gt; $include, 'post_status' =&gt; 'inherit', 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image', 'order' =&gt; $order, 'orderby' =&gt; $orderby) );

    $attachments = array();
    foreach ( $_attachments as $key =&gt; $val ) {
      $attachments[$val-&gt;ID] = $_attachments[$key];
    }
  } elseif ( !empty($exclude) ) {
    $exclude = preg_replace( '/[^0-9,]+/', '', $exclude );
    $attachments = get_children( array('post_parent' =&gt; $id, 'exclude' =&gt; $exclude, 'post_status' =&gt; 'inherit', 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image', 'order' =&gt; $order, 'orderby' =&gt; $orderby) );
  } else {
    $attachments = get_children( array('post_parent' =&gt; $id, 'post_status' =&gt; 'inherit', 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image', 'order' =&gt; $order, 'orderby' =&gt; $orderby) );
  }

  if ( empty($attachments) )
    return '';

  if ( is_feed() ) {
    $output = &quot;\n&quot;;
    foreach ( $attachments as $att_id =&gt; $attachment )
      $output .= wp_get_attachment_link($att_id, $size, true) . &quot;\n&quot;;
    return $output;
  }

  $itemtag = tag_escape($itemtag);
  $captiontag = tag_escape($captiontag);
  $columns = intval($columns);
  $itemwidth = $columns &gt; 0 ? floor(100/$columns) : 100;
  $float = is_rtl() ? 'right' : 'left';

  $selector = &quot;gallery-{$instance}&quot;;

	$gallery_style = $gallery_div = '';
	if ( apply_filters( 'use_default_gallery_style', true ) )
		$gallery_style = &quot;
		&lt;style type='text/css'&gt;
			#{$selector} {
				margin: auto;
			}
			#{$selector} .gallery-item {
				float: {$float};
				margin-top: 10px;
				text-align: center;
				width: {$itemwidth}%;
			}
			#{$selector} img {
				border: 2px solid #cfcfcf;
			}
			#{$selector} .gallery-caption {
				margin-left: 0;
			}
		&lt;/style&gt;
		&lt;!-- see gallery_shortcode() in wp-includes/media.php --&gt;&quot;;
	$size_class = sanitize_html_class( $size );
	$gallery_div = &quot;&lt;div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'&gt;&quot;;
	$output = apply_filters( 'gallery_style', $gallery_style . &quot;\n\t\t&quot; . $gallery_div );

  $i = 0;
  foreach ( $attachments as $id =&gt; $attachment ) {
    $link = isset($attr['link']) &amp;&amp; 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false);

  /* -------------------------------
  MODIFICATION ################
  ------------------------------- */
  $image = wp_get_attachment_image($id, $size, false);
  $attachment_meta = get_post_meta($id, '_rt-image-link', true);
  if($attachment_meta){
    if($attr['link'] == 'custom_url'){
      $link = $attachment_meta;
    }
  }

  $output .= &quot;&lt;{$itemtag} class='gallery-item'&gt;&quot;;
  $output .= &quot;&lt;{$icontag} class='gallery-icon'&gt;&quot;;

    /* -------------------------------
  MODIFICATION ################
  ------------------------------- */
  if($attachment_meta){
    $output .= &quot;&lt;a href='$link'&gt;$image&lt;/a&gt;&quot;;
  } else {
    $output .= $link;
  }

  $output .= &quot;&lt;/{$icontag}&gt;&quot;;
  if ( $captiontag &amp;&amp; trim($attachment-&gt;post_excerpt) ) {
    $output .= &quot;&lt;{$captiontag} class='gallery-caption'&gt;&quot; . wptexturize($attachment-&gt;post_excerpt) . &quot;&lt;/{$captiontag}&gt;&quot;;
  }
  $output .= &quot;&lt;/{$itemtag}&gt;&quot;;
  if ( $columns &gt; 0 &amp;&amp; ++$i % $columns == 0 )
    $output .= '&lt;br style=&quot;clear: both;&quot; /&gt;';
  }

  $output .= &quot;&lt;br style='clear: both;' /&gt;&lt;/div&gt;\n&quot;;

  return $output;
}
</pre>
<p><strong>Second block of code</strong><br />
<i>Then I assigned a specific ID to the video link.  This class triggered the Fancybox plugin that currently powers the WooCommerce product image gallery.</i></p>
<pre class="brush: php; title: Copy the code below and paste into your functions.php file.; notranslate">
if (!function_exists('woocommerce_show_product_thumbnails')) {
	function woocommerce_show_product_thumbnails() {

		global $_product, $post;

		echo '&lt;div class=&quot;thumbnails&quot;&gt;';

		$thumb_id = get_post_thumbnail_id();
		$small_thumbnail_size = apply_filters('single_product_small_thumbnail_size', 'shop_thumbnail');
		$args = array(
			'post_type' 	=&gt; 'attachment',
			'order' 		=&gt; 'ASC',
			'orderby' 		=&gt; 'menu_order ID',
			'numberposts' 	=&gt; -1,
			'post_status' 	=&gt; null,
			'post_parent' 	=&gt; $post-&gt;ID,
			'post__not_in'	=&gt; array($thumb_id),
			'post_mime_type' =&gt; 'image',
			'meta_query' 	=&gt; array(
				array(
					'key' 		=&gt; '_woocommerce_exclude_image',
					'value'		=&gt; '1',
					'compare' 	=&gt; '!='
				)
			)
		);
		$attachments = get_posts($args);
		if ($attachments) :
			$loop = 0;
			$columns = apply_filters('woocommerce_product_thumbnails_columns', 3);
			foreach ( $attachments as $attachment ) : 

				$loop++;

				$_post = &amp; get_post( $attachment-&gt;ID );
				$url = wp_get_attachment_url($_post-&gt;ID);
				$post_title = esc_attr($_post-&gt;post_title);
				$image = wp_get_attachment_image($attachment-&gt;ID, $small_thumbnail_size);
				$attachment_meta = get_post_meta($_post-&gt;ID, '_rt-image-link', true);
				$link = $attachment_meta;
				if (isset($attachment_meta['true'])) {
				echo '&lt;a href=&quot;'.$link.'&quot; title=&quot;'.$post_title.'&quot; rel=&quot;thumbnails&quot; id=&quot;tip4&quot; class=&quot; ';
				if ($loop==1 || ($loop-1)%$columns==0) echo 'first';
				if ($loop%$columns==0) echo 'last';
				echo '&quot;&gt;'.$image.'&lt;/a&gt;';
				}
				else  {
				echo '&lt;a href=&quot;'.$url.'&quot; title=&quot;'.$post_title.'&quot; rel=&quot;thumbnails&quot; class=&quot;zoom ';
				if ($loop==1 || ($loop-1)%$columns==0) echo 'first';
				if ($loop%$columns==0) echo 'last';
				echo '&quot;&gt;'.$image.'&lt;/a&gt;';
				}

			endforeach;
		endif;
		wp_reset_query();

		echo '&lt;/div&gt;';

	}
}
</pre>
<p><strong>Third block of code.</strong><br />
<i>This snippet of code is to trigger the Fancybox plugin.  Edit the settings for your purposes.</i></p>
<pre class="brush: jscript; title: Copy the code below and paste into your functions.php file.; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
$(&quot;#tip4&quot;).click(function() {
	$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			'title'			: this.title,
			'width'		: 680,
			'height'		: 495,
			'href'			: this.href.replace(new RegExp(&quot;watch\\?v=&quot;, &quot;i&quot;), 'v/'),
			'type'			: 'swf',
			'swf'			: {
			   	 'wmode'		: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});

	return false;
});
&lt;/script&gt;
</pre>
<p><strong>Final Thoughts</strong><br />
I&#8217;m by no means the strongest coder.  So if you cook up a better solution please share it with the rest of us.  Maybe I don&#8217;t need the full second block of code?  I know I was having issues a few months ago with product image order so part of the second block of code probably includes my fix.  It might not be needed any longer or an issue specific to my project.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2012/03/10/woocommerce-add-video-support-to-product-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WooCommerce Arrange Order of Product Images</title>
		<link>http://www.benblanco.com/2011/11/28/woocommerce-arrange-order-of-product-images/</link>
		<comments>http://www.benblanco.com/2011/11/28/woocommerce-arrange-order-of-product-images/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 20:17:43 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Gallery Thumbnails]]></category>
		<category><![CDATA[Order Display]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=223</guid>
		<description><![CDATA[<a href="http://www.benblanco.com/wp-content/uploads/2011/11/woo-commerce-logo.jpg"><img src="http://www.benblanco.com/wp-content/uploads/2011/11/woo-commerce-logo.jpg" alt="WooCommerce Tips" title="woocommerce tips" width="593" height="250" class="alignnone size-full wp-image-224" /></a>


I recently started working with WooCommerce for a client project.  WooCommerce is an eCommerce solution for WordPress that was forked from Jigoshop.  There are now many eCommerce solutions to choose from with WordPress.  My personal favorites are Shopp and WooCommerce coming in a close second.  It really depends on the type of project I'm working on as it should for you as well.
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/11/woo-commerce-logo.jpg" alt="WooCommerce Tips" title="woocommerce tips" width="593" height="250" class="alignnone size-full wp-image-224" /></p>
<blockquote><p>Update:<br />
The code below is no longer necessary as long as your using the latest version of WooCommerce.  I installed 1.5.2 and noticed that the order of images can now be controlled via a template file.  Thus, the code below is no longer needed because, by default, WooCommerce adheres to the image order set in the admin.  Cheers!
</p></blockquote>
<p>I recently started working with <a href="http://www.woothemes.com/woocommerce/" title="WordPress Ecommerce Solution">WooCommerce</a> for a client project.  WooCommerce is an eCommerce solution for WordPress that was forked from Jigoshop.  There are now many eCommerce solutions to choose from with WordPress.  </p>
<p>My personal favorites are Shopp and WooCommerce coming in a close second.  It really depends on the type of project I&#8217;m working on as it should for you as well.</p>
<p><strong>Make WooCommerce adhere to image order:</strong><br />
While working with adding images to a product in WooCommerce I noticed that it disregarded image order when displaying the product on the front-end.  </p>
<p>To fix the issue I copied the function from <strong>&#8216;Woocommerce_template_functions.php&#8217;</strong> into my functions.php and added <strong>&#8220;order and orderby&#8221;</strong> to the array.  </p>
<p>The complete code is below for you to grab.  This is a simple fix but often I&#8217;m the one looking for those simple fixes so I&#8217;m sure others are out there.  </p>
<p>If there&#8217;s a more elegant way to fix this please share.  Thanks!</p>
<p><iframe src="http://pastebin.com/embed_iframe.php?i=4z9ke9WR" style="border:none;width:100%;height: 800px;"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/11/28/woocommerce-arrange-order-of-product-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable WordPress from Automatically Inserting Paragraph Tags</title>
		<link>http://www.benblanco.com/2011/08/27/disable-wordpress-from-automatically-inserting-paragraph-tags/</link>
		<comments>http://www.benblanco.com/2011/08/27/disable-wordpress-from-automatically-inserting-paragraph-tags/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 14:30:20 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=199</guid>
		<description><![CDATA[<a href="/2011/08/27/disable-wordpress-from-automatically-inserting-paragraph-tags/" title="Disable automatic paragraph tags in WordPress"><img src="http://www.benblanco.com/wp-content/uploads/2011/08/wordpress-logo-teaser.png" alt="" title="wordpress-logo-teaser" width="593" height="250" class="alignnone size-full wp-image-201" /></a>

By default, WordPress automatically inserts paragraph tags into your content while using the post editor – this often gets in the way when you’re trying to space out your text, and could also create validation issues. ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/08/wordpress-logo-teaser.png" alt="" title="wordpress-logo-teaser" width="593" height="250" class="alignnone size-full wp-image-201" /></p>
<p>By default, WordPress automatically inserts paragraph tags into your content while using the post editor – this often gets in the way when you’re trying to space out your text, and could also create validation issues. </p>
<p>As a result, if you want to strip the automatically inserted paragraph tags from your content, simply insert this line in your PHP template file above ‘the_content’ tag:</p>
<p><iframe src="http://pastebin.com/embed_iframe.php?i=WKLZesjW" style="border:none;width:100%;height: 80px;"></iframe></p>
<p>*For the less tech savvy this solution requires you to FTP into your web site and access your theme template files.  Once in there you&#8217;ll need to add this snippet of code directly above the &#8216;the_content&#8217; snippet.  Make sense?  Hit me up in the comments if not.</p>
<p>Hopefully this helps others remove those pesky paragraph tags. Cheers! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/08/27/disable-wordpress-from-automatically-inserting-paragraph-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DJ Divsa Gives Back with Eclectica II</title>
		<link>http://www.benblanco.com/2011/08/03/dj-divsa-gives-back-with-eclectica-ii/</link>
		<comments>http://www.benblanco.com/2011/08/03/dj-divsa-gives-back-with-eclectica-ii/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 01:49:45 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Charity]]></category>
		<category><![CDATA[DJ Divsa]]></category>
		<category><![CDATA[Eclectica]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=191</guid>
		<description><![CDATA[<img src="http://www.benblanco.com/wp-content/uploads/2011/08/dj-divsa-charity.jpg" alt="DJ Divsa Eclectica II" title="dj-divsa-charity" width="593" height="250" class="alignnone size-full wp-image-192" />

My favorite DJ, DJ Divsa, recently released his latest Mixtape on his web site.  He generally gives his podcasts and mixtapes away for FREE.  However, this time he's asking for donations with all proceeds going to <a href="http://butterflycommunities.org/" title="Toronto Charity">Butterfly Promotions</a>:
<blockquote>
A grassroots organization based in Toronto dedicated to building mass awareness of atrocious living conditions that exist in the lower income areas of the city.
</blockquote> ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/08/dj-divsa-charity.jpg" alt="DJ Divsa Eclectica II" title="dj-divsa-charity" width="593" height="250" class="alignnone size-full wp-image-192" /></p>
<p>My favorite DJ, DJ Divsa, recently released his latest Mixtape on his web site.  He generally gives his podcasts and mixtapes away for FREE.  However, this time he&#8217;s asking for donations with all proceeds going to <a href="http://butterflycommunities.org/" title="Toronto Charity">Butterfly Communities</a>:</p>
<blockquote><p>
A grassroots organization based in Toronto dedicated to building mass awareness of atrocious living conditions that exist in the lower income areas of the city.
</p></blockquote>
<p>Since Divsa has been so generous with all these awesome mixtapes I figured I would help out by promoting the new release.  Eclectica II picks up where <a href="http://www.djdivsa.com/mixtapes/details/eclectica/" title="Eclectica I">Eclectica I</a> left off by continuing to blend all old school R&#038;B and Hip Hop from the 1990s and early 2000s.  Part two gets even better with some oldies but goodies mixed together perfectly.  Believe me, throwing down two dollars is worth it for the music alone&#8230;but to help out a charity is even better.  </p>
<p><strong>Tracklist:</strong></p>
<p>1.&nbsp; Method Man, LL Cool J &#8211; Hit em High<br />
2.&nbsp; Kardinal &#8211; Runaway<br />
3.&nbsp; Baby Cham, Foxy Brown &#8211; Tables will Turn (Divsa Remix)<br />
4.&nbsp; Monica, Brandy &#8211; Boy is Mine (Divsa Remix)<br />
5.&nbsp; Nas &#8211; Nas is Like<br />
7.&nbsp; Talib Kweli, Jay-z &#8211; Get By (Remix)<br />
8.&nbsp; Dilated People, Kanye West &#8211; This Way<br />
9.&nbsp; 2Pac &#8211; Do For Love<br />
10.&nbsp; John Legend &#8211; Used to Love U (Divsa Remix)<br />
11.&nbsp; A Tribe Called Quest &#8211; Award Tour<br />
12.&nbsp; Q-Tip &#8211; Let’s Ride<br />
13.&nbsp; Alanis Morissette &#8211; Hand in my Pocket (Divsa Remix)<br />
14.&nbsp; Lil Cease, Lil Kim, Notorious BIG &#8211; Crush on You (Remix)<br />
15.&nbsp; George Michael &#8211; Faith<br />
16.&nbsp; Missy Elliot &#8211; Get ur Freak on (Divsa Remix)<br />
17.&nbsp; A Tribe Called Quest &#8211; Electric Relaxation<br />
18.&nbsp; Lauryn Hill &#8211; Lost Ones<br />
19.&nbsp; 2pac &#8211; R U still down?<br />
20.&nbsp; Tamia, Talib Kweli &#8211; Officially Missing you (Remix)<br />
21.&nbsp; Da Brat, Tyrese &#8211; What Chu Like (Divsa Remix)<br />
22.&nbsp; White Town &#8211; Your Woman<br />
23.&nbsp; Lauryn Hill &#8211; Doo Wop (Divsa Remix)<br />
24.&nbsp; Common &#8211; The Light<br />
25.&nbsp; Musiq &#8211; Just Friends<br />
26.&nbsp; Beyonce &#8211; Summertime<br />
27.&nbsp; Bobby Valentino, Lil Wayne &#8211; Tell me<br />
28.&nbsp; Bobby Valentino &#8211; Slow Down<br />
29.&nbsp; Aaliyah &#8211; If your Girl only Knew<br />
30.&nbsp; Jay-z, Aaliyah &#8211; A Million and One Questions<br />
31.&nbsp; Montel Jordan &#8211; Something for the Honeys<br />
32.&nbsp; A Tribe Called Quest &#8211; Find my way<br />
33.&nbsp; TLC &#8211; Creep<br />
34.&nbsp; TLC &#8211; Unpretty<br />
35.&nbsp; City High &#8211; Caramel (Remix)<br />
36.&nbsp; Jonel, Method Man &#8211; Round &amp; Round (Remix)<br />
37.&nbsp; Next, Big Pun &#8211; Still Love You (Remix)<br />
38.&nbsp; Mya &#8211; Case of the Ex<br />
39.&nbsp; Obie Trice, Nate Dogg &#8211; The Setup<br />
40.&nbsp; Alicia Keys &#8211; Fallin (Remix)<br />
41.&nbsp; Ruff Ryders &#8211; Ryde or Die Chick<br />
42.&nbsp; R Kelly, The Game &#8211; Playas Only (Divsa Remix)<br />
43.&nbsp; Nick Cannon, R Kelly &#8211; Gigalo<br />
44.&nbsp; Cassidy, R Kelly &#8211; Hotel</p>
<p>Thanks to <a href="http://www.twitter.com/divsa" title="DJ Divsa Twitter">@Divsa</a> for all the great mixtapes.  It makes the work day go by so much quicker.  Cop the new mixtape here on his <a href="http://www.djdivsa.com/blog/details/eclectica-ii-classic-rb-and-hip-hop-mixtape-download-now1/" title="DJ Divsa Blog">blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/08/03/dj-divsa-gives-back-with-eclectica-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplify: Spotify Mini Player for Mac</title>
		<link>http://www.benblanco.com/2011/08/02/simplify-spotify-mini-player-for-mac/</link>
		<comments>http://www.benblanco.com/2011/08/02/simplify-spotify-mini-player-for-mac/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 00:07:44 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[App Review]]></category>
		<category><![CDATA[Spotify]]></category>
		<category><![CDATA[Spotify Mini Player]]></category>
		<category><![CDATA[Spotify Premium]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=184</guid>
		<description><![CDATA[<img src="http://www.benblanco.com/wp-content/uploads/2011/08/Simplify-Mac-App.jpg" alt="Spotify Mini Player Screenshot" title="Simplify-Mac-App" width="593" height="250" class="alignnone size-full wp-image-185" />

I've become a big fan of Spotify ever since they launched in the U.S. a few weeks ago.  <a href="http://www.benblanco.com/2011/07/19/spotify-whats-up-with-random-songs-not-playing/" title="Spotify Service Reliability">Service reliability has improved</a> and the social features are starting to become useful now that my friends are signing up. Granted, It's a much better experience after you pony up a few bucks a month to become a premium member.  

However, with that being said, there's a lot to be desired from their dedicated Mac player.  Sometimes I hate the distraction of working with the full app all the time.  I wish Spotify would integrate a mini version of their player like iTunes.  Hopefully we'll see something from them eventually.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/08/Simplify-Mac-App.jpg" alt="Spotify Mini Player Screenshot" title="Simplify-Mac-App" width="593" height="250" class="alignnone size-full wp-image-185" /></p>
<p>I&#8217;ve become a big fan of Spotify ever since they launched in the U.S. a few weeks ago.  <a href="http://www.benblanco.com/2011/07/19/spotify-whats-up-with-random-songs-not-playing/" title="Spotify Service Reliability">Service reliability has improved</a> and the social features are starting to become useful now that my friends are signing up. Granted, It&#8217;s a much better experience after you pony up a few bucks a month to become a premium member.  </p>
<p>However, with that being said, there&#8217;s a lot to be desired from their dedicated Mac player.  Sometimes I hate the distraction of working with the full app all the time.  I wish Spotify would integrate a mini version of their player like iTunes.  Hopefully we&#8217;ll see something from them eventually.  </p>
<p>Until they get on board I found a third-party app called <a href="http://pxmates.com/factory/simplify/" title="Spotify Mini Player">Simplify</a> that takes care of my mini player desire while looking pretty doing it.  </p>
<p><strong>Features include:</strong></p>
<ul>
<li>Mini PLayer with access to player control and volume.</li>
<li>Simplify displays the currently playing track on your desktop with album artwork.</li>
<li>Control Spotify the way you want with customizable controls.</li>
<li>The developer(s) seem pretty active.  They&#8217;ve released a screenshot of new features on their <a href="http://twitter.com/#!/pxmates">twitter account</a>.  Cheers!</li>
</ul>
<p>Simplify will set you back <a href="http://itunes.apple.com/us/app/simplify/id448003584?mt=12">$4.99 on the Mac app store</a>.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/08/02/simplify-spotify-mini-player-for-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spotify: What&#8217;s up with random songs not playing?</title>
		<link>http://www.benblanco.com/2011/07/19/spotify-whats-up-with-random-songs-not-playing/</link>
		<comments>http://www.benblanco.com/2011/07/19/spotify-whats-up-with-random-songs-not-playing/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 03:17:30 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[Inside Technology]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=136</guid>
		<description><![CDATA[<img src="http://www.benblanco.com/wp-content/uploads/2011/07/Spotify_Concerns.jpg" alt="Spotify America" title="Spotify_Concerns" width="593" height="250" class="alignnone size-full wp-image-137" />

I recently signed up for a premium account with Spotify.  Overall, I've enjoyed the service so far.  However, now that I'm a paying customer I'm pissed off that some tracks won't play.  No, I'm not talking about the tracks that aren't licensed to play in the United States.  Spotify usually provides an alert when that happens.  Rather, I'm referring to those songs that simply don't play at all and no reason is given.  ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/07/Spotify_Concerns.jpg" alt="Spotify America" title="Spotify_Concerns" width="593" height="250" class="alignnone size-full wp-image-137" /></p>
<p><strong>Update: August 2, 2011</strong><br />
Spotify appears to have fixed the random songs not playing issue.  Over the past two weeks I haven&#8217;t run into a song that hasn&#8217;t played successfully.  In fact, songs that previously wouldn&#8217;t play now play perfectly.  Kudo&#8217;s to the Spotify team for getting the issues figured out.  Now if they could somehow integrate a built in mini-player for Premium users&#8230;</p>
<hr />
<p>I recently signed up for a premium account with Spotify.  Overall, I&#8217;ve enjoyed the service so far.  However, now that I&#8217;m a paying customer I&#8217;m pissed off that some tracks won&#8217;t play.  No, I&#8217;m not talking about the tracks that aren&#8217;t licensed to play in the United States.  Spotify usually provides an alert when that happens.  Rather, I&#8217;m referring to those songs that simply don&#8217;t play at all and no reason is given.  </p>
<p>Apparently I&#8217;m not the only one experiencing this problem.  Perform a simple <a href="http://twitter.com/#!/search/spotify%20songs%20not%20playing" title="Spotify Song Issues">search on Twitter</a> and I noticed others are having the same issue.  </p>
<p><strong>Has anyone received an official response yet?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/07/19/spotify-whats-up-with-random-songs-not-playing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: Multiple Single.php Template Files</title>
		<link>http://www.benblanco.com/2011/07/19/wordpress-multiple-single-php-template-files/</link>
		<comments>http://www.benblanco.com/2011/07/19/wordpress-multiple-single-php-template-files/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 03:00:48 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=117</guid>
		<description><![CDATA[<img src="http://www.benblanco.com/wp-content/uploads/2011/07/wordpress-template-tips.jpg" alt="WordPress Graphic for Multiple Single.php Template Files" title="wordpress-template-tips" width="593" height="250" class="alignnone size-full wp-image-122" />

I recently ran into an issue on a WordPress project that required multiple variations of the "single.php" template file based on a blog category. Unfortunately, there isn't any built in support for multiple "single.php" template files like there are for categories. As a result, the quickest workaround is to convert your "single.php" into a PHP If Statement.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2011/07/wordpress-template-tips.jpg" alt="WordPress Graphic for Multiple Single.php Template Files" title="wordpress-template-tips" width="593" height="250" class="alignnone size-full wp-image-122" /></p>
<p>I recently ran into an issue on a WordPress project that required multiple variations of the &#8220;single.php&#8221; template file based on a blog category. Unfortunately, there isn&#8217;t any built in support for multiple &#8220;single.php&#8221; template files like there are for categories. As a result, the quickest workaround is to convert your &#8220;single.php&#8221; into a PHP If Statement.</p>
<p style="padding:0;margin: 0;"><strong>Here&#8217;s the breakdown:</strong></p>
<ol style="margin-top: 0;">
<li>Create two new template files based on the single.php template.</li>
<ul style="margin: 0 0 0 15px;padding: 0;">
<li>Example:  single-blog.php AND single.unique.php</li>
</ul>
<li>Copy the contents of your single.php file to your two new template files.</li>
<ul style="margin: 0 0 0 15px;padding: 0;">
<li>Customize the code of a template file to make it unique from the other.</li>
</ul>
<li>Replace the contents of your single.php file with this PHP If Statement:</li>
</ol>
<p><script type="text/javascript" src="http://pastebin.com/embed_js.php?i=vDyrPsp8"></script></p>
<p><strong>Find your Category ID Number: </strong><br />
You can find the category ID number by navigating to your &#8216;categories&#8217; manager in WordPress.  From there hover over the category name and look at the link.  It should have an ID associated with that category.  </p>
<p>Hit me up in the comments if you need help.  Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2011/07/19/wordpress-multiple-single-php-template-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Comment Policies of Indianapolis Major Media Outlets</title>
		<link>http://www.benblanco.com/2010/06/06/internet-comment-practices-of-indianapolis-major-media-outlets/</link>
		<comments>http://www.benblanco.com/2010/06/06/internet-comment-practices-of-indianapolis-major-media-outlets/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 20:47:34 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[Inside Technology]]></category>
		<category><![CDATA[Anonymous Comments]]></category>
		<category><![CDATA[Social Media Bigots]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=68</guid>
		<description><![CDATA[<img src="http://www.benblanco.com/wp-content/uploads/2010/06/AnonymousComments.jpg" alt="Anonymous Comments" title="AnonymousComments" width="593" height="250"/>

Over the years I've noticed a growing trend, particularly on news based websites, of Internet commenters leaving racially tinged or controversial messages often not shared in public discourse.  Internet users continue to hide behind the freedom of anonymity that has graced the Internet since it's inception.  However, according to a <a href="http://www.nytimes.com/2010/04/12/technology/12comments.html">New York Times Article</a> published in April, major online news publications are changing their comment policies to help keep opinions more civil.  ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.benblanco.com/wp-content/uploads/2010/06/AnonymousComments.jpg" alt="Anonymous Comments" title="AnonymousComments" width="593" height="250"/></p>
<p>Over the years I&#8217;ve noticed a growing trend, particularly on news based websites, of Internet commenters leaving racially tinged or controversial messages often not shared in public discourse.  Internet users continue to hide behind the freedom of anonymity that has graced the Internet since it&#8217;s inception.  However, according to a <a href="http://www.nytimes.com/2010/04/12/technology/12comments.html">New York Times Article</a> published in April, major online news publications are changing their comment policies to help keep opinions more civil.  </p>
<h3>Comment Policies of Indianapolis Major Media Outlets</h3>
<p><img src="http://www.benblanco.com/wp-content/uploads/2010/06/IndyStarReg.jpg" alt="" title="IndyStarReg" width="250" height="380" class="alignright size-full wp-image-79" /><strong>IndyStar.com</strong><br />
The IndyStar.com requires users to become members to post comments on Articles.  However, during the signup process <strong>your first and last name are optional fields</strong>.  As a result, your comments are tied to a screen name that never reveals your true identity.  This policy falls short of other major media outlets but at least they require account registration.</p>
<p>In addition, I noticed that article comments are harder to find than in the past.  For example, in the past, comments used to be directly listed underneath each article.  Today, comments are no longer listed beneath each article (non-logged in users) but rather hidden behind a &#8216;comment&#8217; link that requires user interaction.  Which could be a sign of the Star placing less importance on user comments tied directly to the article.</p>
<p><strong>WTHR.com</strong><br />
WTHR comment system also requires registration before a user can leave a comment on an article.  Unlike the IndyStar.com their sign up form <strong>requires the user to provide their first and last name</strong>.  However, all posted comments are currently displayed by the users provided user name.  In addition, a user can sign-in to the comment system via other popular social networking accounts such as Facebook, Google, or Twitter to leave comments.  </p>
<p>I think this is probably why WTHR.com tends to have one of the cleanest comment systems of all major media outlets in Indianapolis.  Finally, I notice that the news outlet chooses to only display the first three (3) comments after the article.  Viewing the remaining comments are hidden and confusing to find from a usability stand point.      </p>
<p><strong>WISHTV.com</strong><br />
WISHTV comment practices are more lax than WTHR.com but at least <strong>require a first name</strong> when registering for a new account to leave comments.  User accounts are required to comment on any article.  I found WISHTV statement of comment conduct, located immediately following the article, to be refreshing.  It&#8217;s a fresh reminder to watch what you say and be accountable for your verbal actions.  However, similar to the other networks, all comments are tied to user provided screen names.  Profile Pictures, often referred to as avatars, are available but optional.  </p>
<p><strong>INDYCHANNEL.com</strong><br />
The IndyChannel used to be one of the worst offenders for anonymous commenters.  It was often worse than a bar room brawl.  However, it appears that recently the IndyChannel integrated the same system that powers the WTHR.com system.  I&#8217;m assuming because both websites are powered by the same Content Management System.  </p>
<p>IndyChannel does not have a separate registration system like that of WTHR.  Users are offered nine (9) different social services to login to the comment system.  The only option I have a problem with is the &#8216;blogger&#8217; service as it&#8217;s often used for inappropriate purposes and does not require much in the identity department.  </p>
<h3>Comment Service Wrap Up</h3>
<p>Overall I think each of the news agencies could do a better job of holding users accountable for their online opinions.  More obviously needs to be done to educate Internet users that anonymity is a privilege and not a right.  WTHR and the IndyChannel are both guilty of offloading the verification to third-party services.  Often times these other services have limited resources to verify the true source behind a comment.  The IndyChannel gets a nod from me for placing less emphasis on user comments.  However, the <strong>main reason I wrote this article is because of this blatantly bigoted comment regarding a Hispanic driver involved in a automobile accident</strong>:</p>
<p><img src="http://www.benblanco.com/wp-content/uploads/2010/06/illegalname.jpg" alt="" title="illegalname" width="593" height="201" class="alignnone size-full wp-image-87" /></p>
<p><strong>Why is a name that sounds Hispanic automatically illegal?</strong><br />
I want to write this lady a letter and educate her on how ignorant she sounds.  I wonder if she would come to the same conclusion if it was my last name in a bad article?  Actually, based on this comment, I don&#8217;t have to wonder because chances are that she would come to the same conclusion.  The problem is often that the user has never met an educated HIspanic person that debunks his/her stereotypes and prejudices.  Well my blog is my outlet and this is my answer to the user and anyone else that thinks the same way as this person.</p>
<p>While this person in the article may very well be illegal you cannot legitimately come to this conclusion based on a name.  I think the commenter would have never written such a bigoted statement if his/her public name was tied to the account.  I call on all major media outlets to hold users accountable when they choose to engage the media property by leaving article comments.  User comments not only represent themselves but also the web property where they reside.  A great place to start is by following the lead of other major news corporations in the United States.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2010/06/06/internet-comment-practices-of-indianapolis-major-media-outlets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slacker Radio Service Delivers Viruses</title>
		<link>http://www.benblanco.com/2010/06/02/slacker-radio-service-delivers-viruses/</link>
		<comments>http://www.benblanco.com/2010/06/02/slacker-radio-service-delivers-viruses/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 04:43:53 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[Fishers Indiana]]></category>
		<category><![CDATA[Internet Radio]]></category>
		<category><![CDATA[hijacked advertising]]></category>
		<category><![CDATA[malware advertising]]></category>
		<category><![CDATA[slacker radio]]></category>

		<guid isPermaLink="false">http://www.benblanco.com/?p=46</guid>
		<description><![CDATA[<img src="/wp-content/uploads/2010/06/slacker-half.jpg" alt="Slacker Radio Service"/>

I've been a huge fan of Internet radio service <a href="http://www.slacker.com">Slacker</a> since I first read about the service on <a href="http://techcrunch.com/tag/slacker/">Techcrunch</a> back in 2007.   Since that time the service has gone through some growing pains with their team moving away from hardware devices and dedicating all resources to their software on third-party devices.  I can't blame them since their G2 Hardware player isn't very reliable and the mobile device market continues to grow.  ]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2010/06/slacker-post.jpg" alt="" title="slacker-post" width="593" height="445" /></p>
<p>I&#8217;ve been a huge fan of Internet radio service <a href="http://www.slacker.com">Slacker</a> since I first read about the service on <a href="http://techcrunch.com/tag/slacker/">Techcrunch</a> back in 2007.   Since that time the service has gone through some growing pains with their team moving away from hardware devices and dedicating all resources to their software on third-party devices.  I can&#8217;t blame them since their G2 Hardware player isn&#8217;t very reliable and the mobile device market continues to grow.  </p>
<h3>Situation:</h3>
<p>So you think with the recent refocus of the team that their slacker.com radio service would deliver a top-notch radio experience?  My buddy Ben, who I encouraged to try out the service, recently called me with bad news:  </p>
<blockquote><p>
<span style="color:#000;">Friend:</span> Dude, I think I got a virus&#8230;..<br />
<span style="color:#000;">Me:</span> How?<br />
<span style="color:#000;">Friend:</span> I was listening to Slacker radio and this message came up&#8230;all I could click was &#8216;okay&#8217; and then all these pop-ups started popping up.<br />
<span style="color:#000;">Me:</span> &#8230;..Be there in 15 minutes
</p></blockquote>
<p>Ben works for one of my clients so I naturally went through the process of helping him remove the virus by granting me remote access to his computer.  I got about 5 minutes in and realized that the trojan virus locked his computer down hard.  This one was going to cost me a trip to the clients office, fun fun.  <strong>I&#8217;ll detail in my next post how I successfully removed the infection from his computer.</strong></p>
<h3>Real Threat Lives in Advertisements:</h3>
<p>The thing that pissed me off is that this happened not only once but twice.  Honestly, I was skeptical at first because I&#8217;ve been listening to slacker for a long time on a mac <img src='http://www.benblanco.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  The second time it happened I was there and was able to close Internet Explorer via task manager.  Yeah I know, who uses IE anymore?  Shrug, that&#8217;s not the point since 68% of the population still use the inferior browser.  Anyway, so I headed over to the Slacker Forums to complain and <a href="http://forums.slacker.com/virus-in-the-ads--t5297.html">found a thread</a> of complaints had already been started.  </p>
<p>Apparently the trojan/virus infections are being delivered through advertisements displayed to users who use the free service.  Free users are subjected to three rotating adverts and audio adverts in exchange to listening to great music.  Unfortunately, the new trade off that no on ever talked about is being subjected to PC infections.  </p>
<h3>Slacker&#8217;s Slacker Response:</h3>
<p>Listen Slacker, I understand that it&#8217;s not necessarily your fault that viruses are being delivered since you don&#8217;t directly control the adverts that are delivered.  However, I think you have to do better than that since most of your user base won&#8217;t believe the explanation.  You&#8217;ll lose trust in your user base each time this happens (potential premium subscribers).  The first thought that came to my head&#8230;..why doesn&#8217;t this happen when using Pandora?</p>
<p><img src="http://www.benblanco.com/wp-content/uploads/2010/06/fakespywarealert.jpg" alt="" title="fakespywarealert" width="284" height="278" class="alignright size-full wp-image-55" /></p>
<h3>Slacker Solution?</h3>
<p>The fact of the matter as that we both know it happens no matter what service you use.  However, your radio service has a choice when picking a vendor to deliver your adverts.  Maybe you should consider choosing a company that has a better track record.  Delivering virus infected adverts is for the birds and I think you&#8217;ll start losing users unless you address the issue head on.  I know I didn&#8217;t appreciate seeing the warning on my friends computer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benblanco.com/2010/06/02/slacker-radio-service-delivers-viruses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.benblanco.com/feed/ ) in 0.19862 seconds, on May 20th, 2012 at 2:46 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 20th, 2012 at 3:46 pm UTC -->
