Top ArticlesManageWP.orgOnce and for all: Should WordPress Developers Sell Plugins Or Themes?<img src=""><br />This is the final part (Part III) in our series of WordPress themes &amp; plugins market analysis, where we&rsquo;re looking at the unit economics of Envato, the company that owns ThemeForest and CodeCanyon. In this final post, I&rsquo;ll try to answer one simple but critical question &ndash; can a developer expect to make more money by selling plugins or themes? The answer will be based on the data from the two previous pieces of research. Part I: ThemeForest By The Numbers: Thought The WordPress Theme Gold Rush Was Over? Think Again! Part II: CodeCanyon By The Numbers: Can You Pay Your Bills Selling Premium WordPress Plugins on CodeCanyon? ThemeForest Or CodeCanyon: Results By The Numbers Let&rsquo;s start with unit-economics comparison combining data from the previous parts of the research. ThemeForest Premium WordPress Themes CodeCanyon Premium WordPress Plugins Inventory Inventory 7,986 WordPress Themes (Out of 28,644 Templates) 4,861 WordPress Plugins (Out of 19,006 scripts) Total gross Total gross $286,355,625 WordPress Themes Gross 80.5% of all templates sales (since 2008) $53,906,191 WordPress Plugins Gross 71.6% of all scripts sales (since 2009) ARR(Annual Recurring Revenue)Writing a WP REST API endpoint in 2 minutes<img src=""><br />I need to write a REST API endpoint, but lets assume we know nothing about REST APIs. The Task My homepage has a box that contains a magical word, and I&rsquo;m going to use the REST API to grab this word and display it on my site: &lt;div id=&quot;tomsword&quot;&gt;... word goes here ...&lt;/div&gt; I&rsquo;m going to need: A word to use, I&rsquo;ve chosen &ldquo;moomins&rdquo; A REST API endpoint on my site to send the word from Some Javascript to ask the API for the magic word The Endpoint This parts easy. REST API endpoints live at /wp-json, and they have a namespace so your endpoints don&rsquo;t clash with those of other plugins. My endpoint is going to live at When my endpoint is called, I want to return the word &ldquo;moomins&rdquo;, so I&rsquo;ve prepared a function to do just that: function tomjn_rest_test() { return &quot;moomins&quot;; } and I&rsquo;ll register my endpoint, and tell WordPress what to do when it&rsquo;s called like this: add_action( 'rest_api_init', function () { register_rest_route( 'tomjn/v1', '/test/', array( 'methods' =&gt; 'GET', 'callback' =&gt; 'tomjn_rest_test'Hooks, Line, and Sinker: WordPress’ New WP_Hook Class<img src=""><br />The hooks system is a central pillar of WordPress and with the 4.7 release a major overhaul of how it works was merged. The Trac ticket that initially raised an issue with the hooks system was logged over 6 years ago. After a few attempts, the updates finally made it into the 4.7 release and the venerable hooks system was overhauled. In this post I want to go over some of the technical changes and decisions that went into the new WP_Hook class. I&rsquo;ll also go over some of the more interesting aspects of WordPress core development and look into what it takes to overhaul a major feature in WordPress core. For the purposes of this post I&rsquo;m going to assume you know what the WordPress hooks system is (i.e. add_filter(), add_action(), apply_filters() and do_action()), and have a general idea of how it works. It would also be a good idea to read over the Make blog post that covers the changes. What&rsquo;s Changed? One of the bigger changes introduced in WordPress 4.7 is that there is a new WP_Hook class. This new class is now used to handle all the internal hooks within WordPress core. It&rsquo;s kind of a big deal. Pre-4.7, all the hook functions (add_filter() etc.) and logic wereHow News Corp Australia made WordPress scale<img src=""><br />Inside one of the world's biggest deployments. Content creation is the lifeblood of publishing houses like international behemoth News Corp. But nowadays you can't break Watergate without an efficient, flexible back-end content management platform. In 2014 News Corp Australia found itself at an impasse: news consumers had long moved into the mobile world, but the company's legacy content management system didn't support publishing on mobile platforms, or continuous deployment. Any changes created a lot of risk, and the IT team was restricted to a monthly release cycle - &quot;entirely out of keeping with the needs of an innovative publisher&quot;, according to CTO Alisa Bowen. That year it decided the time had come to introduce a new, fit-for-purpose platform that could be adaptable and scalable in supporting News Corp Australia's more than 30 websites and thousands of articles published daily. A technical proof-of-concept led to the decision to rip out the old CMS and replace it with popular open source content management platform WordPress VIP. The main reason for this choice was that most of News Corp's local editors and journalists were already familiar with the platform, whichMatt Report - Interview with Pagely CEO and Cofounder, Joshua Strebel<img src=""><br />Interview with Maura Teal, WP Dev at FanSided<img src=""><br />You can find Maura on LinkedIn or Twitter. This is our recent interview with her, as part of our Kinsta Kingpin series. Q1: What is your background, &amp; how did you first get involved with WordPress? My parents were both software engineers for a major bank, so I always had access to a computer and the internet while I was growing up. I built a few websites and wrote a little bit of code, but for the most part I thought that I wanted to be a graphic designer. It wasn&rsquo;t until I was in college that I discovered WordPress and realized that my career path was writing code, not graphic design. Today, I&rsquo;m a web developer at FanSided, a Time Inc owned web property (and WordPress Multisite network of 360+ sites) that serves over a million users daily. I&rsquo;ve also been involved in the last few WordCamp Phoenix events as an organizer. Q2: What should readers know about all the stuff you&rsquo;re doing in WordPress these days? We&rsquo;ve got a fun and unique challenge at FanSided, building writing tools for over 1800 contributors on the network while also considering what new technology we can take advantage of to continually improve the reader&rsquo;s experience on the front-endAn Introduction to Unit Testing (for WordPress)<img src=""><br />Thorsten is a web developer since 2000, working with (and on) WordPress since 2005. Currently, Thorsten is a WordPress engineer and technical project lead at Inpsyde, Germany&rsquo;s biggest WordPress agency. He is part of Inpsyde&rsquo;s QA team, and leads the development of MultilingualPress, the multisite-based free open source plugin for your multilingual websites. He also maintains WP REST Starter, a Composer package for working with the WordPress REST API in an object-oriented fashion. Thorsten is a certified PHP engineer, web development professional and tester. If you are a software developer, you might have come across the term &ldquo;testable code&rdquo;. But what is it? What makes code testable, and what not? Testable Code Every piece of software is testable&mdash;somehow. There are several things you might be able to test: the return value of a function; the output of a function; other side effects of executing a function; whether or not a program crashes; &hellip; So, doesn&rsquo;t that mean every piece of code is testable code? It does not. That&rsquo;s because almost always when someone refers to &ldquo;testable code&rdquo; they do it in the context of unit testing. SoA Developer's Introduction to the Twenty Seventeen Theme<img src=""><br />With the release of WordPress 4.7, also came the new Twenty Seventeen theme. More than all its predecessors, the new default theme is highly customizable for both users and developers, it&rsquo;s easy to use, and perfectly suitable for both personal and professional purposes. Moreover, it is great when it comes to site performance, as Brian explains in How to Score 100/100 in Google PageSpeed Insights with WordPress. The Twenty Seventeen theme provides the perfect dress for new amazing WordPress features like the customizable video header. Moreover, it provides theme specific features like front-page sections, SVG icons support, visible edit icons in the Customizer. Much has already been written about Twenty Seventeen theme, so in this post I won&rsquo;t make a new list of its cool features and functionalities. Rather, I will propose five small tutorials aiming to help developers and advanced users to get the most from the new WordPress default theme. Thanks to a child theme, we will: A Child Theme to Enhance Twenty Seventeen Theme Functionalities I will assume you are familiar with child theming in WordPress. If you&rsquo;d need a refresher, take the time to have a read at our WordPressEvery Website Will Break (Eventually)<img src=""><br />I know &ndash; the headline sounds dire. And, to some degree, it is. But I&rsquo;ve been thinking about this a lot lately and I feel like we, as designers and developers, should have an open dialogue. Recently, after a spate of websites I maintain faced a variety of problems, I came to a stark realization: Every website I&rsquo;ve ever worked on is probably going to break at some point. We&rsquo;ll get into the reasons why in a second. But, let that last statement just sink in for a moment. Now, do you get that sinking feeling in your stomach, too? Is it true? How can this happen? Sadly, I do believe it&rsquo;s true. And I actually wonder why it took me so long to figure it out. Maybe you were a bit more on-the-ball and realized it long before I did. As to why a website is going to break &ndash; there are a number of reasons for that. Just a few of the possibilities include: CMS Core/Plugin/Theme Conflicts Any website that is built on a content management system like WordPress, Drupal or Joomla! are bound to run into a mischievous software update sooner or later. Different parts could then conflict with each other &ndash; resulting in anything from a small display issue to an inaccessibleThe JavaScript for WordPress Show<img src=""><br />Welcome to the show where educator Zac Gordon asks JS influencers inside the WordPress community and without how they Learn(ed) JavaScript Deeply and what advice they have for others trying to do the same. Ep. 1 &ndash; &ldquo;Stop Using WordPress&rdquo; ~ with Roy SivanWe're Launching a Forum Plugin<img src=""><br />For the past few months we&rsquo;ve been quietly working away on building the next generation forum plugin for WordPress. Now has come the time to announce this to the world and let you know why we are building the plugin, who is behind the plugin and what you can expect from it. Who? The forum plugin is being launched under our Jungle Plugins brand which also includes the free plugins: User Menus and Content Control. Jungle Plugins is a joint partnership between Daniel Iser and Calum Allison. Daniel is leading the development of the plugin whilst I am handling the other areas of running a business including heading up customer support. Daniel and I have been involved in the WordPress community for many years with both of us having existing plugins (Popup Maker &amp; Ultimate Member). We are taking our combined knowledge and experience from running our other WordPress plugin businesses to launch Jungle Plugins. Why? Through running Ultimate Member for the last two years, I would get frequent requests from users of the plugin to create a new forum plugin for WordPress. Users would often say to me that existing forum plugins were outdated in design and functionality. When I looked atAdvanced Post Queries - Understanding the WordPress WP_Query object<img src=""><br />Recently I was tasked with a project that required some filtering of a custom post type based on values stored using the WordPress Metadata API. Due to how popular it is to use metadata for storing additional data for posts (and custom post types) I thought it would be useful to share some of the details of how filtering on this metadata would work. In this article, I will be referring mostly to posts but the theory applies to custom post types as well. In a WordPress environment, metadata is a way of storing and retrieving additional pieces of information on a specific WordPress object, without needing to register additional tables. The simplest example of this is the ability to add Custom Fields to a WordPress post. When created, these custom fields are stored in the post metadata table, which (assuming a default table prefix of wp_ ) is stored in the wp_postmeta table. WordPress plugin developers typically use metadata for storing custom field values as it does not require making any changes to the database to function. To be able to filter by metadata, you first need to meet the WP_Query object. The WP_Query object deals with the intricacies of entity requests to a WordPress website.How much does an Easy Digital Downloads store cost?<img src=""><br />I&rsquo;ve been neck deep in building my first educational e-book website, and it&rsquo;s served as a catalyst for great Easy Digital Downloads content here on PluginTut. Having been in the online product space for about 8 years, and while you don&rsquo;t read about any major &ldquo;TechCrunch&rdquo; wins in my career, I&rsquo;ve sold well over a quarter-of-a-million dollars worth of digital products. When I launched The Podcast Starter Kit, I decided to keep a running journal of the experiences I went through. I wanted to uncover what a beginner might experience, setting up her first digital shop, eagerly looking to build an online empire. It got me thinking, how much does an Easy Digitals Downloads store actually cost someone with a fresh new product, like myself? Let&rsquo;s dive in. WordPress Hosting Costs If you haven&rsquo;t reviewed my 6 Tips Before Launching a Product, you should get it on your Pocket App. It&rsquo;s a pre-launch checklist, that will put you in a better mindset for jumping into the digital product market space. A sticking point within the post, I highlight the cost of WordPress web hosting &amp; SSL certificates. These are requirements, not only for sellingObama Foundation Launches New Website Powered by WordPress<img src=""><br />The Obama Foundation launched its new WordPress-powered website today. The future presidential center, which will be located in Chicago, will manage projects both in the city and other places around the world. &ldquo;More than a library or a museum, it will be a living, working center for citizenship,&rdquo; President Obama said. &ldquo;That&rsquo;s why we want to hear from you. Tell us what you want this project to be and tell us what&rsquo;s on your mind.&rdquo; The website integrates the Typeform service for collecting feedback from citizens on their hopes and dreams, as well as the people and organizations that inspire them. WordPress developers were excited to see that the former President is using the WP REST API introduced in WordPress 4.7. Oh hai WP REST API &mdash; Daniel Bachhuber (@danielbachhuber) January 20, 2017 The custom theme for the Obama Foundation is built using ZURB&rsquo;s Foundation as its front-end framework. It integrates the jQuery Cycle Plugin for galleries. The website was created by Blue State Digital, an agency that got its start on the campaign trail and now focuses on serving causes and brands. President Obama is the first presidentDoc Pop's News Drop: Postmatic's new Replyable service<img src=""><br />Postmatic rebrands as Replyable and Google's Chrome browser stars displaying &quot;Not Secure&quot; messages on sites not encrypted with SSL.Theme Developer Handbook Released!<img src=""><br />Weekly Meetings As well as discussing docs issues here on the blog, we use Slack for group communication. Individual teams have their own regular meetings &ndash; you can find details of those in the sidebar.PageSpeed Insights Score: Faster WordPress Hosting is More Important<img src=""><br />You want your WordPress site to load lightning-fast. And if you&rsquo;re like most of us, when you think of improving your site&rsquo;s page load times to get that &ldquo;lightning-fast&rdquo; designation, you think of your Google PageSpeed Insights score. For many website owners, it&rsquo;s their white whale. Getting a perfect score on PageSpeed Insights is the impossible quest that will magically solve all of their page speed woes. But is a high PageSpeed Insights score the be-all and end-all of fast page load times? Sorry, but no. If your focus is on improving your site&rsquo;s page load times, finding a better host will often take you further. In this post, I&rsquo;m going to run a real test to show you that high-performance hosting will do more for your page load times than endlessly striving to improve your PageSpeed Insights score. What is Google PageSpeed Insights? Should you care? If you&rsquo;re not already familiar, PageSpeed Insights is a Google-offered tool that helps you both analyze and optimize your website&rsquo;s performance for desktop and mobile visitors. Before I get into what exactly that entails, let&rsquo;s talk about what PageSpeed Insights is not: It&rsquo;sWix Removes GPL-Licensed WordPress Code from Mobile App, Forks Original MIT Library<img src=""><br />In October 2016, Matt Mullenweg called out Wix for using GPL-licensed code from the WordPress mobile app and distributing it in its proprietary app. After identifying a path for Wix to comply with the license, Mullenweg confirmed he would be willing to go to court to protect the GPL. Wix CEO Avishai Abrahami&rsquo;s response to the allegations failed to address the issue of licensing, dodging the question with references to other open source contributions. Abrahami seemed to indicate that Wix would open source its mobile app but was not clear whether it would be GPL licensed: &ldquo;We always shared and admired your commitment to give back, which is exactly why we have those 224 open source projects, and thousands more bugs/improvements available to the open source community and we will release the app you saw as well,&rdquo; Abrahami said. The Wix Twitter account also gave the impression that the entire app would be released under the GPL: @yairwein We'll release the code on Github, where we also shared our previous projects: &mdash; (@Wix) October 30, 2016 Publicly communicating these intentions bought the company time to educate its developers on theSucuri's WordPress Performance Optimization Guide<img src=""><br />Since launching our website performance testing tool we have been getting a lot of questions about how to improve the speed and performance of WordPress websites. Many website owners are not aware how slow their sites are, so we are excited to help shed some light on the matter. There are a number of different resources available to help you dive into the world of performance optimization. In this article, I want to create a proper foundation for any website owner to start thinking about performance optimization. This basic guide should help website owners understand how to think about performance and which areas to focus on. This information is designed as a high-level overview, but it is structured so that if you were interested in more data, you can follow the links provided for additional research, details, and tutorials online that help you optimize your website at every layer. Performance &ndash; Core Domains First, we have to understand that website performance can be divided into three domains. These areas each affect the speed of your website in different ways. The basic performance principles for each domain can be delineated as follows: Networking: Reduce distances Software:12 Example Websites Built with Beaver Builder Theme and Plugin<img src=""><br />After comparing all page builders, we found Beaver Builder as one of our favorite Website Builder for WordPress. With available template designs and ready to use modules, you can create beautiful pages with better conversion and engagement. Without any knowledge of coding, you can add elements such as counter, maps, slideshow, carousel, contact form, pricing table and many more with a simple drag and drop method. Adding media files like audio, video and images are very easy using this builder. Well, after seeing the demo of Beaver Builder, I wanted to see all the example websites which are currently using this awesome plugin and template and created a live website. Beaver Builder allows non-developers to add modules without messing up the code and lowering the performance. It&rsquo;s a little pricey but the best Page Builder for WordPress. A live working website with all these modules and elements places properly will give you real feel of this amazing page builder. To search the live websites, you need to find bb-plugin (Beaver Builder plugin) and bb-theme active on the site, which you can see in the page source. I found few great sites with beautifully placed elements and modulesDiscussion: Should We Pay for Speaker Travel<img src=""><br />It&rsquo;s been many years since we last openly discussed the question of whether or not to pay for the travel and expenses of out-of-town speakers for WordCamps. I&rsquo;ve seen a few discussions around (and have had quite a few with people, myself), so I thought it was time to have a post about it. The Background Info Speaking at a WordCamp has always been considered a volunteer contribution. In the same way that developers donate their time writing a patch for core, speakers donate their time sharing knowledge with the greater WordPress community. If a speaker chooses to submit their talks to WordCamps where travel would be required, the expectation is that they will cover their own expenses. The global community team stresses a local focus for WordPress events, to not only keep costs manageable, but also to foster that sense of community that makes our project so unique. We ask organizers to do the following things: Focus on having primarily local speakers at your event Choose high quality speakers (and presentations) over quantity Crowdsource potential speaker suggestions from your Meetup members The Current Info The conversations I&rsquo;ve been seeing/having lately often arePerformance Best Practices in the HTTP/2 Era<img src=""><br />Hypertext Transfer Protocol (HTTP) has been around since 1991, and we haven&rsquo;t seen a major update since 1999, when HTTP/1.1 was released. During this time a lot of performance best practices have been passed around the web to try and circumvent some of the shortcomings in HTTP/1.1. Sites such as Pingdom and GTmetrix are the de facto when it comes to measuring a site&rsquo;s performance and for the most part they&rsquo;re excellent tools. However, some of their recommendations aren&rsquo;t relevant in the era of HTTP/2. What&rsquo;s New? Let&rsquo;s take a look at what&rsquo;s new in HTTP/2 and what that means for performance best practices going into 2017. Fully Multiplexed This is arguably the flagship feature of HTTP/2, which fixes one of the biggest problems with HTTP/1.1, namely head-of-line blocking. In layman&rsquo;s terms it means that only one request can be outstanding on a connection at a time, resulting in latency. This is because the next request is only issued once the response to the current request has been received, resulting in a &ldquo;queue&rdquo; of assets to be downloaded from the server. In an attempt to circumvent this issue a browser may open multiple TCPIs business growth the best metric to focus on? Our 2016 year in review.<img src=""><br />In 2016 our plugin business had a 28% growth in revenue over the previous year. During the end of the year break, I took some time to analyze what this number really means and if this metric should be the most relevant one to focus for the years to come. To put things in perspective, during the last 4 years, since we&rsquo;ve focused on building and selling WordPress products, we saw a yearly growth with values ranging from 28% to over 100%. This came mostly due to us constantly improving our plugins, offering great support, as well as taking advantage of the growing WordPress market share. That being said I think we tend to not appreciate enough what just went by, and simply rush to set targets for the new year. I feel this makes it more about the destination, not the journey. That&rsquo;s why I&rsquo;ve decided to look back at how 2016 unwinded, in our first &ldquo;year in review&rdquo; post. Plugin development Our company revenue comes from three plugins, all of them using a freemium business model: At the beginning of last year, shortly after launching Paid Member Subscriptions, we decided that in 2016 our main focus will be on improving and consolidating these three plugins. I&rsquo;mWordPress Versus Medium: Does It Really Matter?<img src=""><br />This past weekend, I spent time closing a bunch of sites, exporting content from one service to another, preparing to consolidate a couple of sites, and even shutting some sites down. But the number one thing that has resulted in a weird bit of feedback is the idea that I opted to archive my data from Medium in preparing to move it to a WordPress-based site. This resulted in some weird WordPress versus Medium points from others. Truthfully, I know this kind of argument will never die. But I digress for now. And, I suppose, the reason this is weird is that I &ndash; like many who use WordPress &ndash; want the control that comes with owning your data. Perhaps it&rsquo;s also about playing in someone else&rsquo;s sandbox, too, right? But there&rsquo;s an inherent problem with sticking only with one CMS and neglecting what the rest of the industry is doing. WordPress Versus Medium I don&rsquo;t know anyone who considers themselves a web developer and works with WordPress and doesn&rsquo;t like the extensibility that the platform offers. But take a step back and look at WordPress from 150,000 feet. This piece of software does a lot. And that&rsquo;s great, right? Even the new [good-looking]