CM Product Directory Community (CMPDC) - Use Case - Creating Directory Where Users Suggest Products
Use Case - Creating Directory Where Users Suggest Products
The CM Product Directory allows you to create a listing of products, or products. The community addon lets other users (logged-in or not) create and manage each product profiles.
Use Case Front-End
Quick Read: How It Works
- When a logged-in user creates a product, that product is attached to their account profile. This way, the product(s) will show up on the user dashboard.
- You can let users claim product profiles as their own. If approved, the profile will be attached to the user.
- All product profiles can have login and password. You can enable users (even anonymous) to edit them by inputting these credentials.
This process does not create a WP user associated with the listing. However, it still allows user to update their product listing information without having any access to the WP dashboard or having any other privileges related to WP users.
Use Case Assumptions
In this example use case guide, we'll cover how to create a directory where users can suggest products. You can apply the same idea to the topic of your site.
We consider that you have already bought the addon, but not installed it.
- Installing the addon
- Setting up a directory
- Letting users suggest products
- Moderating submissions and edits
- Creating and modifying the suggest product form
- User view - How a user can suggest products
- User view - The user dashboard
- Updating products
- Notifying users and the admin
Installing The Addon
The process is the same for all CM plugins and addons.
- Download the plugin from your customer dashboard
- Log in to WordPress and navigate to the WordPress Admin → Plugins settings
- Click on Add New
- Activate it and add the license
Setting up a Directory
This Guide Focus on Community
This article focus on turning the directory into a community., so we'll focus information on that.
If you still have not set the directory up, check the plugin's documentation guide: Product Directory (CMBD)
First, set up the directory if you haven't done so.
The settings are under Admin Dashboard → CM Product Directory → Settings.
- Go to Admin Panel/CM Product Directory and click Product and Add New or Add Product.
- Fill in all fields, add Tags, Categories and Additional Taxonomy Terms. Optionally you can also add Additional Links and Fields.
- When finished click on Publish button to add save it.
Go to the Admin Dashboard → CM Product Directory → Settings to set plugin options
- General - Set general options for the plugin.
- API Settings - Twitter and Google settings.
- Product Page - Settings for Product Page. More about Additional Taxonomy, Additional Links/Fields, Star Rating.
- Directory Index Page - General settings for Directory Index page and also Filters.
- Directory Appearance - Settings for three different views: Directory, Tiles and List view.
- Custom CSS - Text field to apply your own custom css styles.
- Labels - Customize plugin labels to your needs.
See the Shortcodes list to know what you can change to adjust plugin to your needs.
Letting Users Suggest Products
With the directory ready, let's allow users to suggest products.
Navigate to the Admin Dashboard → CM Product Directory → Settings → Community Product tab.
TIP: Most Settings Are Located in This Tab
Most settings related to the add-on are in this tab.
Under moderation settings, choose the roles who can add products.
Letting anonymous users make submissions means visitors who are not logged-in can suggest a product. It's recommended to only allow this in tandem with moderation and reCAPTCHA
Also here you can enable moderation for submissions and edits. This means that, every time someone suggests and/or edits a product, the status will be pending until you approve the submission.
There are also notifications related to moderation
Restricted Access Warning
The field "Choose a text to display" will dictate what users without permission will see when trying to suggest a product. The placeholder [list of roles] can be used to show the allowed roles.
Creating and Modifying the Suggest Product Form
Adding Form to the Site
[community_product_form] shortcode on the page where you want to display the suggest form.
In the Settings → Community Product tab, check the Add a product Form section. There are some important settings.
- Suggest a product Page ID - Edit the link to suggest a product form. This should be the page that has the for shortcode.
- "Suggest a product Form" - Link to the page with above.
- Add "Suggest a product" link on product directory index page - Check the box to add a link to the suggest a product link on the product directory index page.
- Maximum number of categories - Set the maximum number of categories that users can assign a product to. The admin can always add more categories.
TIP: Invite Users!
Be sure to link the Suggest product Form in a prominent section of your site so that they easily send submissions.
Editing the Form
The suggest form is quite flexible. To access which fields are available and required, head to Admin Dashboard → product Directory → Settings → Community Products Labels tab.
Here you can set the label of each field. Some fields have the option to be set as visible and mandatory.
TIP: Translate, Adjust
The add-on has over 40 labels that can be translated.
It's an opportunity to change the interface to your site's language and/or style.
reCAPTCHA For Security
Under Community Product Tab → Form settings, you can enable reCAPTCHA.
It will be used on places where the user can submit information. This happens on the add/update a product and the claim a product functionality.
- Show Captcha - Check the box to secure the form with Captcha.
- Captcha key - Enter the Captcha key in the provided box.
- Captcha secret key - Enter the Captcha secret key in the provided box.
Note: You must provide reCaptcha v2 Invisible keys.
User View - How a User Can Suggest Products
Now, when the user reachers the page with the suggest form, they will be able to send the data.
The fields and if the suggestions are moderated... it all depends on the settings above,
User View - The User Dashboard
You can add a dashboard so that the user can edit the products assigned to his/her profile.
This is done by using this shortcode on any page
If the user has sufficient permission (i.e. he/she is an editor or an administrator), a column "Edit on backend" will also be displayed.
What Happens on Edit?
When a user clicks the Edit button they are redirected to the form containing that product's details.
The interface is identical to the existing suggestion form.
Notifying Users and The Admin
Now, let's make sure you and your users are notified of important events regarding submission status.
Notifications are used to send an email to the user submitting his product on the status on the product page and also to the admin managing the directory. In both cases you can customize the email template and decide it should be sent at all.
You can enable/disable and configure these notifications:
- To the Admin
- User suggests a product
- User claims product
- To the User
- Submission was accepted/declined
- Claim rejected
- Information about how to login to a product profile
TIP: Similar Settings
The settings are similar in all cases. You can enable/disable that specific notification and change the content. In some instances, placeholders such as [url] are accepted.
Extra 1 - Granting a User Access to Product Profile
The admin can verify the owner of a product profile in the edit product page. To enable this, turn on the option "Recovery management" in the Community product tab.
Now you will see a meta-box called "CM Product Directory Community Custom Fields" when editing a profile.
In it, the admin can assign the product to an email and approve claims
If an email address is already set, the admin can view/edit the login and password and also send these credentials to the user.
Product Credentials Metabox
To learn more about, check the specific guide Password Recovery.
Extra 2 - Letting Users Claim Profiles
You can let users or visitors claim product profiles as their own.
What The User Does (Front-End)
First, the user has to open the product Page, toggle Claiming form and send his name and e-mail address to admin.
Inside the Product Claim Settings section:
- Claims management - Check the box to allowing products to be claimed by site users. if this is checked than users can claims existing product pages which have not been claimed yet. Once claimed an email will be sent to the admin which can accept or reject the claim.
- Login form on product page - Lets user log in to a product profile on that product's page
- Require captcha for claims - Check the box to add reCAPTCHA to secure product claiming form.
- Allow multiple pending claims for one product - Check the box to allow multiple claims by one product. it is advised not to allow multiple claims to prevent human bots.
TIP: How The Admin Manages Claims
From the WordPress dashboard navigate to CM Product Directory Pro → Settings → Claim Requests.
From here, the admin has an overview of all claim requests.
For each, the admin can accept, reject and delete the request. Finally, It's possible to resend the claim confirmation email.
Learn more: How To - Let Users/Visitors Claim products
With all steps completed, your directory will accept submissions from users via a customized form.