<?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>9seeds, LLC</title>
	
	<link>http://9seeds.com</link>
	<description>dynamic web cultivation</description>
	<lastBuildDate>Thu, 16 May 2013 22:07:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/9seeds" /><feedburner:info uri="9seeds" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>9seeds</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Inserting yourself as admin into WordPress</title>
		<link>http://9seeds.com/tech/inserting-yourself-as-admin-into-wordpress/</link>
		<comments>http://9seeds.com/tech/inserting-yourself-as-admin-into-wordpress/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 11:00:30 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[wp-admin]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=930</guid>
		<description><![CDATA[On quite a few occasions I&#8217;ve had clients send me a complete backup of their site during the discovery period. Usually this is because they don&#8217;t have a Release Candidate / Quality Assurance / Staging / Development version(s) of their site where changes can be made, and approved, without affecting the live site. Without standing [...]]]></description>
				<content:encoded><![CDATA[<p>On quite a few occasions I&#8217;ve had clients send me a complete backup of their site during the discovery period. Usually this is because they don&#8217;t have a Release Candidate / Quality Assurance / Staging / Development version(s) of their site where changes can be made, and approved, without affecting the live site.</p>
<p>Without standing on my soapbox too long &#8211; if your website lacks a staging site, version control for custom code, or backups &#8211; you should address them immediately.</p>
<p>In this case, I was glad the client had at least one backup (the one that was provided to me) which I could turn into a local WordPress installation to begin development. Since the client didn&#8217;t provide a WordPress Admin user and password, I just decided to insert myself into WordPress.<br />
<span id="more-930"></span><br />
Use this script to insert a WordPress Admin user, using phpMyAdmin, the MySQL command line interface, MySQL Workbench, or whatever SQL tool you normally use:</p>
<pre>SET @user_login := 'justin_foell';
SET @user_pass := 'Q9xiHgzZ';
SET @user_email := 'justin@9seeds.com';

INSERT INTO `wp_users` 
(`user_login`, `user_pass`, `user_email`, `user_registered`) 
VALUES 
(@user_login, MD5(@user_pass), @user_email, now());

SELECT @user_id := LAST_INSERT_ID();

INSERT INTO `wp_usermeta` 
(`user_id`, `meta_key`, `meta_value`) 
VALUES 
(@user_id, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');

INSERT INTO `wp_usermeta` 
(`user_id`, `meta_key`, `meta_value`) 
VALUES 
(@user_id, 'wp_user_level', '10');</pre>
<p>Replace the set values at the top for @user_login, @user_pass and @user_email with your own settings. Also, if your WordPress installation uses tables that start with a prefix other than &#8216;wp_&#8217;, you&#8217;ll want to replace that in the table names as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/inserting-yourself-as-admin-into-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moving forums from SimplePress to BBPress</title>
		<link>http://9seeds.com/tech/moving-forums-from-simplepress-to-bbpress/</link>
		<comments>http://9seeds.com/tech/moving-forums-from-simplepress-to-bbpress/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 17:00:50 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[bbpress]]></category>
		<category><![CDATA[data conversion]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=1023</guid>
		<description><![CDATA[I was recently asked by a member of our local WordPress meetup group which forum software I would suggest using. I mentioned that I had been using SimplePress for a while, but wasn&#8217;t in love with it. I had used BBPress quite a while ago, before it got the major revamp and if I had [...]]]></description>
				<content:encoded><![CDATA[<p>I was recently asked by a member of our local WordPress meetup group which forum software I would suggest using. I mentioned that I had been using <a href="http://simple-press.com/">SimplePress</a> for a while, but wasn&#8217;t in love with it. I had used <a href="http://bbpress.org/">BBPress</a> quite a while ago, before it got the major revamp and if I had to choose which to use for a new site, I would go with BBPress. Then, with a stroke of great timing, the BBPress 2.3 beta was released the following day. Since it was fresh in my mind, I installed the beta to test it out. In short, BBPress has come a LONG way in the past year. So much so that we decided it was time to move <a href="http://support.9seeds.com/forums/" target="_blank">our support forums</a> off of SimplePress. That process would prove to be tricky.</p>
<p>To follow are the steps I took to convert our forums from SimplePress version 4.4.0 to BBPress version 2.3</p>
<p><strong>Step 0</strong></p>
<p><img class="alignnone size-full wp-image-1024" alt="Backup All The Things" src="http://9seeds.com/wp-content/uploads/2013/02/backup-all-the-thinks.jpg" width="320" height="240" /></p>
<p>Seriously. Just do it.</p>
<p>I went one step further than just backing everything up. Instead, I exported the database and set up a separate WordPress install just to run the conversion. This way, if everything broke I could simple delete it and start again. And now the actual conversion process.</p>
<p><strong>Step 1: Upgrade SimplePress</strong></p>
<p>When figuring out what it would take to do the conversion, I found that BBPress could convert SimplePress version 5 forums right from the tools menu. So in order to do the conversion, I first needed to upgrade SimplePress. Unfortunately, their upgrade only works with version 4.5.x. After reading <a href="http://codex.simple-press.com/codex/installation/upgrading/upgrading-version-4-5/">this page</a>, I took these steps:</p>
<p>- Deactivate the SimplePress plugin (Do Not uninstall it, just deactivate it)<br />
- Remove the /plugins/simple-forum/ folder from your server<br />
- Download the latest version of SimplePress<br />
- Upload simple-press folder to /plugins/simple-press/ on your server<br />
- Activate the plugin</p>
<p>Once the plugin is activated, you&#8217;ll have the &#8220;Forums&#8221; item added back to your menu which will link you to an upgrade process. Start the upgrade process and let it run. For our small forum this process took 3-4 minutes. I&#8217;m assuming for a larger forum, this process could take a bit longer. Be patient.</p>
<p>After I ran the update, poking around the forums admin area, everything looked fine. I then checked the actual forums and found this message:</p>
<p><img class="alignnone size-full wp-image-1026" alt="SP error" src="http://9seeds.com/wp-content/uploads/2013/02/screenshot194.jpg" width="556" height="50" /></p>
<p>I was concerned that I had lost all my data, but the forum stats displaying below gave me some comfort.</p>
<p><img class="alignnone size-full wp-image-1027" alt="Forum Stats" src="http://9seeds.com/wp-content/uploads/2013/02/screenshot195.jpg" width="298" height="94" /></p>
<p>&nbsp;</p>
<p><strong>Step 2: Install BBPress</strong></p>
<p>Not wanting BBPress and SimplePress to colide, I started by deactivating SimplePress. I then uploaded the BBPress 2.3 beta to /plugins/bbpress/ and activated it from the plugins menu.</p>
<p>Yeah, that part was pretty simple.</p>
<p><strong>Step 3: Import SimplePress forums</strong></p>
<blockquote><p>Just a quick note. At the time of this writing BBPress 2.3 beta 2 has a bug related to importing of data. I <a href="http://bbpress.trac.wordpress.org/ticket/2194">posted a ticket</a> about it in Trac and I&#8217;m sure it will be fixed soon. To get around the bug, I ran a search and replace on the database to remove any instance of &amp;nbsp; as it causes the post to be truncated upon import.</p></blockquote>
<p>Start by going to Tools -&gt; Forums in the WordPress admin area, then click the Import Forums tab at the top. From the dropdown select SimplePress 5 and then fill in the database information. Just under that you&#8217;ll see a few options. The most important of which is the <strong>Convert Users</strong> option.</p>
<p>The first time I ran the import, I was installing BBPress on the same WordPress installation that SimplePress had previously been installed on. This meant that all my user accounts already existed and their posts were all connected to them. I clicked the convert users tab prior to running the import, and all the posts, once converted, were once again attached to their rightful owners as part of BBPress.</p>
<p>I then decided that I wanted to move my forum to a different WordPress install on a different domain. When doing so, I accidentally forgot to click the Convert Users checkbox. The results were less than optimal. All of the posts DID come over to the new installation, but they were all attached to a single user account. Oops.</p>
<p>I can&#8217;t think of a reason (although, I&#8217;m sure there is one or this wouldn&#8217;t be an option) why you would ever want to NOT click the Convert Users checkbox. So before you click Start, make sure it&#8217;s checked.</p>
<p><strong>Step 4: Repair Forums</strong></p>
<p>After running the conversion in step 3, I was reviewing the forums and noticed that all the data appeared to be in place and the posts were all attached to the proper people, but, all of the counts were off. Anywhere where it said how many posts or replies were on a post or topic was all displaying zero. Back to the admin area we go. This time to Tools -&gt; Forums and click the Repair Forums tab where you will find the following options:</p>
<p><img class="alignnone size-full wp-image-1028" alt="Repair Forums" src="http://9seeds.com/wp-content/uploads/2013/02/screenshot196.jpg" width="580" height="375" /></p>
<p>Taking the advice along the top, I clicked the first item in the list and then clicked Repair Items. It took a matter of seconds to complete. I then went through each item on the list, one at a time, and checked the box and ran the repair. When I was done I went back to the forums to find that all the counts had been updated and my forums were working perfectly.</p>
<p>Once you know all the pieces, the process isn&#8217;t actually all that difficult. But hopefully I just saved you some trial and error time.</p>
<p>Done Done. (as <a href="http://chrislema.com/what-is-done-done/">Chris Lema</a> would say)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/moving-forums-from-simplepress-to-bbpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WP Affiliate Manager version 1.5</title>
		<link>http://9seeds.com/news/wp-affiliate-manager-version-1-5/</link>
		<comments>http://9seeds.com/news/wp-affiliate-manager-version-1-5/#comments</comments>
		<pubDate>Mon, 07 Jan 2013 21:49:42 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[affiliate]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Plugin release]]></category>
		<category><![CDATA[plugin update]]></category>
		<category><![CDATA[wp-ecommerce]]></category>
		<category><![CDATA[wpaffiliatemanager support]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=982</guid>
		<description><![CDATA[We&#8217;re glad to announce the release of WP Affiliate Manager version 1.5.0.  This version initially centered around a bugfix having to do with a namespace conflict in the latest (3.8.9.x) versions of WP e-Commerce.  However in the process, we were able to add several minor enhancements that will enhance WP Affiliate Manager for the future. [...]]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re glad to announce the release of WP Affiliate Manager version 1.5.0.  This version initially centered around a bugfix having to do with a namespace conflict in the latest (3.8.9.x) versions of WP e-Commerce.  However in the process, we were able to add several minor enhancements that will enhance WP Affiliate Manager for the future.</p>
<h2>gettext translation wrappers</h2>
<p>While not all screens have had the gettext translation wrappers applied (notably the settings and paypal pages in wp-admin), everything else has been added.  Expect a 1.5.x release early in 2013 that will be fully translatable.</p>
<p>As such, we&#8217;re putting out a call for translators.  We are willing to offer free lifetime use &amp; upgrades of the WP Affiliate Manager to anyone who contributes a full translation in their own language. We have a couple of people already talking to us about certain languages, so if you&#8217;re interested, please fill out the form on our <a title="9seeds Plugin Translations" href="http://9seeds.com/plugin-translations/">translation page</a> and let us know what language you&#8217;d like to help us add to WP Affiliate Manager!</p>
<h2>money_format() for Windows</h2>
<p><a title="money_format" href="http://php.net/money_format">money_format()</a> is a native PHP function, but it does not exist on Windows platforms.  We added a simple one for those hosting in Windows environments which should get the job done.</p>
<h2>PayPal enhancements</h2>
<p>First, the sandbox PayPal URL has been fixed.  This is mostly used for development/testing purposes, but none-the-less is important.</p>
<p>Also, we removed the requirement for needing the PHP cURL module requirement.  Instead, WP Affiliate Manager uses WordPress&#8217; native HTTP request methods.</p>
<h2>jQuery UI Tabs + cookies + mod_security bugfix</h2>
<p>An interesting sidenote&#8230; we discovered a bug where if you went to the 2nd tab on WP Affiliate Manager&#8217;s &#8220;My Affiliates&#8221; screen on our test server, your next navigation point in WordPress would either result in a 404 error, or an endless loop of 302 redirects.</p>
<p>Turns out the bug was caused by a perfect storm of Apache&#8217;s mod_security (which is enabled on our test server) and the use of jQuery UI Tabs with a cookie save option.  What was occurring was the cookie name was being saved as &#8220;ui-tabs-1&#8243; and if your last visited tab was the 2nd tab (index 1) the cookie was saved as &#8220;ui-tabs-1=1&#8243;.  This would be passed with each HTTP request as a cookie header.  Since mod_security doesn&#8217;t like anything where &#8220;1=1&#8243;, it was changing the request, causing WordPress to become all sorts of confused.  You can see a bug report about it here: http://bugs.jqueryui.com/ticket/8027</p>
<p>The solution was to name the cookie, so the automatically generated name wasn&#8217;t used:</p>
<pre>jQuery("#tabs").tabs({
    cookie: {
        name: 'wpam_detail_tab'
    }
});</pre>
<p>Enjoy all of the fixes!</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/news/wp-affiliate-manager-version-1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Including templates inside a plugin</title>
		<link>http://9seeds.com/tech/including-templates-inside-a-plugin/</link>
		<comments>http://9seeds.com/tech/including-templates-inside-a-plugin/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 17:00:17 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=962</guid>
		<description><![CDATA[This past week I was working on a project for a client who needed a custom post type to manage events on his site. Normally for a project like this I would build the CPTs and push a couple templates in to the active theme folder. But in this instance, the client was working on [...]]]></description>
				<content:encoded><![CDATA[<p>This past week I was working on a project for a client who needed a custom post type to manage events on his site. Normally for a project like this I would build the CPTs and push a couple templates in to the active theme folder. But in this instance, the client was working on a new theme that would be going live in a few weeks. Rather than making the client jump through hoops and move template files around, I wanted to provide the easiest solution possible. That meant, including all the templates as part of the plugin. Thanks to a very handy filter in WordPress, this wasn&#8217;t a problem. Here&#8217;s how it ended up.</p>
<p>Here&#8217;s the makeup of the plugin:</p>
<p><img src="http://9seeds.com/wp-content/uploads/2012/12/screenshot181.jpg" alt="Plugin Layout" width="235" height="145" class="alignnone size-full wp-image-963" /></p>
<p>The plugin itself is very standard. One thing I like to do is define the custom post types as separate files to keep the function file clean. I then include the CPTs and the <a href="https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress">custom metabox library</a> like so:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/** Add custom CPTs and Metaboxes */</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'cpt-events.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'cpt-locations.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'metabox/init.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>I store the stylesheet in a separate folder for cleanliness as well and encode it like this:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/** Enqueue CSS */</span>
add_action<span style="color: #00AA00;">&#40;</span> <span style="color: #ff0000;">'wp_enqueue_scripts'</span><span style="color: #00AA00;">,</span> <span style="color: #ff0000;">'prefix_add_my_stylesheet'</span> <span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
function prefix_add_my_stylesheet<span style="color: #00AA00;">&#40;</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	wp_register_style<span style="color: #00AA00;">&#40;</span> <span style="color: #ff0000;">'cpt-style'</span><span style="color: #00AA00;">,</span> plugins_url<span style="color: #00AA00;">&#40;</span> <span style="color: #ff0000;">'css/style.css'</span><span style="color: #00AA00;">,</span> __FILE__<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	wp_enqueue_style<span style="color: #00AA00;">&#40;</span> <span style="color: #ff0000;">'cpt-style'</span> <span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>And now the real meat of it. You can see the single-events.php and archive-events.php that make up the two template files I want to use on the front end. What I&#8217;m going to do is create a function that tells WordPress to use my templates for the archive and single pages for the event CPT. That code looks like this:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// force use of templates from plugin folder</span>
<span style="color: #000000; font-weight: bold;">function</span> cpte_force_template<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$template</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> is_archive<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'events'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> WP_PLUGIN_DIR <span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span> plugin_basename<span style="color: #009900;">&#40;</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'/archive-events.php'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> is_singular<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'events'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> WP_PLUGIN_DIR <span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span> plugin_basename<span style="color: #009900;">&#40;</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'/single-events.php'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$template</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'template_include'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cpte_force_template'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>As you can see, I&#8217;ve set up a filter for template_include. I pass in the $template variable and check to see if the page is either an archive or singular event. If so, I override the default template location with the full path and file name of the file inside my plugin folder.</p>
<p>The end result is a fully encapsulated plugin that takes care of the functionality, templates and stylesheet formatting the client requested all in one easy to manage package. Simply install the plugin and activate it and you&#8217;re ready to go! </p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/including-templates-inside-a-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New plugin: Authorize.net SIM Gateway for WP e-Commerce</title>
		<link>http://9seeds.com/news/authorize-net-sim-gateway-for-wp-e-commerce/</link>
		<comments>http://9seeds.com/news/authorize-net-sim-gateway-for-wp-e-commerce/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 18:00:31 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Plugin release]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=943</guid>
		<description><![CDATA[A while back we released the WP Affiliate Manager plugin which integrates directly in to the WP e-Commerce plugin to allow you to easily track and pay affiliates for driving traffic to your site. We have since been keeping an eye on the WP e-Commerce community and when we saw the opportunity to help with [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft  wp-image-944" title="Authorize.net SIM" src="http://9seeds.com/wp-content/uploads/2012/12/authnet-sim-logo.jpg" alt="" width="126" height="94" />A while back we released the WP Affiliate Manager plugin which integrates directly in to the <a href="http://wordpress.org/extend/plugins/wp-e-commerce/">WP e-Commerce</a> plugin to allow you to easily track and pay affiliates for driving traffic to your site. We have since been keeping an eye on the WP e-Commerce community and when we saw the opportunity to help with another plugin, we jumped at the chance.</p>
<p>Today we released a <a href="http://getshopped.org/premium-upgrades/premium-plugin/authorize-net-sim-payment-gateway-for-wordpress/" target="_blank">new payment gateway</a> for WP e-Commerce: Authorize.net Server Integration Method, or SIM for short. From the Authorize.net website:</p>
<blockquote><p>SIM provides a customizable, secure hosted payment form to make integration easy for Web merchants that do not have an SSL certificate.</p></blockquote>
<p>WP e-Commerce has a wide range of payment gateway options available, and we&#8217;re happy to help expand their reach by giving users one more option to choose from.</p>
<p>If you are interested in reading more about how Authorize.net&#8217;s SIM works, you can check out the <a href="http://developer.authorize.net/api/sim/">developer center at Authorize.net</a>.</p>
<p>The plugin is available exclusively through the <a href="http://getshopped.org/premium-upgrades/premium-plugin/authorize-net-sim-payment-gateway-for-wordpress/">GetShopped marketplace</a> and is compatible with the new 3.8.9.x software. And to celebrate the launch, use code <strong>WPECDEC</strong> at checkout to receive 30% off. (discount expires 12/17/12)</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/news/authorize-net-sim-gateway-for-wp-e-commerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stealing math from Wikipedia</title>
		<link>http://9seeds.com/tech/stealing-math-from-wikipedia/</link>
		<comments>http://9seeds.com/tech/stealing-math-from-wikipedia/#comments</comments>
		<pubDate>Mon, 26 Nov 2012 16:00:21 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=889</guid>
		<description><![CDATA[WordPress + Jetpack + LaTeX = Awesome On my personal WordPress website I wrote about an Arduino device I built to help brew beer. &#160;Being my first foray into electronics, I wanted to document my experiences. &#160;One of my difficulties centered around turning electrical values (voltage, resistance) into real-world values (temperature) using math. As part [...]]]></description>
				<content:encoded><![CDATA[<h2>WordPress + Jetpack + LaTeX = Awesome</h2>
<p>On my personal WordPress website I wrote about an <a href="http://www.foell.org/justin/arduino-kegerator/" title="Arduino Kegerator">Arduino device I built to help brew beer</a>. &nbsp;Being my first foray into electronics, I wanted to document my experiences. &nbsp;One of my difficulties centered around turning electrical values (voltage, resistance) into real-world values (temperature) using math.</p>
<p>As part of my documentation, I wanted to re-create some equations that I had found on a Wikipedia page about&nbsp;<a title="Thermistor (Wikipedia)" href="http://en.wikipedia.org/wiki/Thermistor#B_or_.CE.B2_parameter_equation">thermistors</a>. &nbsp;While in the process of grabbing their images and putting them into the media library, I remembered something&#8230;</p>
<p>One time while on the main <a title="Jetpack Plugin" href="http://wordpress.org/extend/plugins/jetpack/">Jetpack</a> screen in the WordPress dashboard, I noticed&nbsp;a tile that advertised &#8220;Beautiful Math.&#8221; &nbsp;So I looked into it. &nbsp;Jetpack has a <a title="LaTeX in WordPress" href="http://en.support.wordpress.com/latex/">LaTeX module</a> that can accomplish this. &nbsp;<a title="LaTeX (Wikipedia)" href="http://en.wikipedia.org/wiki/LaTeX">LaTeX</a> is a rather old-school markup/typesetting language that has been very popular in academia, especially in regards to math.</p>
<p>So Jetpack and LaTeX can do math, but I didn&#8217;t really want to learn a new markup language, I just wanted to quickly copy &amp; paste the equations into my post.</p>
<h2>Good Authors Borrow, Great Authors Steal</h2>
<p>So then I wondered how Wikipedia is storing the images or if they&#8217;re doing something similar. &nbsp;Guess what?!? &nbsp;They use LaTeX too! &nbsp;Putting the same equation into WordPress is as easy as <a href="http://en.wikipedia.org/w/index.php?title=Thermistor&#038;action=edit&#038;section=3" title="Thermistor "Edit" view">clicking &#8220;Edit&#8221; on the Wikipedia page</a> and copying the text between &lt;math&gt; and &lt;/math&gt; and pasting it in-between &#91;latex&#93; and &#91;/latex&#93; in WordPress.</p>
<h3>Native vs. Shortcode formatting Tricks</h3>
<p>Jetpack supports using the <code>&#36;latex &#36;</code> native format instead of the shortcode, but there are a few noted (and undocumented) differences between using the two methods.  For instance, if you want to increase the size of your rendered LaTeX text, you can use the&nbsp;<a title="LaTeX size" href="http://en.support.wordpress.com/latex/#latex-size">s (size) parameter</a> in your LaTeX equation as such:</p>
<p><strong>&#36;latex \LaTeX&amp;s=4&#36;</strong></p>
<p>Where size in this example is &#8220;4.&#8221; &nbsp;However if you try to do this using the shortcode as such:</p>
<p><strong>&#91;latex&#93;&nbsp;\LaTeX&amp;s=4&#91;/latex&#93;</strong></p>
<p>it will render as: <img src="//s0.wp.com/latex.php?latex=%26nbsp%3B%5CLaTeX%26s%3D4&#038;bg=ffffff&#038;fg=000&#038;s=0" alt="&nbsp;&#92;LaTeX&amp;s=4" title="&nbsp;&#92;LaTeX&amp;s=4" class="latex" /> &#8211; Not exactly what you&#8217;d expect <img src='http://9seeds.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   The trick is that the following LaTeX parameters need to be fed in as shortcode parameters:</p>
<ul>
<li><a title="LaTeX size" href="http://en.support.wordpress.com/latex/#latex-size">s (size)</a></li>
<li><a title="LaTeX colors" href="http://en.support.wordpress.com/latex/#latex-colors">bg (background color)</a></li>
<li><a title="LaTeX colors" href="http://en.support.wordpress.com/latex/#latex-colors">fg (foreground / &#8220;text&#8221; color)</a></li>
</ul>
<p>So if you want to have &#8220;LaTeX&#8221; rendered as:</p>
<p><img src="//s0.wp.com/latex.php?latex=%5CLaTeX&#038;bg=ffcccc&#038;fg=cc00ff&#038;s=4" alt="&#92;LaTeX" title="&#92;LaTeX" class="latex" /></p>
<p>You can either do:</p>
<p><strong>&#36;latex \LaTeX&amp;bg=ffcccc&amp;fg=cc00ff&amp;s=4&#36;</strong></p>
<p>or &nbsp;move the size &amp; color parameters into the shortcode tag like this:</p>
<p><strong>&#91;latex bg=ffcccc fg=cc00ff s=4&#93;\LaTeX&#91;/latex&#93;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/stealing-math-from-wikipedia/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some handy tools from the Community Summit</title>
		<link>http://9seeds.com/tech/handy-tools/</link>
		<comments>http://9seeds.com/tech/handy-tools/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 05:55:55 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=911</guid>
		<description><![CDATA[A few weeks back I had the great privilege of attending the WordPress Community Summit. Rather than renting a hotel room by myself, instead I rented a house with 4 other Community Summit attendees; Ryan Imel, Brad Williams, Brandon Dove and Dre Armeda. Not exactly bad company to keep. We figured staying in the same [...]]]></description>
				<content:encoded><![CDATA[<p>A few weeks back I had the great privilege of attending the WordPress Community Summit. Rather than renting a hotel room by myself, instead I rented a house with 4 other Community Summit attendees; <a href="http://twitter.com/ryanimel">Ryan Imel</a>, <a href="http://twitter.com/williamsba">Brad Williams</a>, <a href="http://twitter.com/brandondove">Brandon Dove</a> and <a href="http://twitter.com/dremeda">Dre Armeda</a>. Not exactly bad company to keep. We figured staying in the same house would help keep costs down and would also be a lot of fun. What we hadn&#8217;t really planned on was some of the great knowledge sharing that took place.</p>
<p>One afternoon while we were hanging out in the house, we started talking about some of the handy tools we all use. As the conversation went on, Ryan had the quick sense to open up a Google doc and start taking notes. Below is the list of handy tools we came up with.</p>
<p>Keep in mind, these lists are definitely not all inclusive. We know there are many other text editors and cool apps out there. But these are the ones that are top of mind that day.</p>
<h2>Text editors</h2>
<ul>
<li><a href="http://netbeans.org/">NetBeans</a></li>
<li><a href="http://www.sublimetext.com/2">Sublime Text 2</a></li>
<li><a href="http://www.panic.com/coda/">Coda</a></li>
</ul>
<h2>Mac Apps</h2>
<ul>
<li><a href="http://alfredapp.com">Alfred</a> &#8211; Easily launch applications, sites and perform several other tricks</li>
<li><a href="http://www.cobookapp.com/">CoBook</a> &#8211; Amazingly easy and simple CRM tool</li>
<li><a href="http://drikin.com">Spirited Away</a> &#8211; Hides apps after a set amount of idle time</li>
<li><a href="http://noodlesoft.com/hazel.php">Hazel</a> &#8211; Simple automation tool for dealing with files</li>
<li><a href="http://totalterminal.binaryage.com">Total Terminal</a> &#8211; Formally called Visor, a system wide hotkey for terminal</li>
<li><a href="http://droplr.com">Droplr</a> &#8211; Easy screenshot/text file uploader for sharing</li>
<li><a href="http://www.ettoresoftware.com/products/typeit4me/">TypeIt4Me</a> &#8211; Text expander</li>
</ul>
<h2>Custom Searches for Alfred</h2>
<ul>
<li>http://wordpress.org/extend/plugins/search.php?q={query}<br />
Search the WordPress plugin repo</li>
<li>http://wordpress.org/search/_Reference+{query}<br />
Search wordpress.org for functions, actions, filters, etc</li>
<li>http://demo.studiopress.com/{query}<br />
Quickly load any StudioPress theme demo site</li>
</ul>
<p>If you&#8217;ve got another tool to add to the list, drop it in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/handy-tools/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Converting Blogspot / Blogger to hosted WordPress</title>
		<link>http://9seeds.com/tech/converting-blogspot-blogger-to-hosted-wordpress/</link>
		<comments>http://9seeds.com/tech/converting-blogspot-blogger-to-hosted-wordpress/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 17:00:15 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[blogspot]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=725</guid>
		<description><![CDATA[First Try Migrating your Blogspot or Blogger weblog to a hosted WordPress installation should be easy.  But you may run into some problems along the way, so here are some quick ways to make it less painful. When I first attempted this, I used the Blogger Importer plugin found in the &#8220;Tools&#8221; &#8594; &#8220;Import&#8221; menu [...]]]></description>
				<content:encoded><![CDATA[<h2>First Try</h2>
<p>Migrating your Blogspot or Blogger weblog to a hosted WordPress installation should be easy.  But you may run into some problems along the way, so here are some quick ways to make it less painful.</p>
<p>When I first attempted this, I used the <a title="Blogger Importer" href="http://wordpress.org/extend/plugins/blogger-importer/">Blogger Importer plugin</a> found in the &#8220;Tools&#8221; &rarr; &#8220;Import&#8221; menu of a new WordPress installation.  It went <em>OK</em>.  The importer pulled in all of the posts and the comments, but there seemed to be some extra markup that made it&#8217;s way into the posts.  All of the post titles now started with &#8220;&gt;&#8221;:</p>
<p><code>&gt;Why Hello There!</code></p>
<p>Also, while images in the content seemed to be fine, none of the media was actually imported into WordPress, they were still being hosted on blogspot.com.</p>
<h2>Resetting the WordPress installation to start over</h2>
<p>So now WordPress has a bunch of content that I want to delete so that I can start over and hopefully get it right the next time.  For this I used <a title="WordPres Reset" href="http://wordpress.org/extend/plugins/wordpress-reset/">WordPress Reset</a>.  I was able to use it to remove the (bad) imported content and reset it back to a new installation.  It&#8217;s multi-site friendly and only restored the one site and left all the content from the parent and sibling sites alone &#8211; although I can&#8217;t vouch for what it would do if you ran it on the parent site of a network installation.</p>
<h2>A 2-Step Approach</h2>
<p>Now that I was back to square one it was time for a different approach.  After some reasearch, someone on the <a title="WordPress Support" href="http://wordpress.org/support">WordPress Forums</a> mentioned using <a title="WordPress.com" href="http://wordpress.com">WordPress.com</a> to do the Blogger import, then exporting from WordPress.com as a native WordPress export file (WXR / XML), and import <em>that</em> file into your new WordPress installation.</p>
<h3>Importing Blogspot / Blogger to WordPress.com</h3>
<p>So over at WordPress.com, everything is like a normal WordPress installation, except they have turned it up to 11.  They have powerful servers, and a dedicated staff that make amazing additions to the most popular free plugins &#8211; one of which is the Blogger import.  On WordPress.com you have an additional option to import a Blogger export file:</p>
<p><img class="alignnone size-full wp-image-728" title="blogger-import" src="http://9seeds.com/wp-content/uploads/2012/04/blogger-import.png" alt="" width="674" height="196" /></p>
<p>Rather than authorizing the plugin to get everything from the site, we&#8217;ll export it to a file. Log into your Blogger account. When you&#8217;re logged in and viewing your blog there&#8217;s a &#8220;Design&#8221; link in the upper right menu bar, click that. Once you&#8217;re at the Blogger administration page click the &#8220;Settings&#8221; menu, and then &#8220;Other.&#8221; You will have an option under &#8220;Blog Tools&#8221; to &#8220;Export blog&#8221;:</p>
<p><img class="alignnone size-full wp-image-729" title="blogger-export" src="http://9seeds.com/wp-content/uploads/2012/04/blogger-export.png" alt="" width="657" height="502" /></p>
<p>Take that file and import it into a new WordPress.com site. You&#8217;ll want to make sure that this blog is public (but not necessarily indexed by search engines) as our hosted WordPress installation will need to be able to pull media files from it, but we don&#8217;t want it to wind up on Google, as it&#8217;s only temporary. It might take a while to fully complete, but WordPress.com should bring in all your Posts, Comments, and Media just fine. Once you&#8217;re sure that it&#8217;s done, export the WordPress.com site through the &#8220;Tools&#8221; &rarr; &#8220;Export&#8221; menu, selecting &#8220;All Content.&#8221;</p>
<h3>Importing WordPress.com&#8217;s export into a hosted WordPress site</h3>
<p>Before we begin importing the content from WordPress.com, two things should be changed in the <a title="WordPress Importer" href="http://wordpress.org/extend/plugins/wordpress-importer/">WordPress Importer plugin</a>&#8216;s <tt>wordpress-importer.php</tt> file, which can be done through the plugin editor.</p>
<p>Just so we know when the importer runs into issues, change <tt>IMPORT_DEBUG</tt> to <tt>true</tt>:</p>
<p><code>/** Display verbose errors */<br />
define( 'IMPORT_DEBUG', true );</code></p>
<p>Then to make sure we get everything, find the line that starts with:</p>
<p><tt>$post_exists = post_exists( $post['post_title'], ...</tt></p>
<p>This was on line 539 for me.  Comment it out using slashes:</p>
<p><tt>//$post_exists = post_exists( $post['post_title'], ...</tt></p>
<p>Then just below that line add:</p>
<p><tt>$post_exists = false;</tt></p>
<p>I did this because when WordPress.com imported images from Blogger, it gave them the same name as the post title, So if a post was called &#8220;Why Hello There!&#8221; and it had 5 pictures in it, all 5 pictures also had the title &#8220;Why Hello There!&#8221; This was preventing the importer from getting everything. Plus I already reset the installation, so there&#8217;s no content to duplicate or overwrite anyway. And I reasonably trust that I want to retrieve <em>everything</em> contained in the WordPress.com export file.</p>
<p>Run your import and everything should go smoothly. After you&#8217;ve verified you have everything in your new hosted WordPress installation, you can delete your WordPress.com site or make it private. You may also want to undo the WordPress Importer changes for future imports.</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/tech/converting-blogspot-blogger-to-hosted-wordpress/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Client Spotlight: Joe the Biker</title>
		<link>http://9seeds.com/client-spotlight/client-spotlight-joe-the-biker/</link>
		<comments>http://9seeds.com/client-spotlight/client-spotlight-joe-the-biker/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 17:47:23 +0000</pubDate>
		<dc:creator>sarah</dc:creator>
				<category><![CDATA[Client Spotlight]]></category>
		<category><![CDATA[client project]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=687</guid>
		<description><![CDATA[One of the great things about this line of work is getting the chance to meet folks outside of the realm of tech who do a range of neat things. Joe the Biker is one of those people. It&#8217;s probably not anything you&#8217;d expect from a big, bad biker. In fact, Joe the Biker &#8211; [...]]]></description>
				<content:encoded><![CDATA[<p>One of the great things about this line of work is getting the chance to meet folks outside of the realm of tech who do a range of neat things. Joe the Biker is one of those people.</p>
<p>It&#8217;s probably not anything you&#8217;d expect from a big, bad biker. In fact, Joe the Biker &#8211; aka Joe Wojcik &#8211; is a really nice guy on a mission as a motivational speaker and advocate for kids who are victims of bullying. The passion behind his work stems from his personal struggles being bullied in his childhood, and dealing with the effects of that experience well into his adult years. Joe&#8217;s triumph over those challenges is a valuable lesson that he continuously shares to empower kids and their families, and his online presence serves as an important tool that connects him to the community and those he aims to help.</p>
<p>Unfortunately, keeping his old website current had become an increasingly frustrating task for Joe. He had gone through several iterations of his site and was getting tired of dealing with a webmaster to have updates done. A personal friend of his was kind enough to recommend 9seeds to help Joe find a solution for his website woes.</p>
<p>Joe wanted to be able to modify content on his own, and his old site just wouldn&#8217;t let him do that. He was willing to give WordPress a shot. Since he was generally happy with the look and feel of the old site, we customized a Genesis Child theme to match his existing design. We then moved all of his content over and made some adjustments to his liking. Since Joe was new to WordPress, we set him up with a bit of training and provided him with a number of key instructional videos that he could reference at any time.</p>
<p>Managing the new <a href="http://joethebiker.com">Joe the Biker</a> WordPress site has restored Joe&#8217;s sense of flexibility, and he&#8217;s expressed how happy he is with the end result. Joe recently wrote, &#8220;For the first time in four years I feel a sense of freedom knowing that as my project unfolds I can readily update my site&#8230;&#8221;</p>
<p>We&#8217;re pretty proud to have played a part in enabling Joe to continue spreading his message and make a difference for those who can benefit from his movement. Kudos, Joe!</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/client-spotlight/client-spotlight-joe-the-biker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011 Holiday Schedule</title>
		<link>http://9seeds.com/news/2011-holiday-schedule/</link>
		<comments>http://9seeds.com/news/2011-holiday-schedule/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 20:43:25 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[vacation]]></category>

		<guid isPermaLink="false">http://9seeds.com/?p=685</guid>
		<description><![CDATA[The holiday season is upon us. It&#8217;s time to go hang out with friends and family and look back on an amazing year. December 14th will be our last full day in the office this year. We will be back at our desks digging out from under a mountain of email on January 2nd. Have [...]]]></description>
				<content:encoded><![CDATA[<p>The holiday season is upon us. It&#8217;s time to go hang out with friends and family and look back on an amazing year.</p>
<p>December 14th will be our last full day in the office this year. We will be back at our desks digging out from under a mountain of email on January 2nd.</p>
<p>Have a terrific holiday and we look forward to working with you in 2012.</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://9seeds.com/news/2011-holiday-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
