How to make user driven Community with Rehub theme
Here, we start another step by step tutorial about creating communities on Rehub. I will describe creating Deal (or Coupon Community), but you can use this for any kind of communities where users create your content. You will know many secrets, tips, interesting plugins.
What do you need to have on website to make it as community? I think next: easy registration, User Profile pages where they can easily control their info, User submit frontend forms, Point system (rank, badge system), Bonus sections for Users with high rank, advanced communication channels like private chats or forums, easy structure of site.
Lets talk about each of parts. But before this, you must install some helpful plugin. First of all, install Buddypress. For this, go to Plugins – add New and type “Buddypress” in search form. Then, install and activate Buddypress. Do the same for plugin “MyCred” if you need point system. After this, go to Rehub – plugins and download our bonus plugin RH Frontend Form (for user submit), RH Cloak (for modification of user links) and RH Membertype PRO (this is optional, download and install it only if you need advanced Member types on site.
Easy frontend registration for users
For community sites I can recommend two ways for registering users. One is very simple, second is more advanced. I don’t recommend to use both ways in the same time, because you should have only one page for user registrationback to menu ↑
We added very easy login/register popup in our themes. To enable it, go Theme option – User option and enable Login Popup. Then, you must add login/register link to your header. You can add it directly to header section or to Menu (main menu or top menu)
How to add login button to header
Go to Theme option – Header and menu and enable Shop/Comparison header layout OR Customizable Header Layout.
Shop/Comparison header layout looks like this
Customizable Header Menu looks like this
So, if search is more important for you – use Shop/Comparison header layout and enable login icon. Customizable header has option also to add additional Menu near logo. For this, go to Appearance – Menus and create new menu, then, you can choose it in Theme option – header option if you choose Customizable Header Layout. Avoid to use too much items in such menu. Use not more than 2-3 items with short names
How to add Login Icon to Menu
Instead of adding login icon to header, you can add it directly to menu. For this, go to Theme option – User option and enable next option
Anyway, I recommend to use Header option instead menu option
Separate Register Page
Activate this way only if you need advanced registration with email activation. For this, go to Settings – Buddypress – Pages. And choose page which will be used for register page. If you don’t have such page, create it and name it as “Registration”. Then choose it for Buddypress.
Our theme has nice looking custom register page for Buddypress, see demo
Now, you can also synchronize this page with Login/Register link which you enabled in previous step. For this, go to theme option – user option – Add custom register link and add link to your Buddypress Register Page. This will redirect users to this separate register page when they click on “Register” link inside Login Popup.back to menu ↑
This is most easy part of community site, because you don’t need to do any actions. Just enable Buddypress on your site. If you want to extend User profile page, you can do this for two areas. First area is sidebar area.
By default, Profile page doesn’t have widget area, you can enable it in Theme option – Buddypress – Enable widget for Profile page
Once you do this, you will have widget area which you can configure in Appearance – Widgets – Buddypress Profile sidebar. In this place you can add Buddypress widgets, for example. They will be visible only on User profile page.
Another place is Custom Code area in User Profile which is visible before Content of User profile. To add such content, use theme option – Buddypress – Add custom message or html in profile of User
Anything which you add in this field will be visible for everyone who visit User profile page. You can also add some content, which will be visible only for user who is owner of profile. To do this, wrap content with next shortcode
I recommend also to enable/disable modules of Buddypress in Settings – Buddypress. Usually, i deactivate Activity module, because it’s useless for user submit and used only by spammers.back to menu ↑
User Content Submit
In this step you must configure your frontend form which you will use for user submit. Our theme has special Post offer section which can be used to save deal/coupon data from Users. And our RH Frontend PRO plugin can be used to setup such forms. You can download plugin from Rehub – plugins. Then, create forms like described in video
Plugin also has feature to import forms. So, you can download this file and import it in RH Frontend – Settings – Data – Import. Import it only if you don’t have any other frontend forms, because it will overwrite existing forms. Then, you will see your form in RH Frontend – Forms. Edit it, check each field and add your own labels, currency if you need, delete fields which are not important for you or add new fields
Also, I recommend you to check settings in RH Frontend – Settings and RH Frontend – Emails. For example, maybe you will need to increase file size which users can upload. Default is only 500kb and also enable option to allow subscribers to upload images
Also, some settings of Form is available when you create your form.
Ok, when you got your form, you will see two shortcodes in top of form. Copy them, they are very important. First shortcode generates form. Second – generates List of all posts with “Edit” links, so, users can edit own posts, see status of posts, etc
Now, create two pages and place shortcode in each page. Name pages as you want and copy links of pages. Now, you can assign links to User dropdown menu. For this, go to theme option – user option – Select url for post edit form and Theme option – user option – Select url for post submit form. Now users can see links to add posts from their menu dropdown in header
The same link you can assign to Button in Customizable header in Theme option – Header and Menu option. And even add Post Tab in User profile, so, users can create posts directly from their profiles. Follow next steps “how to assign post submit to Buddypress Profile”back to menu ↑
Automatic changing User Affiliate links
When users submit links, of course, they will use their own affiliate ID in links, so, you can’t get commission from such links. We made special plugin which can automatically replace user affiliate IDs to your IDs. You can download plugin RH Cloak Affiliate Links in Rehub – Plugins. It has 3 modules: Link cloak, statistic and Rewrite Links. You will need module Rewrite Links. I will show example with Amazon Links.
Usually, Amazon affiliate link has next look
It can be much longer. Most important part is “https://www.amazon.com/Apple-iPhone-GSM-Unlocked-5-8/dp/B075QMZH2L” – it’s link on product page and tag=wper20 which adds affiliate tracking ID to link.
tag= is url parameter. All affiliate ids will have this parameter before affiliate id.
wper20 – is affiliate ID.
If you click on such link and buy product, user who has affiliate ID wper20 in Amazon Affiliate system will get commission from such sale.
So, if you want to replace all user amazon links to own, add next
amazon.com – is domain of link where plugin will try to replace affiliate id
wpsoul20 is your own affiliate ID
tag= is url parameter which goes before affiliate id
100% is probability. 100% means that plugin will change link always. But, maybe this will be not best solution for users and they will not want to post such deals on your site when they can’t get some money. So, you can share commission 50%/50% when you set probability as 50 value. In this way, plugin will change link only in 50% of cases.
Under probability, you will find also available roles on your site. This can be helpful if you have membership system on site (read below some examples). You can make PRO role of users on site which can post own links without any replacing. You can even give users such PRO role when they get special amount of reputation for their activity on siteback to menu ↑
Point system for Users
Plugin has several modules which can be used in most of cases. Basic is Point System when user gets points for special actions. Common settings for this system is in Points – Settings. Then, go to Points – Hooks and enable actions which will give points to users. Usually i use Points for logins, for comments, publishing content, Buddypress hook and Hot, Thumb Likes and Wishlist Hook.
By default, all points will be visible in User Profile, you don’t need to configure this step. You can also enable option to display ranks, badges, points near user avatar in Comments on Site. This option is in Theme option – Buddypress Option – MyCred Option
When you have point system, you can also enable Badge and ranks for site. Rank will be assigned to users once they get special amount of points. Rank can be only one for each user. Badge is special image which user can get for special actions. For example, you can give special badge when user post 10 posts on site. You can also download images for badges Also, many image sets can be found on site freepik.com or similar.
You can enable Badges and Ranks inside Points – Addonsback to menu ↑
Restrict Content By Points
Good example how you can increase activity on your site is when you give users special bonuses for their points. For example, you can create special page and add there download link of some valuable content. Then, restrict access to this link for all users who don’t have special amount of points. For this, use special shortcode of MyCred
I want to give you some interesting example, which i prefer to use.
Usually, when you create Homepage, you have special Featured section which shows only special posts (by category, tag or key). See how to make featured area in page builder Now, you can create special form which will submit posts to this area. And wrap this form shortcode with point shortcode. Example
[mycred_show_if balance=100] [wpfepp_submission_form form="2"] [/mycred_show_if]
This form will be visible only for user with points more than 100.
Another, even more advanced example
[mycred_show_if ref="ref_overall_post_wishes" count=10] Author must have published posts which were gained minimum 10 points for wishlist hook [/mycred_show_if]
another ref “ref_overall_post_likes” for HotMetter hook.back to menu ↑
Useful Links for further investigations
MyCred is really very powerful system with endless possibilities, I recommend you to investigate their addons which can give you functions to sell points to users (so, they can give points to get access to special parts of your site immediately), sell content for points (can be useful for cashback sites where users can get points as cashback and then buy something on your site for these points), transfer addon, Coupon addon, etc. Check Mycred siteback to menu ↑
Membership system on site
There are many greate membership plugins for wordpress, but mostly, for community sites, Rehub theme + Buddypress is enough for membership, because WordPress has own Role system and Buddypress has Membership system. I also want to give you some interesting tips for advanced using of WordPress, Buddypress and theme membership system. First of all, you can install our special Bonus Plugin – RH BP Membertypes which you can download from Rehub – Plugins. This plugin can be used to create custom Member Types and assign them to roles.back to menu ↑
Give users special roles or Member types for points
In previous step, we wrote about Point system. Rehub theme also has additional function which can be useful when you want to give users better Member type or role with more access. This option is in Theme option – Buddypress option – MyCred option – Give user roles for their Mycred Points. In this field you can add all roles and points which will give roles.
Example. I have 3 custom role on site. Customer, Contributor, PRO user. So, my field will have next content
customer:100 contributor:1000 prouser:10000
In this field you can use Role slug, not Role Name. Role slug is value which is used by wordpress to detect role. It’s not the same as Role name. To see available Roles on your site, you can go to Users – BP Member Types (you must install RH BP membertype plugin for this), then, create any Member type and in last field you will see select with all available role slugs
Also, in Theme option you can enable option “Give BP member types instead of roles?” which will add Member Type instead roleback to menu ↑
Roles or Member Types and How to synchronize them
Sometimes, you can be confused about Member types and Roles. What do you need to use and why? How can you synchronize them?
Well, Roles are default WordPress thing. All sites on wordpress have Roles once you install wordpress. It’s just inner function which can give access to special parts of site to different users. For example, Administrator role is Top access to whole site. Subscriber Role is mostly access to read site. You can read about roles in codex There are several ready roles: subscriber, contributor, editor, author, administrator. Woocommerce adds also additional roles: customer and shop manager. If you want to go further and have full control on Roles and custom roles, you can use User Role plugin
Buddypress Membertype is own function of Buddypress. It’s working as User categories, but can be also used to give different access for users. Instead of roles, user Member types are visible on site, you can see small label of Member type near user name.
One important difference between Roles and member types is that Member type can be only one for each user, but user can have unlimited roles at once. Also, Member types can be used to collect different data from user registration, because they are integrated in Xprofile (Users – Profile Fields). For example, you can create Business Member type and Customer member type. And assign additional fields in registration form depending on Member type.
When to use Roles and when to use Member types? Well, for most of plugins, you must use Roles. For example, in previous step we wrote about different user links for different roles. But, my advice – use Member types always directly when it’s possible. Anyway, we have added special bridge, which can be used for synchronization between roles and types. We already wrote about it in previous step – plugin RH Member Types. With help of this plugin, you can create different custom Member types. In end of options for each membertype, you will see option to assign role. Here you can choose roles which can be assigned to Member type. Once user gets this role, he will be automatically assigned to Member type.back to menu ↑
How to use Roles and Member Types, examples and shortcodes
There are a lot of ways to use roles and Member types. In previous steps we wrote about different user links for different roles. The same can be used to show different content for different roles and member types. Inside content you can use also Frontend Forms and any shortcodes from other plugins and you can have unlimited combinations. You can set even different Post Submit Limit in Frontend Forms in Form settings – Extended.
We also updated our special documentation about theme conditional shortcodes for Roles and Members where you can check all available shortcodes of theme.
I don’t recommend you to make too complex membership system. For deal sites, I usually use only Point system + theme option to give different member roles to users based on their points. Then, i use these roles in RH Affiliate Cloak to give different probability of changing affiliate links for different user roles. Another way which I use is when i give users custom member types based on their points, then, I make special bonus page for users where I place different high valuable content and place it inside member type conditional shortcodes to hide it from all users except users with special member type.back to menu ↑
Some tips for design
If you check most of top communities, they have very simple, clean structure. I see that many buyers do the same mistake. They try to overload their homepage with tons of blocks. This will just increase page load time and will confuse users. Check top communities: hotukdeals.com, slickdeals.net, mydealz.de. They have very simple structure of homepage. Just list or grid + sidebar.
We created two special modules for the same: Deal Grid and List with thumbnails. You can find them in Page builder. We recommend to use Recash child theme for any type of communities, because Recash child theme has deal grid and lists modules as default. You can also assign Top featured carousel, filter panel to modules. Check video about page builder.
For sidebar – I recommend to use our special Rehub: Top offers widget, Rehub: Deal of day, Rehub: Ajaxed tabs, Rehub: Post lists. If you want to stick some ads in sidebar, use widget Rehub: Sticky on Scroll.
If you want to create separate pages for Stores/Brands, read next docs
You can also extend width of whole Theme in Theme option – general – Width style
You can add also Price range pages
You can enable separate Blog section on site