Skip Navigation

[Résolu] Course Design and create Pre-requisites

This support ticket is created Il y a 1 an et 10 mois. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

This topic contains 2 réponses, has 2 voix.

Last updated by jamesH-3 Il y a 1 an et 10 mois.

Assigned support staff: Jamal.


Hi Team

I tried to use Toolset plugins a number of years ago. For someone with no coding background, I was unable to achieve what I needed at the time and to be honest, gave up in the end.

I have recently had another look at your plugins and your website. It looks you guys have come a long way so I have decided to give it another go.

At this stage, all I need is your general guidance to achieve what I want.

I am working on a website where, in addition to many other services, users will become members to complete free courses and get certificates for completion of these courses.

I prefer not to use LMS plugins because they will only slow down the website, it would require some coding and tweeking to make the profile pages the way I want and they seem to be high cost plugins.

Your course pages are very close to what I am looking at. Here is an example:

Here are my questions:

* Firstly, how can I achieve course page/s like that?

* Also, I would like to add the following and would like to know if they are possible and if they are, how I can achieve them:
- I would like to add a "Complete and Move to Next Chapter" button to the bottom of each chapter page and "Complete This Course" button on the bottom of the last chapter of the course.
- What I want to achieve is to make sure users complete every chapter before they are allowed to complete the course. I think I can achieve this in two possible ways
--- First option is to set each chapter as the pre-requisite of the next one
--- Second option would be, setting up the "Complete This Course" button in a way that it will only work if all Complete and Move to Next Chapter buttons have been clicked.
- I would like to be able list all courses in a user account page, with one of the status of "Start This Course", "In progress" or "Completed" (Start status to show when the consumer has not started the course, "In progress" if the user started the course but has not clicked the Complete This Course button and "Completed" if the consumer has clicked on all buttons including the complete this course button.)
- I wuold also like to add a certificates page in user account page (This page will show certificate posts to show only if the user completed a course - somehow Complete This Course button would the conditional of the view on this page)

Looking forward to your response




Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Hello and thank you for contacting the Toolset support.

Before trying to elaborate on the requirements of your project, it is worth to mention each Toolset element that would be used and what each is meant to be used for. Our glossary is an interesting introduction to each of them

- Posts, Fields, Relationships, and Taxonomies are meant to hold and organize data.
- Custom Post Types are the core data element. WordPress includes default custom post types(Post, Page, Media) and Toolset allows you to create your own(Course, Chapter, etc.)
- Custom fields allow extending posts with additional data(dates, numbers, choices, etc.)
- Toolset Relationships allows creating relations between data in different ways(one-to-one, one-to-many, many-to-many). A course can have multiple chapters for example.
- Taxonomies are a way of organizing posts in sets or classes(called terms in WordPress).
- Views, Content template, and Archive are meant to query, search, and display data.
- Archive templates are a default WordPress feature to display a list of posts, Toolset allows to customize how the data is queried and displayed.
- Content templates are meant to display ONE post. They can be used inside a view's loop, an archive's loop, or inside another content template.
- Views are meant to display a list of posts. They use WordPress WP_Query to query the database of posts.
- Forms are meant to allow the user to interact with the system from the frontend. A form can only create or update ONE post.

Toolset also offers a condition system in different parts. Conditions can be set for custom fields, they can be used inside content templates, views, and archives. They can also be used inside forms. Not all the possible conditions are available for all these cases, for example, the conditions on forms are very limited.

Toolset also allows extending taxonomies and users' data with custom fields. Read more about it in our documentation:

Please note that Toolset has introduced Toolset Blocks and some of the above articles may be related to the legacy Toolset Views(based on shortcodes).
You can still activate the legacy views editor in Toolset settings.

This being said, I'll try to answer some of your questions in a general manner.

To track the progress of a certain user, you can use posts for which the user is the author(eg. Certificate).
You can use views to query user's posts that have a certain value for a custom field(eg. Status)
You can use conditions inside views to display different elements depending on the user or post data(eg. different buttons depending on post status)

I wonder if this gives you a general idea of how Toolset works and how you can implement your requirements. Let me know if you have any questions or you need any more details.

However, for support rules, we are able to handle only one issue at a time. This helps us to bring you a better service and also helps other users to find all the information here exposed. For that reason, I have to kindly ask you to open a new thread if you need to elaborate more on any specific requirements of your project. You can assign it directly to me. In that way, you don't have to wait and we can continue working on it.


Thanks. I'll open other support tickets.