<?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>Strategy11</title>
	<atom:link href="http://strategy11.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://strategy11.com</link>
	<description>Web Design and Development</description>
	<lastBuildDate>Thu, 09 Jan 2014 20:04:08 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.1</generator>
	<item>
		<title>The search for a membership plugin: Complete!</title>
		<link>http://strategy11.com/membership-plugin-memberpress/</link>
		<comments>http://strategy11.com/membership-plugin-memberpress/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 18:47:21 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://strategy11.com/?p=914</guid>
		<description><![CDATA[We have been working on launching another premium plugin over the last year, but have been held up by one fundamental issue: finding a membership plugin to manage it. Our requirements seemed simple enough, that just about any WordPress plugin should be able to manage<a class="noline" style="display:block;" href="http://strategy11.com/membership-plugin-memberpress/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>We have been working on launching another premium plugin over the last year, but have been held up by one fundamental issue: finding a membership plugin to manage it. Our requirements seemed simple enough, that just about any WordPress plugin should be able to manage it. We need the option to use coupon codes, affiliate integration, protection of multiple digital products, and a simple database structure that won&#8217;t cause grief down the road. We have worked on sites in the past that had to synchronize user data across multiple databases and database tables. This was a huge headache that resulted in several big issues over time. </p>
<p>I purchased, tried, and returned just about every membership plugin I could find. Some of them were even returned without installing them, due to the duplicated user database tables. Some claimed to be WordPress plugins, but were actually standalone products like aMember, with an entirely separate admin area and database structure.</p>
<p>The closest fit we found was s2Member, which is actually free. But I just couldn&#8217;t get excited about it, and never completed the setup. This was about 6 months ago, and I had nearly given up on finding the perfect solution.</p>
<p>Then last week I heard there was a new membership plugin in town from the developer of Pretty Link and Affiliate Royale. They have a 30-day refund policy, so I snagged a <a href="https://www.memberpress.com/strategy11/home">MemberPress</a> license. Before installing, I skeptically peaked under the hood to see the database structure. It&#8217;s perfect! It uses custom post types for almost everything and leaves the user information where it belongs. My excitement grew as I installed and started the setup process. It&#8217;s simple and straightforward, with a cherry on top with Stripe integration.</p>
<p><a href="https://www.memberpress.com/strategy11/home">MemberPress</a> covers all our needs in a perfectly-designed way. We will be paying our $99 per year (limited offer by the way) without thinking twice. Thank you CaseProof!</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/membership-plugin-memberpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video and the web&#8211;a few tips to get you there</title>
		<link>http://strategy11.com/video-and-the-web-waking-up-from-the-nightmare/</link>
		<comments>http://strategy11.com/video-and-the-web-waking-up-from-the-nightmare/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 02:29:50 +0000</pubDate>
		<dc:creator><![CDATA[Steve]]></dc:creator>
				<category><![CDATA[General Web Development]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://strategy11.com/?p=568</guid>
		<description><![CDATA[If you have developed a website in the past few years, chances are you have come across the need to embed video. And chances are it has been a nightmare to get decent quality video that is compatible on the myriad of today&#8217;s browsers and<a class="noline" style="display:block;" href="http://strategy11.com/video-and-the-web-waking-up-from-the-nightmare/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>If you have developed a website in the past few years, chances are you have come across the need to embed video. And chances are it has been a nightmare to get decent quality video that is compatible on the myriad of today&#8217;s browsers and mobile devices. Huge file sizes, video quality, content protection and mobile device compatibility are just a few of the issues that we developers run into when a client asks us to embed video into a website.</p>
<p>Below are a few tips I have learned that allow my grandma who is still using Internet explorer 5, my 5 yr old nephew using his iPod touch, and everyone in between to view embedded video.<br/><br/></p>
<ul>
<li><strong style="color:#fff;">Start with a format that is widely supported</strong>&#8211;H.264 video compression is poised to become the next standard for format of convergence in the digital video industry now supported by Google / YouTube, Adobe, and Apple iTunes.  It contains a number of features that enable it to compress video much more effectively than previous standards, and provides more flexibility for applications across a wide variety of network environments from low bit-rate Internet streaming to HDTV broadcast and Digital Cinema applications with nearly lossless coding.</li>
<li><strong style="color:#fff;">Outsource most of your encoding</strong>&#8211;Video encoding bogs down even the fastest computers and limits your ability to be productive for hours at a time. Instead, use a service like <a href="http://encoding.com">encoding.com</a> to simplify and improve your encodings. With the use of encoding.com I am able to encode about 150-200 encodings of different quality settings in about the same time it would take me to create 3 encodings on my local computer. Another time savings comes from encoding.com&#8217;s ability to place my encoded videos right into my Amazon s3 bucket saving me even more time when I don&#8217;t have to upload all the files myself. Not only does encoding go faster, the quality is great at unbelievable file sizes.</li>
<li><strong style="color:#fff;">Encode wisely</strong>&#8211;Now that you have the resources to make as many encodings as you need, you can make 8 different levels of quality right? You could, but it is unnecessary. I suggest creating a High Def video, a Standard Def video (quality settings and file size should be about half the size of HD) and a &#8220;mobile&#8221; video(480&#215;368 resolution). Using these three quality levels should allow you to accomodate the masses without giving all your profits to Amazon or some other CDN for storage/distribution</li>
<li><strong style="color:#fff;">Let your player do the heavy lifting</strong>&#8211;Flash vs HTML5, HD vs SD, mobile vs desktop. don&#8217;t waste your time figuring out which file to serve which device and whether to use flash or HTML5. There are players out there that do it all for you. I use and love <a href="http://longtailvideo.com">JW Player</a>. I use one set of code to embed my video and the player does the rest. Video works great on my iPhone, iPad and in my browser.</li>
</ul>
<p>I have discovered these tips through living the nightmare of trying to get high-quality video to people all around the world with very different connection speeds.</p>
<p>This is by no means a comprehensive set of instructions on how to get high quality videos on your website, but my hope is it will get you on the right track. The two services I have recommended here (encoding.com and jwPlayer) are both extremely well documented and will be able to answer any questions you may have about implementing their services into your web development regimen.</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/video-and-the-web-waking-up-from-the-nightmare/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Website Analytics now on Steroids</title>
		<link>http://strategy11.com/website-analytics-now-on-steroids/</link>
		<comments>http://strategy11.com/website-analytics-now-on-steroids/#comments</comments>
		<pubDate>Thu, 27 May 2010 21:35:36 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[General Web Development]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=522</guid>
		<description><![CDATA[After spending hours trying to get Google analytics to track a user from first visit to sale, and not ending up with much to show for it other than frustration, we (a co-worker and I) ventured out in search of another solution. I almost signed<a class="noline" style="display:block;" href="http://strategy11.com/website-analytics-now-on-steroids/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>After spending hours trying to get Google analytics to track a user from first visit to sale, and not ending up with much to show for it other than frustration, we (a co-worker and I) ventured out in search of another solution. I almost signed up for Woopra, but I heard it often slows down site performance significantly. An alternative was suggested: <a href="http://getclicky.com">Clicky</a>.</p>
<p>The analytics looked great, and they had a 30-day free trial, so I signed a client up. I spent a large part of the next few days watching the real-time stats, zooming in on Google maps dotted with user IPs, and trying to figure out how Clicky has gone relatively unnoticed for so long (at least by me). Within the week, we slapped down the cash for a paid plan. All $10 of it. Now logging into Google analytics is painful, and I can&#8217;t wait to log back out. I&#8217;m a very cheap person, so I signed up for the 30 days free for my own sites. But even as cheap as I am, I only lasted a week on the free plan before I wanted to track more sites. However, I paid $60 for the whole year instead of the monthly $10.</p>
<p>My favorite feature of Clicky is the &#8220;Spy&#8221; page. It&#8217;s a world map with a dot for every user currently on your site. It updates in real-time as you watch it. You&#8217;ve got to check it out. It lists the pages each user is looking at too, but since this is from a client site, I left out the list of pages. Sorry. My sites don&#8217;t get enough traffic.</p>
<p><img src="http://s11.wpengine.com/wp-content/uploads/2010/05/spy.png" alt="" width="580" height="363" class="aligncenter size-full wp-image-523" /></p>
<p>Beware of setting up the trial, because going back to Google analytics is nearly impossible after the breath of fresh air found in the Clicky tracking. The graphs are a little weak though with limited options, but overall, I&#8217;d highly recommend at least checking out the 30-day trial. There&#8217;s even a <a href="http://wordpress.org/extend/plugins/clicky/">WordPress plugin</a> to make adding the tracking scripts a breeze, and also tracks your commenters by name. I&#8217;m smitten.</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/website-analytics-now-on-steroids/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Official Formidable Pro Release!</title>
		<link>http://strategy11.com/official-formidable-pro-release/</link>
		<comments>http://strategy11.com/official-formidable-pro-release/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 18:40:58 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[Formidable]]></category>
		<category><![CDATA[General Web Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=489</guid>
		<description><![CDATA[Formidable Pro is now available for download. There are lots of great new features with tons more to come. Thanks for your input and support! Get it now!]]></description>
				<content:encoded><![CDATA[<p>Formidable Pro is now available for download. There are lots of great new features with tons more to come. Thanks for your input and support! <a href="http://formidablepro.com">Get it now</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/official-formidable-pro-release/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Formidable Pro Nears Release</title>
		<link>http://strategy11.com/formidable-pro-nears-release/</link>
		<comments>http://strategy11.com/formidable-pro-nears-release/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 18:57:39 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[Formidable]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[My Plugins]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=472</guid>
		<description><![CDATA[Looks like I&#8217;m blowing my own horn here, but I think Formidable is now one of the best free forms plugins available. I think others would agree, when I say it&#8217;ll beat out Contact Form 7 as soon as the HTML is customizable. But for<a class="noline" style="display:block;" href="http://strategy11.com/formidable-pro-nears-release/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>Looks like I&#8217;m blowing my own horn here, but I think Formidable is now one of the best free forms plugins available. I think others would agree, when I say it&#8217;ll beat out Contact Form 7 as soon as the HTML is customizable. But for many who don&#8217;t know HTML, Contact Form 7 may be too complicated, making Formidable better as it is. Hopefully everyone else thinks it&#8217;s as cool as I do&#8230;.</p>
<p>Although it may be arguable either way for the free version, the Pro version will blow it away! I&#8217;ve been working on a <a href="http://mrgrealestate.com">new site</a>, which has shown me how truly awesome Formidable Pro is. A huge portion of the site uses Formidable Pro, although it may be surprising that a form plugin could be so powerful. On this site, all the testimonials, lenders, listings, and team member bios are entered into Formidable Pro forms in the admin, and then displayed using an HTML form entirely for that purpose. The content can either be automatically inserted into the selected page, or used as a shortcode in a post or widget. This form also allows the use of shortcodes for other plugins, which makes the options virtually limitless. Simply add a field to get the data needed for the shortcode (ie Nexgen Gallery ID, Flash Video Player file name), and then nest the shortcodes: [flashvideo file=[video_url]/]. Sweet!</p>
<p>Although that is the feature I&#8217;m currently the most excited about, there are several others that I&#8217;ve never seen in another form plugin. Each form has the option to only be viewed and submitted by logged-in users, limit those users to one entry, make that form editable for them, or even allow multiple editable submissions.</p>
<p>The most original form field can use data from other entries. A drop-down select can be populated with data from entries in another form, creating a link between the two entries. Any field can also be hidden until the user selects a specified option.</p>
<p>I also still have a huge list of features still to be added:</p>
<ul>
<li>Stats and reports for forms used as polls or surveys</li>
<li>More templates</li>
<li>Import/Export entries</li>
<li>Auto Responder for visitors submitting the form</li>
<li>Auto populate lists into drop-down selects (ie states, countries&#8230;)</li>
<li>Select another url to submit the form to</li>
</ul>
<p>I hope to release the Pro version at the end of January with the already completed features, although a few others may make it in by then. </p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/formidable-pro-nears-release/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Page Manage Widget</title>
		<link>http://strategy11.com/page-manage-widget/</link>
		<comments>http://strategy11.com/page-manage-widget/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:30:47 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[Display Widgets]]></category>
		<category><![CDATA[My Plugins]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=466</guid>
		<description><![CDATA[The infamous MaxBlogPress plugins are being removed from the WordPress repository. In order to activate these plugins, users were required to submit their email address for daily spamming. I have rewritten one such plugin. It is still listed in the repository, but if you would<a class="noline" style="display:block;" href="http://strategy11.com/page-manage-widget/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>The infamous MaxBlogPress plugins are being removed from the WordPress repository. In order to activate these plugins, users were required to submit their email address for daily spamming. </p>
<p>I have rewritten one such plugin. It is still listed in the <a href="http://wordpress.org/extend/plugins/page-manage-widget/">repository</a>, but if you would like access to this plugin without the required opt-in, and written in the updated WordPress 2.8 format to make it compatible with my Display Widgets plugin. You can download here.</p>
<p>This is a full featured multiple instance supported page manage widget with configurable options to control parameters like sort options, exclude pages, depth etc features in your sidebar.</p>
<h4>Features</h4>
<ul>
<li>Multiple instance of the widget can be created</li>
<li>Easy to use widget control panel</li>
<li>Multiple pages parameter configuring options</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/page-manage-widget/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Formidable Plugin</title>
		<link>http://strategy11.com/formidable-wordpress-plugin/</link>
		<comments>http://strategy11.com/formidable-wordpress-plugin/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 17:02:17 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[Formidable]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[My Plugins]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=421</guid>
		<description><![CDATA[Create dynamic forms with a simple drag-and-drop interface. Upgrade to Formidable Pro for even more great features. Like it? How about a 5-star rating to spread the love? See Frequently Asked Questions Quickly and easily build forms with a simple drag-and-drop interface and in-place editing.<a class="noline" style="display:block;" href="http://strategy11.com/formidable-wordpress-plugin/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/formidable/"><img src="http://s11.wpengine.com/wp-content/uploads/2009/12/zip_unmount.png" alt="zip_unmount" width="64" height="64" class="alignleft size-full wp-image-512" /></a> Create dynamic forms with a simple drag-and-drop interface. Upgrade to <a href="http://formidablepro.com">Formidable Pro</a> for even more great features. Like it? How about a 5-star rating to spread the love?</p>
<p><a href="http://formidablepro.com/formidable-faqs">See Frequently Asked Questions</a></p>
<p>Quickly and easily build forms with a simple drag-and-drop interface and in-place editing.<br />
There are dozens of form-building plugins out there to create forms, but most are confusing and overly complicated. With Formidable, it is easy to create forms within a simple drag-and-drop interface. You can construct custom forms or generate them from a template. Shortcodes can be used as well as spam catching services.</p>
<h4>Upgrade to Formidable Pro</h4>
<p>Formidable Pro is an upgrade to Formidable with more form fields, flexibility, and power. Learn more at <a href="http://formidablepro.com">http://formidablepro.com</a></p>
<h4>Features</h4>
<ul>
<li>Integrates with WP reCAPTCHA and Akismet for Spam control</li>
<li>Shortcode [ formidable id=x ] for use in pages, posts, or text widgets for WordPress version 2.8 and above.</li>
<li>Alternatively use <code>&lt;?php echo FrmEntriesController::show_form(2, $key = '', $title=true, $description=true); ?&gt;</code> in your template</li>
<li>Customize most HTML when editing the form (code for editing HTML when creating the form is soon to follow&#8230; and documentation too)</li>
<li>Create forms from existing templates or add your own. A contact form template is included.</li>
<li>Direct links available for previews and emailing surveys with and without integration with your current theme. Make these links pretty with Pretty Link integration</li>
<li>Select an email address to send form responses under &#8220;Advanced Form Options&#8221;</li>
<li>Input default values into form fields with the option to clear when clicked</li>
<li>Saves responses to the database for future retrieval, reports, and display in <a href="http://formidablepro.com/" title="Formidable Pro">Formidable Pro</a></li>
<li>PHP ninjas can display data in templates using functions in FrmApiController. However, there is currently no documentation for these functions.</li>
</ul>
<h4>PRO Features</h4>
<ul>
<li>Visual form styling editor. Want to <a href="http://formidablepro.com/customer-service?test=1" title="check it out">check it out</a>?</li>
<li>Additional fields which include page breaks for multiple paged forms, file uploads, section headers, rich text editor, date with calendar, email, phone, website, and a dynamic field populated with data from other entries.</li>
<li>View graphical reports for the form results (replace Google docs surveys)</li>
<li>Add, edit, search, and CSV export entries from the WordPress admin</li>
<li>Make your default values dynamic</li>
<li>Conditionally hide and show fields</li>
<li>Display your gathered data in a page, post, or widget</li>
<li>Import and Export Templates</li>
</ul>
<p><a href="http://formidablepro.com/formidable-changelog">Change Log</a></p>
<p><a href="http://wordpress.org/extend/plugins/formidable/">Download now</a></p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/formidable-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monetize Your WordPressMU Site</title>
		<link>http://strategy11.com/monetize-your-wordpressmu-site/</link>
		<comments>http://strategy11.com/monetize-your-wordpressmu-site/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 18:19:52 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Membership Software]]></category>
		<category><![CDATA[Pretty Link]]></category>
		<category><![CDATA[WPMU]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=361</guid>
		<description><![CDATA[I&#8217;ve been looking for a way to monetize a WordPressMU site, and have come down to two options: make it a membership site and/or use applicable affiliate links. Subscription sites are getting more and more common as time goes by. There are many sites making<a class="noline" style="display:block;" href="http://strategy11.com/monetize-your-wordpressmu-site/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been looking for a way to monetize a WordPressMU site, and have come down to two options: make it a membership site and/or use applicable affiliate links. </p>
<p>Subscription sites are getting more and more common as time goes by. There are many sites making big bucks off of mass quantities of tiny subscriptions. However, there are also many sites that never make it off the ground because they can&#8217;t get users to pay for their content or service. The only way I&#8217;ve found of knowing what will work is by trying it. </p>
<p>I&#8217;ve done a lot of research and testing in the last couple of weeks, in search of a good membership management application or WordPress plugin. Most of the subscription plugins out there are intended to hide and show premium content, but I&#8217;d like to monetize a service not the content. I started with aMember, then tried several WordPress plugins, and have gone full circle, concluding that aMember is the best solution for my needs. If I weren&#8217;t using BuddyPress, Wishlist Member would have been my final selection. Although I was unable to thoroughly test all of the following options, they are all rumored to work with WPMU.</p>
<ul>
<li><strong>aMember.</strong> A full-featured, well-supported membership management application.<br />
<strong>Price</strong>: $179.95 for single license<br />
<strong>Payment gateways</strong>: You name it, they&#8217;ve most likely got it.</p>
<p><strong>Pros</strong>:  Tons of payment gateway options that can be integrated siply and quickly by checking the boxes and inputting access keys. 30-day money back return policy. Supports custom plugins.<br />
<strong>Cons</strong>: Integrating into WPMU requires PHP knowledge and skinning can be a pain. <a href="/how-to-quickly-integrate-amember-and-wordpressmu">Here</a> is the way I got these two applications to play nicely together.
</li>
<li><strong>WishList Member.</strong> An easily integrated WordPress plugin.<br />
<strong>Price</strong>: $97 single/$297 multiple<br />
<strong>Payment gateways</strong>: PayPal (but not Sandbox), Click Bank, 1ShoppingCart, and Cydec</p>
<p><strong>Pros</strong>: It&#8217;s a WordPress plugin, so integration is fast and simple with very little extra styling. 30-day money back guarantee. It works in WPMU although the authors don&#8217;t officially support it.<br />
<strong>Cons</strong>: Doesn&#8217;t work with BuddyPress. Integration still required the creation of payment buttons with the payment processor. Code encryption makes any customizations impossible.</li>
<li><strong>Your Members plugin.</strong> There is currently a beta version of Your Members available for WordPressMU. While in beta, $800 will allow each MU blog to hide specified content from any users who don&#8217;t have the specified membership. I haven&#8217;t testing this plugin out because of the price, which will only be increasing, but it looks like a great option for content-driven sites.<br />
<strong>Price</strong>: $800<br />
<strong>Payment gateways</strong>: PayPal, Click Bank</p>
<p><strong>Pros</strong>: Built specifically for WPMU.<br />
<strong>Cons</strong>: The price makes it difficult to try it out since I&#8217;m a tightwad, and the feature documentation is very limited at this point.</li>
<li><strong><a href="http://wp-member.com" target="blank">WP-Member</a>.</strong> I have heard that WP-Member has out-of-the-box WPMU capabilities, but was unable to test it. After several hours of attempting to get IceCube encryption to work on my server, I was unable to even activate the plugin.<br />
<strong>Price</strong>: $44.99 single/$77.57 2 sites/up to $196.00 10 sites<br />
<strong>Payment gateways</strong>: PayPal</p>
<p><strong>Pros</strong>: It&#8217;s cheap. I used a promo code (save50) and got 50% off for a grand total of $22.50. No need to create buttons from PayPal. Frequent sale prices.<br />
<strong>Cons</strong>: IonCube Encryption. The plugin authors have very stiff and somewhat unfriendly-sounding terms: &#8220;We <strong>do not offer refunds</strong> as there are no reasons why any software we sell should not work.&#8221; The WP-Member website sound effects and animations are way overdone.</li>
</ul>
<p>Affiliate sales are a relatively pain-free alternative to setting up a membership site or even a supplemental revenue source. To get started with affiliate sales, follow the steps below:</p>
<ol>
<li><strong>Sign up</strong> with LinkShare for larger company listings, or ClickBank or ShareASale for smaller ones. I was surprised to see that companies like Nordstrom and iTunes have affiliate programs.</li>
<li><strong>Apply with any applicable affiliates.</strong> NetFlix has a sweet affiliate program. They offer $16 per free signup that comes through your affiliate link. Sadly, they review affiliate applications very carefully for site with applicable content. They rejected my application. <img src="http://strategy11.com/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /> </li>
<li><strong>Place links and banners on your site.</strong> The built-in text widget is great for affiliate banners. Or just replace/add links across your site.</li>
<li><strong>Organize and Disguise your links.</strong> Use the free Pretty Link plugin for WordPress to shorten, disguise, track, and organize your affiliate links. Replace any links in your banners with your new &#8220;pretty link&#8221;. If you&#8217;d like more time-saving automation like keyword/url replacement and auto tweets, Pretty Link Pro is well worth the $97. New features are also being continuously added to the premium version of this plugin.</li>
<li>Watch the commissions roll in. Wahoo!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/monetize-your-wordpressmu-site/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Quickly Integrate aMember and WordPressMU</title>
		<link>http://strategy11.com/how-to-quickly-integrate-amember-and-wordpressmu/</link>
		<comments>http://strategy11.com/how-to-quickly-integrate-amember-and-wordpressmu/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 17:17:23 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Membership Software]]></category>
		<category><![CDATA[WP How Tos]]></category>
		<category><![CDATA[WPMU]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=321</guid>
		<description><![CDATA[AMember is a membership management application that can be integrated with many popular projects, including WordPress. However, I have found very little support for WPMU in the realm of member management software. I haven&#8217;t tried out many of the WordPress plugins, because I&#8217;m just not<a class="noline" style="display:block;" href="http://strategy11.com/how-to-quickly-integrate-amember-and-wordpressmu/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<p>AMember is a membership management application that can be integrated with many popular projects, including WordPress. However, I have found very little support for WPMU in the realm of member management software. I haven&#8217;t tried out many of the WordPress plugins, because I&#8217;m just not willing to fork over the cash to see if I can hack it enough to make it WPMU compatible. If anyone already has a popular paid plugin (ie Your Members, WP-member&#8230;), I&#8217;d be happy to take a swing at it. </p>
<p>I chose to start with aMember because I&#8217;ve already had experience writing aMember plugins. Before I started into a new aMember plugin for WordPressMU and BuddyPress, I did a quick Google search in hopes of finding the code was already written. Instead, I found a mass of disappointed and frustrated developers and managers. So I resorted to an entirely different method than other aMember plugins use. I simply incorporated all the base WordPress code into aMember, which gave me access to the WordPress hooks and functions. However, renaming two functions in aMember is required in order for this method to work. Although editing core code is not recommended, in this case I found it worth the time and headache it saved.</p>
<p><b>Step 1: Call the WordPress code.</b><br />
Add these lines at the beginning of aMember&#8217;s config.inc.php:<br />
<code><br />
if ( !defined( 'ABSPATH' ) &amp;&amp; !defined( 'XMLRPC_REQUEST' )) {<br />
    define( 'WP_USE_THEMES', false );<br />
    include_once( '/absolute/path/wordpress/wp-config.php' );<br />
    $wp-&gt;init();<br />
    $wp-&gt;register_globals();<br />
    remove_action('init', 'wp_widgets_init');<br />
}</code><br />
You will need to replace &#8216;/absolute/path/wordpress/wp-config.php&#8217; with the absolute path to that file.</p>
<p><b>Step 2: Rename duplicate functions.</b><br />
<b>UPDATE: This change has been made to the aMember core files as of version 3.2.0 (Aug-25-2010)</b><br />
So far, I have come across two duplicate function/class names: validate_email and PHPMailer. I changed validate_email to validate_amember_email in three places: amember/admin/config.inc.php line 830, amember/admin/config_email.inc.php lines 239 and 245. It is also referenced in three default payment plugins that should be changed if you are using them: moneybookers, nochex, and stormpay. I changed PHPMailer to PHPMailerA on line 21 of amember/includes/phpmailer/class.phpmailer.php, line 62 of amember/admin/email_test.php, and line 1284 of amember/common.inc.php</p>
<p><b>Step 3: Add a Blog Title field to the aMember signup page</b><br />
This is referenced below as $member['data']['blog_title']</p>
<p><b>Step 4: Write your aMember plugin</b><br />
Many of my functions are customized, so the ones listed here may not work for everyone. I didn&#8217;t take the time to add admin options either. I only tested this using subdomains. NOTE: not all functions are listed.<br />
<code><br />
function subscription_added($member_id, $product_id, $member){<br />
  global $db, $wpdb;<br />
  $product = get_product($product_id);<br />
  if (!$product-&gt;config['wpmu_access'] and !$product-&gt;config['wpmu_level']) return;<br />
  $id = $wpdb-&gt;get_var("SELECT ID FROM $wpdb-&gt;users WHERE user_login = '$db-&gt;escape($member[login])'");<br />
  if (!$id){  //user not exists<br />
    $id = wpmu_create_user( $member['login'], $member['pass'], $member['email']);<br />
    update_usermeta($id, 'first_name', $member['name_f']);<br />
    update_usermeta($id, 'last_name', $member['name_l']);<br />
    //add blog<br />
    if ($member['data']['blog_title'] != '' ){<br />
      $blog_id = add_the_blog($id, $member['data']['blog_title']);<br />
      //wpmu_welcome_notification($blog_id, $id, $member['pass'], $member['data']['blog_title']);<br />
    }else{<br />
      //wpmu_welcome_user_notification($id, $member['pass']);<br />
      if ( get_site_option( 'dashboard_blog' ) == false )<br />
         add_user_to_blog( '1', $id, get_site_option( 'default_user_role', 'subscriber' ) );<br />
      else<br />
        add_user_to_blog( get_site_option( 'dashboard_blog' ), $id, get_site_option( 'default_user_role', 'subscriber' ) );<br />
      add_new_user_to_blog( $id, $member['email'] );<br />
      do_action('wpmu_activate_user', $id, $member['pass']);<br />
    }<br />
  }else{<br />
    $user = '';<br />
    $user-&gt;ID = $id;<br />
    $user-&gt;user_email = esc_html( trim( $member['email'] ));<br />
    $user-&gt;first_name = esc_html( trim( $member['name_f'] ));<br />
    $user-&gt;last_name = esc_html( trim( $member['name_l'] ));<br />
    $user-&gt;user_pass = esc_html( trim( $member['pass'] ));<br />
    wp_update_user( get_object_vars( $user ));<br />
  }<br />
}</p>
<p>function add_the_blog($user_id,$title){<br />
    global $wpdb;<br />
    $primary_blog = get_usermeta($user_id, 'primary_blog');<br />
    switch_to_blog($primary_blog);<br />
    $primary_blog_role = get_usermeta($user_id, $wpdb-&gt;prefix . 'user_level');<br />
    if ($primary_blog == 1 || $primary_blog_role  $description, 'lang_id' =&gt; 1, 'blog_public' =&gt; 1, 'public' =&gt; 1) );<br />
        $blog_title = substr( strip_tags( $title ), 0, 50 );<br />
        $blog_domain = get_unique_domain($blog_title);<br />
        $blog_id = wpmu_create_blog($blog_domain, '/', $blog_title, $user_id, $meta, 1);<br />
    }<br />
    restore_current_blog();<br />
return $blog_id;<br />
}</p>
<p>function get_unique_domain($blogname){<br />
  global $wpdb, $domain, $base;<br />
  $blogname = preg_replace( "/s+/", '', sanitize_user( $blogname, true ) );<br />
  $blogname = sanitize_title($blogname);<br />
  $blogname = apply_filters( "newblogname", $blogname );<br />
  $illegal_names = get_site_option( "illegal_names" );<br />
  $mydomain = "$blogname.$domain";<br />
  if (domain_exists($mydomain, $base) || in_array( $blogname, $illegal_names ) == true || strlen( $blogname ))<br />
    escape($oldmember['login']);<br />
  $id = $wpdb-&gt;get_var("SELECT ID FROM $wpdb-&gt;users WHERE user_login = '$old_login'");<br />
  $user = '';<br />
  $user-&gt;ID = $id;<br />
  $user-&gt;user_email = esc_html( trim( $newmember['email'] ));<br />
  $user-&gt;first_name = esc_html( trim( $newmember['name_f'] ));<br />
  $user-&gt;last_name = esc_html( trim( $newmember['name_l'] ));<br />
  $user-&gt;user_pass = esc_html( trim( $newmember['pass'] ));<br />
  wp_update_user( get_object_vars( $user ));<br />
}</p>
<p>function subscription_removed($member_id, $member){<br />
  global $db, $wpdb;<br />
  $login = $db-&gt;escape($member['login']);<br />
  $id = $wpdb-&gt;get_var("SELECT ID from $wpdb-&gt;users WHERE user_login = '$login'");<br />
  require_once(ABSPATH . 'wp-admin/includes/mu.php');<br />
  wpmu_delete_user($id);<br />
}</p>
<p>function subscription_check_uniq_login($login, $email, $pass){<br />
  global $db, $wpdb;<br />
  $login = $db-&gt;escape($login);<br />
  $q = $wpdb-&gt;get_row("SELECT user_pass, user_email FROM $wpdb-&gt;users WHERE user_login = '$login'");<br />
  $user_pass = $q-&gt;user_pass;<br />
  $user_email = $q-&gt;user_email;<br />
  if (!$user_pass &amp;&amp; !$user_email) return true;<br />
  $user_name = preg_replace( "/s+/", '', sanitize_user( $login, true ) );<br />
  if ( username_exists($user_name) )<br />
    return false;</p>
<p>  // Check if the email address has been used already.<br />
  if ( email_exists($email) )<br />
    return false;</p>
<p>  if ($user_email != $email)<br />
    return false;<br />
  else<br />
    return true;<br />
}</p>
<p>function after_login($user){<br />
  $credentials = array();<br />
  $credentials['user_password'] = $user['pass'];<br />
  $credentials['user_login'] = $user['login'];<br />
  $credentials['remember'] = false;<br />
  wp_signon( $credentials);<br />
}</p>
<p>function after_logout(){<br />
  wp_logout();<br />
}<br />
</code></p>
<p><b>Step 5: Make users sign in through aMember</b><br />
The default BuddyPress theme has a login form in the header.php. I modified the form to submit to aMember. The variables at the top are for testing puposes. The commented out variables were the ones there by default.<br />
<code><br />
&lt;?php if ( !is_user_logged_in() ) : ?&gt;<br />
  &lt;?php $login_name = 'amember_login'; // 'log'<br />
    $login_id = 'a_login'; //'user_login<br />
    $pw_name = 'amember_pass'; //'pwd'<br />
    $pw_id = 'a_password'; //'user_pass'<br />
    $submit_id = 'amembersubmit'; //'wp-submit'<br />
  ?&gt;<br />
  &lt;form name="login-form" id="login-form" action="/payments/login.php" method="post"&gt;<br />
    &lt;input type="text" name="&lt;?php echo $login_name ?&gt;" id="&lt;?php echo $login_id ?&gt;" value="&lt;?php _e( 'Username', 'buddypress' ) ?&gt;" onfocus="if (this.value == '&lt;?php _e( 'Username', 'buddypress' ) ?&gt;') {this.value = '';}" onblur="if (this.value == '') {this.value = '&lt;?php _e( 'Username', 'buddypress' ) ?&gt;';}" /&gt;<br />
    &lt;input type="password" name="&lt;?php echo $pw_name ?&gt;" id="&lt;?php echo $pw_id ?&gt;" class="input" value="" /&gt;<br />
    &lt;input type="submit" name="&lt;?php echo $submit_id ?&gt;" id="&lt;?php echo $submit_id ?&gt;" value="&lt;?php _e( 'Log In', 'buddypress' ) ?&gt;"/&gt;<br />
    &lt;?php if ( 'none' != bp_get_signup_allowed() &amp;&amp; 'blog' != bp_get_signup_allowed() ) : ?&gt;<br />
      &lt;input type="button" name="signup-submit" id="signup-submit" value="&lt;?php _e( 'Sign Up', 'buddypress' ) ?&gt;" onclick="location.href='&lt;?php echo bp_signup_page() ?&gt;'" /&gt;<br />
    &lt;?php endif; ?&gt;<br />
    &lt;input type="hidden" name="redirect_to" value="&lt;?php echo bp_root_domain() ?&gt;" /&gt;<br />
    &lt;input type="hidden" name="testcookie" value="1" /&gt;<br />
    &lt;?php do_action( 'bp_login_bar_logged_out' ) ?&gt;<br />
  &lt;/form&gt;</p>
<p>&lt;?php else : ?&gt;<br />
  &lt;div id="logout-link"&gt;<br />
    &lt;?php bp_loggedin_user_avatar( 'width=20&amp;height=20' ) ?&gt; &nbsp; &lt;?php bp_loggedinuser_link() ?&gt; / &lt;?php bp_log_out_link() ?&gt;<br />
    &lt;?php do_action( 'bp_login_bar_logged_in' ) ?&gt;<br />
  &lt;/div&gt;<br />
&lt;?php endif; ?&gt;<br />
</code></p>
<p>I also added a short WordPress plugin to redirect to the aMember login page for those who bypass the first login form displayed above, as well as replace the logout link sitewide. This is a sloppy version. You will need to replace the urls with the correct urls for your aMember setup. Don&#8217;t forget to add your admin user through aMember before activating the following code. Otherwise you will not be able to log in.<br />
<code><br />
function switch_wp_to_amember_logout_url($logout_url, $redirect){<br />
    $logout_url = get_blog_option(1,'siteurl').'/payments/logout.php';<br />
    return $logout_url;<br />
}<br />
add_filter('logout_url', 'switch_wp_to_amember_logout_url', 10, 2);</p>
<p>function redirect_to_amember_login(){<br />
    if ($_SERVER["PHP_SELF"] == '/wp-login.php')<br />
        wp_redirect(get_blog_option(1,'siteurl').'/payments/member.php');<br />
}<br />
add_action('init','redirect_to_amember_login');<br />
</code></p>
<p><b>Step 6: Disable WPMU registrations</b><br />
Make sure users sign up through aMember. In WPMU, go to Site Admin-&gt;Options, and set registrations to disabled. Make sure to add a new registration link to your aMember signup page.</p>
<p>The above steps have gotten aMember working well for me, but come with no guarantees. You can add more fields to the signup form or modify this code to whatever fits your needs. I also added the BuddyBar to my aMember template.</p>
<p>After spending two days writing this code, I came across a WordPress plugin called WishList Member. Word on the street is that it will do everything that aMember can, but in the form of a plugin to make setup, maintenance, and development much simpler, faster, and seamless. I will be testing it out today. Stay tuned for the results.</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/how-to-quickly-integrate-amember-and-wordpressmu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>9 Reasons Why Thesis Rocks Other WordPress Themes</title>
		<link>http://strategy11.com/9-reasons-why-thesis-rocks-other-wordpress-themes/</link>
		<comments>http://strategy11.com/9-reasons-why-thesis-rocks-other-wordpress-themes/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:10:29 +0000</pubDate>
		<dc:creator><![CDATA[Steph]]></dc:creator>
				<category><![CDATA[General Web Development]]></category>
		<category><![CDATA[Thesis]]></category>
		<category><![CDATA[WP How Tos]]></category>

		<guid isPermaLink="false">http://blog.strategy11.com/?p=138</guid>
		<description><![CDATA[Update: Thesis no longer rocks We are no longer Thesis advocates, and in fact strongly dislike it now. Our dislike started with a mass change of the HTML classes and IDs, which was a huge ordeal since the styling settings in the admin settings are<a class="noline" style="display:block;" href="http://strategy11.com/9-reasons-why-thesis-rocks-other-wordpress-themes/"> Read Full Article &#8594;</a>]]></description>
				<content:encoded><![CDATA[<h4>Update: Thesis no longer rocks</h4>
<p style="font-size:16px;">We are no longer Thesis advocates, and in fact strongly dislike it now. Our dislike started with a mass change of the HTML classes and IDs, which was a huge ordeal since the styling settings in the admin settings are just enough to make things more difficult, but not enough to actually make your site look nice. Our dislike continues to grow as we deal with their issues and bad coding as we support Formidable Pro, and they refuse to correct those issues. For example, if you add multiple custom post types, Thesis forces a position in the top menu section and makes other menu items disappear. Awesome Chris, awesome.</p>
<div class="clear"></div>
<hr/>
<p>There are thousands of WordPress themes, both paid and free. Some are pretty, some aren&#8217;t. Some are functional, some aren&#8217;t. Some just plain suck and require lots of work to get working right. I started using Thesis because I was told to for a project and didn&#8217;t really understand why others thought it was so cool. Now the more I use it, the more I like it, and the more I wonder why I can&#8217;t find any other themes that get it right.<br />
<i>Tip: Click the options screen shots for a larger image.</i></p>
<ol>
<li><strong>Strong SEO capabilities.</strong> <img src="hhttp://s11.wpengine.com/wp-content/uploads/2009/09/seo-options-276x300.png" alt="seo-options" width="276" height="300" class="alignright size-medium wp-image-168" /> There should only be one h1 tag per page with h2 subheadings in order for Google to index your site correctly.  Very few WordPress themes do this correctly. For higher search engine rankings, the less code in your pages, the better. Add this one to the list of SEO practices Thesis does well. There are also many built-in SEO options that replace the need for All in One SEO Pack plugin.</li>
<li class="clear"><strong>Sweet comment template with great ping features.</strong> You&#8217;re lucky to get a comment template with most WordPress themes.  Not only does Thesis sport a comment template, but it also does it well by incorporating avatars, allowing pings on pages as wells as posts, and displaying them well. I like the way Thesis has given pings meaning by listing the post title <img src="http://s11.wpengine.com/wp-content/uploads/2009/09/pings-300x203.png" alt="pings" width="300" height="203" class="alignright size-medium wp-image-173 frame" /> from which the ping  originated instead of simply &#8220;[...] Display Widgets [...]&#8221; or something along those lines. I thought pings were a waste of space until I saw the way Thesis approaches them.</li>
<li><strong>Amazing Cross-browser Compatibility.</strong> Thesis HTML and CSS is very well written. Even after applying my own skins, my sites still look good in other browsers, potentially saving hours of time with Internet Explorer.</li>
<li class="clear"><strong>Widgitized Sidebar functionality.</strong> <img src="http://s11.wpengine.com/wp-content/uploads/2009/09/multimedia-box.png" alt="multimedia-box" width="287" height="300" class="alignleft size-medium wp-image-166 attachment-single-post-thumbnail" />  Many themes either fail to allow widgets in the sidebars or hard-code extra junk that requires editing the code. The built-in Thesis multimedia box is great for images, video, or HTML (adds, links, etc.), which can be defined on each page or post.  However, there isn&#8217;t any flexibility for adding extra sidebars to vary the widgets from page to page. This is where the Display Widgets WordPress plugin proved its necessity.</li>
<li class="clear"><strong>Built-in WordPress options work!</strong> There are so many times that I select an option in the admin settings that aren&#8217;t reflected in the theme: show avatars, allow comments and pings&#8230;. With Thesis, they all work. What a pleasant surprise.</li>
<li><img src="http://s11.wpengine.com/wp-content/uploads/2009/09/Post-Thumbnails-300x239.png" alt="Post Thumbnails" width="255" height="195" class="alignleft size-medium wp-image-191 frame attachment-single-post-thumbnail" /> <img src="http://s11.wpengine.com/wp-content/uploads/2009/09/thumbnail-screenshot-229x300.png" alt="post-image" width="165" height="217" class="alignright size-small wp-image-167" style="margin-left:0"><strong>Hot post thumbnails</strong>. Not only is the behind-the-scenes functionality cool, but also the front-end skin. I really like the thumbnails that show up on the excerpt version of the posts. They are even automatically resized and cropped for quicker load times.  </li>
<li class="clear"><strong>Extensive Byline Options</strong>.<img src="http://s11.wpengine.com/wp-content/uploads/2009/09/post-options-150x150.png" alt="post-options" width="150" height="150" class="alignright size-thumbnail wp-image-256" /> Easily add or remove author name, post tags, categories, dates, and comment counts from the page and post bylines. I&#8217;ve tried using many themes that either omit some of this info, or add it to pages as well as posts with no simple way to remove it.</li>
<li><strong>Options galore</strong>. Not only is Thesis equipped with the options described above, but it is also characterized by many others: customize the &#8220;Read More&#8221; link, show excerpts, teasers, or titles only on archive pages, select 1, 2, or 3 column layouts and specify width and position of each, and designate fonts and font sizes in various locations throughout your site.</li>
<li><strong>Fully Customizable Skin</strong>. Like this site? It uses Thesis. Thesis includes an extensive API, so those familiar with PHP and CSS can be virtually unlimited by skinning barriers. For those unfamiliar with PHP, in the near future, we (Strategy11) will be selling Thesis skins. In the meantime, we can create a custom Thesis skin for your site for $2000. If you have your own design you would like implemented, we will incorporate most designs into Thesis for $800. Designs we have implemented into Thesis include: <a href="http://whitecapinstitute.com">WhiteCap Institute</a> and <a href="http://candeocan.com">Candeo</a>.</li>
</ol>
<p>Although in my experience, the benefits of using Thesis have far outweighed its constraints, in some cases these drawbacks may make Thesis unusable for certain applications. Thesis will work in WordPressMU, but not across more than one blog. If an option is changed for one blog, it is changed on all others using the same Thesis theme. However, this can be overcome by copying and renaming your Thesis folder and only activating each copy for one blog. The nav is easily reordered if using only traditional page links, but if an additional link or category is added its order is inflexible.</p>
<p>If you still need more reasons to use Thesis, check out <a href="http://blairwilliams.com/10-hidden-problems-wordpress-themes/">this post</a> for more SEO-related explanations.</p>
]]></content:encoded>
			<wfw:commentRss>http://strategy11.com/9-reasons-why-thesis-rocks-other-wordpress-themes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
