We use to feature BuddyPress usage case studies. These are great ways to share with you how BuddyPress can help you achieve your community site projects reading how other buddies did it. The case study you are about to read now is a bit different. It’s about the steps the lovely BuddyX BuddyPress theme had to take to be widely and freely available from the official WordPress.org theme directory. I’m very happy Varun Dubey took the time to write this guest post to share his experience with all of us. My secret hope is that it will inspire as many BuddyPress Theme authors as possible to do the same 😇.

Varun Dubey is a full-stack WordPress & BuddyPress developer. He’s the co-founder of Wbcom Designs, a WordPress themes and plugins development agency in India. He’s also a regular BuddyPress contributor, we often talk with him about the BuddyPress project during our development meetings (every other Wednesday at 19:00 UTC on Slack), he contributes to our development tasks (testing, reporting issues, patching, documenting, etc..) and he still manage to find time to help you regularly replying to your support topics (661 replies so far!). So, once again, many thanks to him for getting involved with BuddyPress 😍.

So let’s learn more from his experience, here’s what he wanted to share with you about it!

I submitted my first theme at WordPress.org, and now it’s live.

@vapvarun

We, at Wbcom Designs, are excited about our achievement to present a full-fledged community theme powered by BuddyPress and WordPress. It took almost a year to work on BuddyX and make it stable enough to submit at WordPress.org. 

The approval process was surprisingly short, approx 6-7 weeks to get it approved after initial submission. We usually had heard that it might take 6-9 months to get the theme live.

Submitting the theme at WordPress.org will increase your reach to all sites which are using WordPress. The WordPress theme directory is used by millions of WordPress users all over the world. The directory themes are available for download from WordPress.org, and WordPress users can also install them directly from their administration screens.

By hosting your theme on WordPress.org, you’ll get:

  • Stats on how many times your theme has been downloaded
  • User feedback in the forums
  • Ratings, to see what users think of your theme.

We have learned a lot about code reviews, code quality, and theme lifecycle during the approval process. I will give a quick glimpse of how it was for BuddyX; it might help others get the theme approved quickly.

How to start with a theme skeleton?

Lots of developers begin the development of a theme from scratch. There are articles and tutorials available on how to start theme development from scratch, and the WordPress Themes development handbook also has a detailed step guide on this topic. 

After comparing _s, roots, and other starter themes, we decided to start with the WP rig. WP rig helped get a basic skeleton of the BuddyX using the latest tools, best practices, and coding standards. It helped integrate lazy-loading, async/defer JavaScript enqueueing, component-level pre-loaded CSS, optimized Web Font loading, modular extensions, and a full-featured list of optional template hierarchy files at day one. 

Along with WordPress Code Quality Testing, WordPress Coding Standards integration was also part of it. After getting initial help for the WP rig, we only have to focus on design improvement for BuddyPress Community features.

Early prep of the Theme submission

After the design part gets ready, we have released our theme on our website and make it available for free download to get initial feedback as a soft launch. It received a good response from the community, and we have got some feature requests and feedback on initial versions. It helped us to gain the confidence to submit BuddyX at WordPress.org.

You can follow these steps to check your theme against WordPress requirements before submitting it for review. 

1- Code Quality Check- To make sure your theme code is secure ( using proper escaping functions ), it meets WordPress Coding Standards

2- Theme Check by plugin- The WordPress Theme review team checks your theme using the Theme Check plugin. It will be useful to double-check your theme against it first before uploading it.

Illustration of the screen generated by the Theme Check plugin

3- Theme Requirement Checklist- WordPress Theme review team has published Theme Requirements. You also have to make sure you have gone through all items one by one.

Essential points you have to double-check with Theme requirements are

  • Debug log should be clean; it should not have any PHP or JavaScript errors.
  • All strings should be ready for translation. 
  • Add unminified source files along with minified JavaScript and CSS files. 
  • All functions and Classes should have a theme-specific unique prefix.
  • All js or CSS should enqueue properly inside theme functions instead of hard-coded in the header or footer. 

5- Theme Unit Test XML – You will also have to check with Unit Testing XML data. It will help get proper labels and layout testing on various templates like 404, comments on pages, comments on the post, post format testing, layout, and alignment testing. 

6- Screenshot- It should not contain any branded logo or visible human face.

7- Keyboard Navigation- Keyboard-dependent navigators are also mandatory features now. You can find details at the Keyboard Navigation section of the theme development handbook.

Consider the following non-coding points before submission:

  1. Your website terms and conditions page must indicate that your company has all products under GPL.
  2. All images inside the theme must have GPL.
  3. Make sure you have not disabled any default WordPress features. 
  4. The readme file must have all credit info for used images, libraries, and references.
  5. Theme does not represent anything illegal, dishonest, or morally offensive behavior.

Upload at WordPress.org 

You can upload the theme using https://wordpress.org/themes/upload/, any new revision, and the theme updates. 

After uploading the theme files, it will create a ticket, and you will have to wait for a couple of days before any developer requests to review your theme. All reviewers are volunteers. You can also get an idea of the current theme review team member from the codex page.

You can also check current themes waiting in the queue at https://themes.trac.wordpress.org. It will also be useful to join the Slack theme review channel to discuss review issues in the open channel.

Try to be proactive for any comments and points made related to your theme and submit fixes actively to keep your ticket reviewer.

About BuddyX features

BuddyX is a community membership theme with BuddyPress support. It is a lightweight, fully responsive, SEO optimized, RTL & Translation ready theme. It is a multipurpose theme perfect for all niches, be it membership, social community, corporate, e-commerce, LMS, etc.

The theme also provides support for WooCommerce, WC Vendor, LearnDash, LearnPress, and GamiPress plugins. It is highly customizable and works perfectly with page builders such as Elementor and Gutenberg. BuddyX is perfect for creating social learning, marketplace, and blogging websites using BuddyPress integrations.

BuddyX has the latest best practices for progressive web content and optimization. We have tested it with the latest BuddyPress version and popular BuddyPress addons. BuddyX is developed, maintained, and supported by Wbcom Designs.

We have worked on the following features

  • User menu for logged in members
  • Improved UI for Activity, members, groups directory pages
  • Improved UI for Member and Group single unique layout
  • Both sidebar options for BuddyPress pages
  • Improve sidebar widgets style
  • rtMedia supports to display of single and multiple photos in the activity.
  • Better widgets layout
  • Color scheme options
  • Extensible with plugins

Within the theme, we have overridden several template files to make the above changes.

Activity Compotent – 

buddypress/activity/entry.php
buddypress/activity/single/home.php

Members Component –

buddypress/members/members-loop.php
buddypress/members/single/cover-image-header.php
buddypress/members/single/home.php
buddypress/members/single/friends/requests-loop.php
buddypress/members/single/groups/invites.php

Groups Component – 

buddypress/groups/groups-loop.php
buddypress/groups/single/cover-image-header.php
buddypress/groups/single/home.php
buddypress/groups/single/members-loop.php

rtMedia plugin –

rtmedia/main.php 

We have picked the Nouveau template for BuddyX for various reasons as following.

  • Nouveau delivers modern markup with fresh JavaScript-powered templates.
  • Nouveau provides vertical and horizontal layout options for BuddyPress navigation.
  • Provide a grid layout and a classic flat list.
  • Minimal styling for better theme compatibility.
  • Consistent and flexible PHP template functions.
  • Customizer compatibility.
  • Better differentiation of content types.
  • A rethought Messages component.

Summarizing features for BuddyX, you can check a detailed overview at buddyxtheme.com.

  • Multiple Header option
  • Polished member and group directory layout
  • Three variations for member and group header layout
  • Color Scheme and Typo options
  • RTL and translation ready
  • AMP ready
  • Gutenberg ready
  • WooCommerce ready with multivendor using WC vendors, Dokan support in the development queue.
  • bbPress Forums Support
  • Optimized Mobile Menu Panel
  • LMS support: Learndash and Learnpress support included; we will add dedicated support for other popular LMS plugins incoming updates.

We have prepared a couple of demos; you can try the BuddyX demo as a member login.BuddyX is available at WordPress.org for download to create your community; we will appreciate any feedback to improve BuddyX features.