<?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>WP Ninjas</title>
	
	<link>http://wpninjas.net</link>
	<description />
	<lastBuildDate>Wed, 16 May 2012 20:01:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wpninjas" /><feedburner:info uri="wpninjas" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>wpninjas</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/wpninjas" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fwpninjas" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>My Favorite Social Network: Google+</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/f6YOIYFAHxM/</link>
		<comments>http://wpninjas.net/technology/my-favorite-social-network-google/#comments</comments>
		<pubDate>Mon, 14 May 2012 17:27:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2194</guid>
		<description><![CDATA[I unintentionally took last week off from posting. I guess I git a little caught up in my various projects that it slipped my mind. I hope to get back on track this week but before I do I thought I wouldContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>I unintentionally took last week off from posting. I guess I git a little caught up in my various projects that it slipped my mind. I hope to get back on track this week but before I do I thought I would direct your attention to a guest post I wrote for <a href="http://area2oh3.com/">http://area2oh3.com/</a>. They&#8217;ve started a series this week called, &#8220;My Favorite Social Network&#8221; and I offered my two cents on Google+. Check it out at the link below and be sure to leave a comment there is you can.</p>
<p><a title="My Favorite Social Network: Google+" href="http://area2oh3.com/favorite-social-network-googleplus/">My Favorite Social Network: Google+</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=f6YOIYFAHxM:-7qaTrnF7Ek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=f6YOIYFAHxM:-7qaTrnF7Ek:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/f6YOIYFAHxM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/technology/my-favorite-social-network-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/technology/my-favorite-social-network-google/</feedburner:origLink></item>
		<item>
		<title>Easily add text to post title based on category</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/GiqId1RAd8M/</link>
		<comments>http://wpninjas.net/quick-tip/easily-add-text-to-post-title-based-on-category/#comments</comments>
		<pubDate>Fri, 04 May 2012 13:05:21 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2180</guid>
		<description><![CDATA[Have you ever wanted to add a little specification to your post titles if they were in a certain category. For instance this post. I have it filed under &#8220;Quick Tip&#8221;. What if I wanted to add the text &#8220;QuickContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to add a little specification to your post titles if they were in a certain category. For instance this post. I have it filed under &#8220;Quick Tip&#8221;. What if I wanted to add the text &#8220;Quick Tip:&#8221; in front of every post in that category. It&#8217;s pretty simple.</p>
<pre class="brush: php; title: ; notranslate">

add_filter( 'the_title', 'my_modify_title', 10, 2 );
function my_modify_title( $title, $id ) {
   if( in_category( 'Quick Tip', $id ) ) {
      $title = '&lt;span class=&quot;quick-tip&quot;&gt;Quick Tip:&lt;/span&gt; ' . $title;
   }
   return $title;
}
</pre>
<p>Add this code to your site functionality plugin and change it for your particular category and you are all set. I even wrapped the added text in a span in case you wanted to style it to make it stand out.</p>
<p>One thing to keep in mind. You can do an if/else in here to do this for several categories if you like but it certainly works best if you are assigning one category per post. Otherwise it will simply use the first match.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=GiqId1RAd8M:MOnWYvamvs4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=GiqId1RAd8M:MOnWYvamvs4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/GiqId1RAd8M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/quick-tip/easily-add-text-to-post-title-based-on-category/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/quick-tip/easily-add-text-to-post-title-based-on-category/</feedburner:origLink></item>
		<item>
		<title>How to modify the main WordPress query the right way</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/IE5WARBSA5U/</link>
		<comments>http://wpninjas.net/tutorials/how-to-modify-the-main-wordpress-query/#comments</comments>
		<pubDate>Tue, 01 May 2012 12:01:31 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2142</guid>
		<description><![CDATA[Have you ever wanted to tweak what content WordPress served up on a particular portion of your website? Perhaps on your home page instead of the default 10 posts you only want to show 3 or maybe you want toContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to tweak what content WordPress served up on a particular portion of your website? Perhaps on your home page instead of the default 10 posts you only want to show 3 or maybe you want to exclude a particular category.</p>
<p>When I started in WordPress, and still even now, the way most people do it is by editing the WordPress loop in your themes template files. It&#8217;s usually done by adding a call to the <code>query_posts</code> function and a few arguments right before the <code>while</code> portion of the loop. There are a couple problems with this method though.</p>
<ol>
<li>It doesn&#8217;t support pagination</li>
<li>You have to edit every template file where you want to modify the query</li>
</ol>
<p>This makes this method a poor choice. Lot&#8217;s of themes and plugins use pagination and it&#8217;s great way to navigate your posts. Why break it? Also, anytime you upgrade your theme you will overwrite your changes. You could just copy those templates into a child theme but if you are going to copy all the structure over to a child theme, it&#8217;s not really a child theme anymore.</p>
<p>So what if I told you there was a much easier and cleaner way of doing this?</p>
<p><span id="more-2142"></span></p>
<h2>Introducing pre_get_posts</h2>
<p>With <code>pre_get_posts</code> you can modify the main query anywhere on your site without ever touching a single file within your theme and pagination will continue to work as expected. <code>pre_get_posts</code> is an action hook that is called after the query variable object is created, but before the actual query is run. This means your changes are directly to the object itself and not during run time which offers a lot more control and flexibility.</p>
<p>Here is a sample of how it works. Comments are in the code.</p>
<pre class="brush: php; title: ; notranslate">

// My function to modify the main query object
function my_modify_main_query( $query ) {
   if ( $query-&gt;is_home ) { // Run only on the homepage
      $query-&gt;query_vars['cat'] = -2; // Exclude my featured category because I display that elseware
      $query-&gt;query_vars['posts_per_page'] = 5; // Show only 5 posts on the homepage only
   }
}
// Hook my above function to the pre_get_posts action
add_action( 'pre_get_posts', 'my_modify_main_query' );
</pre>
<p>Pretty simple, right? Just place your own version of this code in a <a title="How to Create a WordPress Plugin" href="http://wpninjas.net/tutorials/how-to-create-a-wordpress-plugin/">site functionality plugin</a> or your child themes <code>functions.php</code> file and you&#8217;re done.</p>
<p>You can test for any condition you normally would and modify the query object directly for lean and mean content. For more info on this action and a more complete look at the object you are going to be modifying <a title="pre_get_posts" href="http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts">check out the WordPress Codex</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=IE5WARBSA5U:P1vNAUBEGiw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=IE5WARBSA5U:P1vNAUBEGiw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/IE5WARBSA5U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/tutorials/how-to-modify-the-main-wordpress-query/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/tutorials/how-to-modify-the-main-wordpress-query/</feedburner:origLink></item>
		<item>
		<title>Google Drive – Almost there</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/84fZZAanXPw/</link>
		<comments>http://wpninjas.net/technology/google-drive-almost-there/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 14:55:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2135</guid>
		<description><![CDATA[This is not like our usual posts. It&#8217;s not about one of our products or even WordPress at all. It is, however, about a tool that I have been excited about for a long time and it&#8217;s finally launched. InContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>This is not like our usual posts. It&#8217;s not about one of our products or even WordPress at all. It is, however, about a tool that I have been excited about for a long time and it&#8217;s finally launched. In fact it just launched yesterday.</p>
<h2><a title="Google Drive" href="http://drive.google.com">Google Drive is Here!</a></h2>
<p>If you haven&#8217;t heard about this service yet it&#8217;s basically Dropbox by Google. Now that may not mean anything to you but I generally love Google&#8217;s products and how they all integrate with each other. Google helps me streamline my workflow and keep everything available regardless of where I am and that&#8217;s a huge win for me. This is just the next step in that evolution.</p>
<ul>
<li><strong>Gmail</strong> &#8211; Keeps all of my communication in one place and yet accessible everywhere.</li>
<li><strong>Google Docs</strong> &#8211; Lets me collaborate with anyone I want on documents and spreadsheets for any of my devices.</li>
<li><strong>Google Reader</strong> &#8211; Delivers all of the news that&#8217;s most important to me regardless of where I am at the moment.</li>
<li><strong>Google+</strong> &#8211; Keeps me connected to many friends, colleagues, acquaintances, and customers at a moments notice.</li>
</ul>
<p>Now Google Drive can handle everything else. All my web projects, graphic files, and other miscellaneous files that I might need at any given moment.</p>
<p>Google Drive was just released yesterday so there are bound to be some glitches and less than stellar features but I&#8217;m confident in Google&#8217;s ability to listen to the public and push out frequent improvements. If they are even half as responsive as they have been for Google+ we will be seeing a lot of great stuff fairly regularly.</p>
<h3>One Google Drive Warnings!</h3>
<p>I&#8217;ve been playing with the service since yesterday and there are a few things you should be mindful of.</p>
<ul>
<li>Google Drive is not yet a back-up solution. By that I mean, if you delete a file in your local Google Drive folder, it&#8217;s deleted online as well and thus on every device you sync with. I&#8217;m hoping that come up with a solution for that but that&#8217;s how it stands now.</li>
</ul>
<h3>Why Use Google Drive?</h3>
<p>Why not? You get 5gbs of storage for free and the cost of additional storage is dirt cheap. In all seriousness here are a couple reasons why I&#8217;m using Google Drive.</p>
<ul>
<li>I want all my web development files and certain applications accessible everywhere. I work on several different devices and it&#8217;s a pain to have to carry around an external drive everywhere I go. Plus, I can&#8217;t plug my external drive into my iPhone or iPad.</li>
<li>Back-ups! I know I said that Google Drive isn&#8217;t yet a back-up solution and that&#8217;s true if you delete an entire file or folder. It&#8217;s a great solution if you accidently made a change you didn&#8217;t mean to. Go online and just download a previous version of that file and all is well. That&#8217;s a nice little safety net.</li>
</ul>
<p>I may come up with a few more as I dig into the service a little more and as they mature the service moving forward but all in all I&#8217;m very pleased and looking forward to where the project is headed.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=84fZZAanXPw:Qwx6Dtk6_h4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=84fZZAanXPw:Qwx6Dtk6_h4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/84fZZAanXPw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/technology/google-drive-almost-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/technology/google-drive-almost-there/</feedburner:origLink></item>
		<item>
		<title>PSA: How to Add… Without a WordPress Plugin</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/ELnu85OKO3M/</link>
		<comments>http://wpninjas.net/quick-tip/psa-how-to-add-without-a-wordpress-plugin/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 13:21:45 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2127</guid>
		<description><![CDATA[Let me be extremely clear. If you ever read an article that includes the phrase &#8220;how to add anything with out a plugin&#8221;, beware! They do not necessarily have your best interests in mind. What they generally have in mind is gettingContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>Let me be extremely clear. If you ever read an article that includes the phrase &#8220;how to add <em>anything</em> with out a plugin&#8221;, beware! They do not necessarily have your best interests in mind. What they generally have in mind is getting traffic by giving you what you <strong>want</strong>.</p>
<p>Don&#8217;t get me wrong, not everything you want to do absolutely has to be in a plugin, but more times than not it should be. So why do we see all these articles popping up about how to do all this stuff without a plugin? Mostly because you keep looking for it. People who post these tutorials want traffic so they are going to give you what you want. But is that how we make the community better, by giving people only what they want but never what they need?</p>
<p>The real question isn&#8217;t why are people writing tutorials like these, that&#8217;s easy. The question is, <a title="Stop adding code to your WordPress theme’s functions.php file" href="http://wpninjas.net/tutorials/stop-adding-code-functions-file/">why are you searching to do things the wrong way</a>. I know that sounds harsh but it&#8217;s the truth. When you try to avoid using a plugin 9 times out of 10 you are doing it wrong because a plugin is exactly what you need. It&#8217;s my job to try and educate you to make better choices. So here are 3 myths you believe that are keeping you away from doing it the right way.</p>
<p><span id="more-2127"></span></p>
<h2>3 Myths that are Scaring You Away from WordPress Plugins</h2>
<h3>1. Plugin&#8217;s will slow down my website</h3>
<p><strong>FALSE</strong> &#8211; There is this rumor floating around that if you run to many WordPress plugin you will slow down your site or break something. This just isn&#8217;t true. At the very least it&#8217;s not telling the whole story. Having a plugins or even a lot of plugins won&#8217;t slow down your site. Having too many plugins that do too much will. This is true of that code you add to your functions.php file as well. When you add code or a plugin that does the following it will contribute to the slowness of your site.</p>
<ul>
<li>Adding a bunch of javascript files to your header or footer. Especially when unneeded.</li>
<li>Adding CSS files to your header.</li>
<li>Adding any files in general.</li>
<li>Making to many queries. Especially when unneeded or bloated.</li>
<li>Doing things the wrong way.</li>
</ul>
<p>You see, these issues can happen with any code, not just plugins. The key here is to be sure the functionality is absolutely necessary. If you want to hook into Twitter, Facebook, Google+, Flickr, Instagram, Foursquare, and every other social media site you can think of on one of your pages, you are going to slow down your website&#8230;period. Regardless if you do it with a plugin or not.</p>
<h3>2. Plugin&#8217;s are difficult to create</h3>
<p><strong>FALSE</strong> &#8211; I get it. If you&#8217;ve never done it before, creating a plugin can seem very intimidating. Here is the rule of thumb, if you are comfortable adding code to your theme, especially the functions.php file, you are more than ready to <a title="How to Create a WordPress Plugin" href="http://wpninjas.net/tutorials/how-to-create-a-wordpress-plugin/">create a simple WordPress plugin</a>. The only difference is a file or two you will need to create and where you place the code. That&#8217;s it.</p>
<h3>3. Plugin&#8217;s cause security issues</h3>
<p><strong>FALSE &amp; TRUE</strong> &#8211; This is an issue of code in general not just plugins. Any code you add to your site, whether it be through a plugin or code you add directly to your theme has the potential of creating security issues. The way around this isn&#8217;t to avoid plugins, but to do your research. Get referrals from trusted developers, read support forums about plugins you are interested in, and use plugins that are updated fairly regularly.</p>
<p>Even seemingly secure code can have issues that are discovered later or introduced by changes in other code. Always update your plugins and always review your own code.</p>
<h2>The #1 reason you should be using a plugin developed by someone else?</h2>
<p>With all of these tutorials and code snippets available I feel like I should give the most important piece of advice I can. If what I&#8217;m about to say is true for you you should not be pasting the code into your functions.php file or even creating your own plugin.</p>
<h3>You Don&#8217;t Understand the Code</h3>
<p>If you don&#8217;t understand what a piece of code is doing you shouldn&#8217;t be adding it to your site on your own and here is why.</p>
<ol>
<li><strong>You can&#8217;t audit it.</strong> You don&#8217;t know what it&#8217;s <em>really</em> doing so you have no way of testing it for vulnerabilities or making sure it&#8217;s not adversely affecting your site.</li>
<li><strong>You can&#8217;t update it.</strong> If you don&#8217;t have a complete grasp of a particular piece of code you can&#8217;t very well enhance or patch it.</li>
</ol>
<p>By using a plugin , properly researched of course, you have a developer who knows the code and is aware of how to handle things that might arise. If they are doing their job they will update their code. If you report an issue they can audit and resolve it.</p>
<p>I don&#8217;t want to scare you away from experimenting but I do want you to make decisions for the right reasons not just because someone told you you can do it without a plugin.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=ELnu85OKO3M:77nBcB7q3Og:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=ELnu85OKO3M:77nBcB7q3Og:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/ELnu85OKO3M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/quick-tip/psa-how-to-add-without-a-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/quick-tip/psa-how-to-add-without-a-wordpress-plugin/</feedburner:origLink></item>
		<item>
		<title>How to Translate a WordPress Plugin</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/r3bSew8QExA/</link>
		<comments>http://wpninjas.net/tutorials/how-to-translate-a-wordpress-plugin/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 14:17:53 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2123</guid>
		<description><![CDATA[We get quite a few emails asking how to translate our plugins so I thought it might be a good time to layout the process just a bit. The process is actually pretty simple but if you&#8217;ve never done itContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>We get quite a few emails asking how to translate our plugins so I thought it might be a good time to layout the process just a bit. The process is actually pretty simple but if you&#8217;ve never done it before and be a little intimidating.</p>
<p>The entire process is done in two steps.</p>
<ul>
<li><strong>Internationalization</strong>: This is the process of making the plugin or theme ready for translation by marking specific strings of text. This is handled by the developer.</li>
<li><strong>Localization</strong>: This is the process of translating the strings and making WordPress serve the appropriate files. This is handled by anyone who wants the plugin in their own language.</li>
</ul>
<h2>What you will need</h2>
<ol>
<li>A plugin (or even a theme) that has been properly internationalized. Both <a title="Ninja Forms Plugin" href="http://wpninjas.net/plugins/ninja-forms/">Ninja Forms</a> and <a title="Ninja Announcements Plugin" href="http://wpninjas.net/plugins/ninja-announcements/">Ninja Announcements</a> are translation ready.</li>
<li>A gettext file editor like <a href="http://www.poedit.net/" target="_blank">poedit</a>. This is program that you will use to create your translation files</li>
</ol>
<h3>The files you will be using</h3>
<p>There are 3 types of files used when translating a plugin, theme or even WordPress itself.</p>
<ul>
<li>.mo which stands for Machine Object. This is the file you will be creating for your custom translations.</li>
<li>.po which stands for Portable Object. This is the file you will translate.</li>
<li>.pot stands for Portable Object Template. This is the file by which the .po is created and is essentially the same as .po.</li>
</ul>
<p>If your theme or plugin has been Internationalized you should find a folder named &#8220;lang&#8221;, &#8220;language, or similar. You will find at least some of the above mentioned files in there. Let&#8217;s get started.</p>
<h2>Translating</h2>
<h3>1. Run Poedit and select File &gt; New catelog from POT file</h3>
<p>You will then to proceed to enter some details about yourself and then be prompted to save your work thus far.</p>
<p>There is a specific naming convention for these files in in order for WordPress to be able to serve them properly. It&#8217;s based on the language code (e.g. pt for Portuguese) followed by the country code (e.g. _SE for Sweden). For Swedish the file would be called sv_SE.po. See the complete list of <a href="http://www.gnu.org/software/gettext/manual/html_chapter/gettext_16.html#Language-Codes" target="_blank">language codes</a> and <a href="http://www.gnu.org/software/gettext/manual/html_chapter/gettext_16.html#Country-Codes" target="_blank">country codes</a> to find your exact locale.</p>
<p>For plugins it&#8217;s there is one more thing&#8230;the plugin name. So for our plugin Ninja Announcements the file would be named ninja-announcements-sv_SE.po.</p>
<h3>2. Translate each the text</h3>
<p>Poedit has three sections:</p>
<ol>
<li>The first section is a listing of all the the text available for translation. Click on a line to translate it.</li>
<li>Beneath that it will display the current text you are viewing. This is just for reference.</li>
<li>Finally, beneath that is the section where you will type your translation.</li>
</ol>
<p>So all you have to do is click on a line. Translate the text and then move in to the next line until all the text has been translated. A star will appear in the first section to the left of each line that you have translated along with your translation to the right.</p>
<p>Be careful when typing in special characters. these sometimes need to be converted to what&#8217;s called &#8220;html entities&#8221;. Things like apostrophes, single quotes, ampersands, etc. check out <a href="http://www.w3schools.com/tags/ref_entities.asp">http://www.w3schools.com/tags/ref_entities.asp</a> for a listing of these entities to look out for.</p>
<p>Once you are done click &#8220;Save Catalog&#8221; button and your new files will be updated. You should be able to upload and test them out immediately.</p>
<h2>Is your WordPress install ready for translations?</h2>
<p>All this is great but if you install hasn&#8217;t been set up to serve the translated files it won&#8217;t make much of a difference.</p>
<p>To accomplish this you will need to change to your WordPress wp-config.php file with the correct language codes. Here is more info about getting <a title="WordPress in Your language" href="http://codex.wordpress.org/WordPress_in_Your_Language">WordPress in your language</a>.</p>
<p><code>define ('WPLANG', 'sv_SE');</code></p>
<p>I hope you found this helpful and if you do translate any of our products please send us the file and your name and website. We would love to add you to the readme.txt of language contributors.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=r3bSew8QExA:FpZk8_-T1ww:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=r3bSew8QExA:FpZk8_-T1ww:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/r3bSew8QExA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/tutorials/how-to-translate-a-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/tutorials/how-to-translate-a-wordpress-plugin/</feedburner:origLink></item>
		<item>
		<title>Extending and Depending On Other Plugins</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/ojDS-qy3mTM/</link>
		<comments>http://wpninjas.net/quick-tip/extending-and-depending-on-other-plugins/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 13:21:50 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2115</guid>
		<description><![CDATA[I&#8217;ve been sharing a lot lately about adding menu items and widgets to your dashboard. In many of these cases I&#8217;m tapping into specific functions from other plugins. So what happens to my website if I stop using that pluginContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been sharing a lot lately about adding menu items and widgets to your dashboard. In many of these cases I&#8217;m tapping into specific functions from other plugins. So what happens to my website if I stop using that plugin or deactivate it for some reason? It crashes or throws all kinds of ugly errors, that&#8217;s what happens. And neither you or your visitors want to see that. But don&#8217;t fret, there is a real simple way to &#8220;crash-proof&#8221; your website in these instances.</p>
<pre class="brush: php; title: ; notranslate">

if ( function_exists( 'SOME FUNCTION NAME' ) ) { YOUR CODE HERE }
</pre>
<p>You should always use this check if including a function into your theme or plugin from another plugin. What is does is check to see if the function you are mentioning is a registered function. If it is, the script will continue to run as normal. If not, the script will not proceed. That way if you deactivate to remove the plugin altogether your site will continue to run fine, it will just exclude that particular functionality.</p>
<p>The function_exists call can be used in a variety of instances but sometimes you want to build a dependency upon another plugin completely. For instance, as long as another plugin is active, here is a bunch of things that I want to do to extend it further. WordPress has the perfect solution for these instances.</p>
<pre class="brush: php; title: ; notranslate">

if ( is_plugin_active( 'ninja-newsletters/ninja-newsletters.php' ) ) { YOUR CODE HERE }
</pre>
<p>In my example above I had a bunch of stuff I wanted to do if my Ninja Newsletters plugin was active. All it needs is the name of the main plugin file. In my case the file is in a directory named &#8220;ninja-newsletters&#8221; and the files is &#8220;ninja-newletters.php&#8221; so my complete check is &#8220;ninja-newsletters/ninja-newsletters.php&#8221;. Pretty easy.</p>
<h2>Which One Should I Use</h2>
<p>The answer is, it depends. It comes down to performance and testing.</p>
<p><strong>function_exists</strong> will basically look through every function that is defined within your site until it finds the one you told it to check for. On my site I currently have 6090 defined functions. If you end up doing this a lot on a single page, I&#8217;ve not tested this, I could see it starting to slow down the site a bit.</p>
<p><strong>is_plugin_active</strong> technically is meant only for your WordPress admin. You can use it on the front end but you would need to include plugin.php before calling the function. The advantage that I see in using this method is that the script doesn&#8217;t have to look through a long list of functions like a needle in a haystack to see if a particular function is defined. You tell it exactly what should be active and where it is. The script doesn&#8217;t have to find anything.</p>
<p>Of course all of this can depend on other variables so choose what you think is the best option for you and always test your work and see how it&#8217;s working efficiently enough for you.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=ojDS-qy3mTM:GLHwDqXj84M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=ojDS-qy3mTM:GLHwDqXj84M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/ojDS-qy3mTM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/quick-tip/extending-and-depending-on-other-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/quick-tip/extending-and-depending-on-other-plugins/</feedburner:origLink></item>
		<item>
		<title>Add a Custom Widget to your WordPress Dashboard</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/eqinJc65avI/</link>
		<comments>http://wpninjas.net/quick-tip/add-a-custom-widget-to-your-wordpress-dashboard/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 17:14:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2108</guid>
		<description><![CDATA[Yesterday I shared how to add some content to the &#8220;Right Now&#8221; WordPress dashboard widget. On occasion though you may have content that you would like to display on your dashboard that doesn&#8217;t quite fit into the &#8220;Right Now&#8221; widget.Continue Reading ->]]></description>
			<content:encoded><![CDATA[<p>Yesterday I shared how to <a title="Add Information to the “Right Now” Dashboard Widget" href="http://wpninjas.net/quick-tip/add-information-to-the-right-now-dashboard-widget/">add some content to the &#8220;Right Now&#8221; WordPress dashboard widget</a>. On occasion though you may have content that you would like to display on your dashboard that doesn&#8217;t quite fit into the &#8220;Right Now&#8221; widget. In that case you might want to create a custom dashboard widget. Here is all it takes.</p>
<p>Just copy and paste the code below to your site functionality plugin or <a title="How to Create a WordPress Plugin" href="http://wpninjas.net/tutorials/how-to-create-a-wordpress-plugin/">create a new plugin</a>.</p>
<pre class="brush: php; title: ; notranslate">

// Function that output's the contents of the dashboard widget
function my_dashboard_widget_function() {

  // Enter your code here.

}

// Function that called by the action hook below to register the dashboard widget
function my_add_dashboard_widgets() {

  wp_add_dashboard_widget('dashboard_widget', 'WP Ninjas Sales Stats', 'my_dashboard_widget_function');

}

// Register the new dashboard widget into the 'wp_dashboard_setup' action
add_action('wp_dashboard_setup', 'my_add_dashboard_widgets' );
</pre>
<p>Pretty simple, right? Now I didn&#8217;t place any code in our dashboard widget because the possibilities are endless. My recent use case was to get all the sales from our transactions table and display them as a total and as individual products. This gives me a quick at-a-glance look at our sales and which products are doing the best.</p>
<p>What might you want to display in your WordPress Dashboard?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=eqinJc65avI:PwkxvDsbLgg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=eqinJc65avI:PwkxvDsbLgg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/eqinJc65avI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/quick-tip/add-a-custom-widget-to-your-wordpress-dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/quick-tip/add-a-custom-widget-to-your-wordpress-dashboard/</feedburner:origLink></item>
		<item>
		<title>Add Information to the “Right Now” Dashboard Widget</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/N2uMqkYkqr0/</link>
		<comments>http://wpninjas.net/quick-tip/add-information-to-the-right-now-dashboard-widget/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 17:10:53 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2101</guid>
		<description><![CDATA[The &#8220;Right Now&#8221; WordPress Dashboard widget is a familiar sight on any WordPress install. It displays helpful information as to how many posts, pages, links, categories, and tags you currently have as well as info about the number of commentsContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Right Now&#8221; WordPress Dashboard widget is a familiar sight on any WordPress install. It displays helpful information as to how many posts, pages, links, categories, and tags you currently have as well as info about the number of comments and widgets. It also tells you the current theme and WordPress version you are running on. All helpful information.</p>
<p>After your site has been around a while you may have added some custom post types, taxonomies or other info you might want to have available as well. This is really easy to do and I&#8217;ll show you how by adding  a custom post type to my &#8220;Right Now&#8221; Dashboard widget.</p>
<p><span id="more-2101"></span></p>
<pre class="brush: php; title: ; notranslate">

add_action( 'right_now_content_table_end', 'your_right_now' );

function your_right_now() {

  // Newsletters
  $num_newsletters = wp_count_posts( 'ninja_newsletters' );
  $num = number_format_i18n( $num_newsletters-&gt;publish );
  $text = _n( 'Newsletter', 'Newsletters', intval($num_newsletters-&gt;publish) );
  if ( current_user_can( 'administrator' ) ) {
    $num = &quot;&lt;a href='edit.php?post_type=ninja_newsletters'&gt;$num&lt;/a&gt;&quot;;
    $text = &quot;&lt;a href='edit.php?post_type=ninja_newsletters'&gt;$text&lt;/a&gt;&quot;;
  }
  echo &quot;\n\t&quot;.'&lt;tr class=&quot;first&quot;&gt;';
  echo &quot;\n\t&quot;.'&lt;td class=&quot;first b b-newsletters&quot;&gt;' . $num . '&lt;/td&gt;';
  echo &quot;\n\t&quot;.'&lt;td class=&quot;t newsletters&quot;&gt;' . $text . '&lt;/td&gt;';
  echo &quot;\n\t&quot;.'&lt;/tr&gt;';

}
</pre>
<h2>Here is what you get when you&#8217;re done.</h2>
<p><a href="http://wpninjas.net/wp-content/uploads/2012/04/right-now.png" rel="lightbox[2101]" title="Right Now Dashboard Widget"><img class="alignnone size-full wp-image-2103" title="Right Now Dashboard Widget" src="http://wpninjas.net/wp-content/uploads/2012/04/right-now.png" alt="Right Now Dashboard Widget" width="796" height="239" /></a></p>
<h2>And here is what&#8217;s happening in the code.</h2>
<ul>
<li><strong>Line 1</strong> : Hooks our function to the right_now_content_table_end action. This hook falls right after the Content section of the &#8220;Right Now widget. There are more of these that I&#8217;ll share in later.</li>
<li><strong>Line 6 &#8211; 12</strong> : Gets the count for the custom post type and sets any display elements we will need.</li>
<li><strong>Line 13 &#8211; 16</strong> : Simply echoes out our new row with the variables we created above.</li>
</ul>
<p>That&#8217;s all there is to it. You could do something similar for custom taxonimies or anything else you might want displayed in the content section of the &#8220;Right Now&#8221; Dashboard widget. But what if you want you content to be output somewhere else within the widget. You have a few options.</p>
<ul>
<li>right_now_content_table_end</li>
<li>right_now_table_end</li>
<li>right_now_discussion_table_end</li>
<li>rightnow_end</li>
<li>activity_box_end</li>
</ul>
<p>Play around with these different action hooks to get your content placed exactly where you want it&#8230;right now. :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=N2uMqkYkqr0:5iUG724oias:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=N2uMqkYkqr0:5iUG724oias:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/N2uMqkYkqr0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/quick-tip/add-information-to-the-right-now-dashboard-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpninjas.net/quick-tip/add-information-to-the-right-now-dashboard-widget/</feedburner:origLink></item>
		<item>
		<title>Ninja Forms 2.0 – Coming Soon!</title>
		<link>http://feedproxy.google.com/~r/wpninjas/~3/QVBGPgzWk5g/</link>
		<comments>http://wpninjas.net/ninja-forms/ninja-forms-2-0-coming-soon/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 11:00:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Ninja Forms]]></category>

		<guid isPermaLink="false">http://wpninjas.net/?p=2086</guid>
		<description><![CDATA[This is an extremely important post and you will want to take it all in. Especially if you have not already purchased a subscription to Ninja Forms. Near the end of May we will be releasing Ninja Forms 2.0. ThisContinue Reading ->]]></description>
			<content:encoded><![CDATA[<p>This is an extremely important post and you will want to take it all in. Especially if you have not already purchased a subscription to Ninja Forms.</p>
<p>Near the end of May we will be releasing Ninja Forms 2.0. This is a huge release with a ton of new features (see below) and with it will most likely come with some changes to our subscription process. We might be moving to an annual subscription for continued updates and support as well as raising prices. The full details of this change are still being fleshed out, but changes will be made. Why is this important?</p>
<p>Anyone who purchases Ninja Forms before these changes are made will be grandfathered into our current subscription rate for life. That means you will still continue to get unlimited updates and support with absolutely no need to renew your subscription annually. That&#8217;s right, one $30.00 purchase and you get everything Ninja Forms is and will become, while never have to pay another dime. At our current price, this will save you $30.00 a year but at our yet undetermined prices who knows how much you will save.</p>
<p><a title="Ninja Forms Plugin" href="http://wpninjas.net/plugins/ninja-forms/">All that to say that buy now to get the best features at the lowest possible cost</a>.</p>
<h3>Now onto what we are adding to Ninja Forms version 2.0</h3>
<p><span id="more-2086"></span></p>
<p>Here are just some of the things that will be released in Ninja Forms 2.0 on top of all of it&#8217;s current great features.</p>
<div><strong>For Users:</strong></div>
<ul>
<li>Import / export forms and submissions</li>
<li>Save form fields for use in other forms</li>
<ul>
<li>Create a list of &#8220;favourite&#8221; fields, or just those used most frequently so that you don&#8217;t have to re-enter data.</li>
</ul>
<li>Create checkboxes from the &#8220;List&#8221; field type.</li>
<li>Conditional logic: show/hide/add/remove elements based upon the input from other fields.</li>
<li>Allow users to post to custom taxonomies.</li>
<li>Select between CSV and XLS file formats for submission output.</li>
<li>Duplicate forms with a click.</li>
<li>Automatic updates within the Admin Dashboard.</li>
<li>Better Form display mark-up.</li>
</ul>
<div><strong>For Developers</strong></div>
<div>
<ul>
<li>New registration hooks allow developers to:</li>
<ul>
<li>Add custom field types.</li>
<li>Remove field types.</li>
<li>Add or remove side-bar metaboxes.</li>
<li>Add or remove tabs / settings pages.</li>
<li>Add or remove Help text.</li>
</ul>
<li>More control over form output.</li>
<li>Easily retrieve submission data using functions.</li>
</ul>
<p>This is the short list of features coming to Ninja Forms 2.0. We will also be writing more in depth tutorials and documentation for subscribers as well as working on some new addons.</p>
<p>Great things are ahead for Ninja Forms. <a title="Ninja Forms Plugin" href="http://wpninjas.net/plugins/ninja-forms/">Make sure you get in on the ground floor</a>.</p>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpninjas?a=QVBGPgzWk5g:eusFGyXTERc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpninjas?a=QVBGPgzWk5g:eusFGyXTERc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/wpninjas?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpninjas/~4/QVBGPgzWk5g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpninjas.net/ninja-forms/ninja-forms-2-0-coming-soon/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://wpninjas.net/ninja-forms/ninja-forms-2-0-coming-soon/</feedburner:origLink></item>
	</channel>
</rss>

