March 31st, 2015 LearnDash Tips

Most people want to create an online course that is not only useful, but that is also visually appealing. In fact, most of the time visual components can help to make your course more effective.

The good news is that using a program like LearnDash, adding your own unique “flavor” to your courses is quite easy given the flexibility of WordPress.

With WordPress, it’s simple to add media, create various layouts, implement buttons, dynamic text, and so on.

But if you’re interested in creating a truly custom visual component to your course content, then we strongly recommend you use Visual Composer by WPBakery.

If you’re not familiar with Visual Composer, it is drag-and-drop page builder for WordPress with both front-end and back-end editors. Simply put, if you want to create a professional layout for your lessons, then Visual Composer is the way to go.

Using Visual Composer and LearnDash is Easy

When you install and activate Visual Composer, you will first need to go to SETTINGS > VISUAL COMPOSER. On this page is where you can select to apply Visual Composer to LearnDash custom post types (Courses, Lessons, Topics, Quizzes, etc.). Once you select these and save, you’re ready to get started.

Navigate to an existing LearnDash lesson (or create a new one if you don’t have any yet). You will notice two new ways to edit your content:

You can use either editor. I went ahead and selected the front-end editor and was taken to a page that contained the following:

As you can see, I am presented with a variety of potential layouts, making it extremely easy to create a visually attractive LearnDash lesson with the click of the button.

Once you select your layout, all you need to do is being adding your content, as shown below:

Should You Use Visual Composer with LearnDash?

The answer to this really depends. If your courses are primarily video driven, you might still get some benefit out of  using Visual Composer, but probably not as much compared to courses that have a multiple course materials (text, audio, video, images, etc.).

Also, it’s important to keep in mind that while Visual Composer is pretty simple to use, you’ll have to get used to it first. As with most software, there is a bit of a learning curve at first. If your project is on a tight timeline, then taking on an extra piece of software might not be a possibility.

With these things in mind, I still recommend Visual Composer for LearnDash users who want to get a little more creative with the way they present the course content. The screenshots included in this article are just the tip of the iceberg when it comes to what Visual Composer allows you to add to your Lessons.

Visual Composer is available for purchase on CodeCanyon.

Justin Ferriman photo

About Justin Ferriman

Justin Ferriman started LearnDash, the WordPress LMS trusted by Fortune 500 companies, major universities, training organizations, and entrepreneurs worldwide for creating (and selling) their online courses. Justin's Homepage | Twitter


60 responses

Leave a Comment


I ve bought visual composer, I want tot insall in on my site. Becourse i want to use it with learndash. The tjheme i use is enfold. The plugin doesn’t install.
What is the problem and what can i do?

Kindly recards
Jurgen Hildering

Hi Jurgen-

If the plugin is not installing you’ll want to reach out to WPBakery via their support. That said, make sure when you download the ZIP file that you unzip it. The ZIP file that you download initially is not the plugin. The plugin is actually located inside this folder via another ZIP file.

Hi Jurgen,

Note that Enfold includes Avia, its own layout builder, which is a replacement for Visual Composer. Avia can do almost as much as Visual Composer and using both on the same site could introduce conflicts. By default Avia (you’ll see it as “Advanced Layout Edit”) doesn’t work on LearnDash post types. To get it LearnDash working with Avia, you’ll want to add code like this to your functions.php file:

add_filter(‘avf_builder_boxes’, ‘avia_register_meta_boxes’, 10, 1);
function avia_register_meta_boxes($boxes)
foreach($boxes as $key => $box)
$boxes[$key][‘page’][] = ‘sfwd-courses’;
$boxes[$key][‘page’][] = ‘sfwd-lessons’;
$boxes[$key][‘page’][] = ‘sfwd-topic’;
$boxes[$key][‘page’][] = ‘sfwd-quiz’;
return $boxes;

Hey Ryan,

I am using Divi, which also comes with its own custom page builder.. Do you think that using Visual Composer with Divi will also cause problems? Currently, I cannot use the Divi Page Builder for any of the LearnDash Content. So, I am hoping that I could use Visual Composer to my benefit.

Awesome suggestion…! Visual Composer is saving my life. The only issue I’ve run in to is with trying to use LearnDash shortcodes within VC elements (for example, in a text box). The page will spin and spin until removing the shortcode and reloading.

It is possible to map shortcodes to VC, though it looks like it will take more manual labor and digging through LearnDash source files to find out how to get them to map so dynamically.

Avatar Dan W.

Hi Dan-
I didn’t seem to notice this behavior when using VC and LD together. If you can provide more detail in the support forum maybe we can look into it further.

Oh my gosh you are genius! I had no idea you could change the settings to use Visual Composer on posts or lessons!

Hi Justin,

Will you please respond to Jeffrey Soto’s question above regarding the Divi theme?

I’m considering that theme, too. But, I need to find an alternative theme if the builder Elegant Themes packs with Divi isn’t going to play friendly with LearnDASH.

Thanks so much!

Avatar Grace

Hi Grace-
Thanks for the comment. People are using both LearnDash and Divi. The page builder in that theme needs to be extended to LearnDash custom post types but there are solutions for doing this.

Thanks for your response, Justin.

Now, you said,

“The page builder in that theme needs to be extended to LearnDash custom post types but there are solutions for doing this.”

What are those solutions and where can I find them? Are they LearnDash or Divi addons? Are they plugins, and if so, which ones? Does it mean adding custom coding to the theme?

Your response is really vague. Will you please clarify?

Thanks again!

Avatar Grace

Hi Grace-

Thanks for the comment. As with anything on WordPress there often multiple ways to do one thing 🙂 , the best solution to you could depend on a variety of factors. I know that people have used this plugin with success, as well as followed the instructions here with equal success.

Hope that helps!


Thanks so much, Justin. This is TREMENDOUSLY helpful!

Avatar Grace

Thanks a lot! you’re making my day man!

How would you use learn dash student conditional shortcodes with visual composer like:
This shortcode shows the content if the user is not enrolled in the course. Example usage: [visitor]Welcome Visitor![/visitor]
This shortcode shows the content if the user is enrolled in the course. Example usage: [student]Welcome Student![/student]

While these could bracket elements in the regular wp text editor after the post is created in visual composer, if you opened visual composer again and changed anything it would over-write these learn dash shortcodes and replace everything with the new visual composer created information.

So I’m wondering how a visual composer created post could be made to function according to the short-codes based on conditions of the student. Would you always have to go into the wp text editor and locate the VC elements (assuming you could recognize them) and then insert the conditional short-codes around them again?

Hi Alan-

At the moment these two shortcodes can still be used, but they indeed need to be entered in via the text editor.

Hi all,

I’ve recently bought LearnDash and am using Avada as my theme. Avada has a built in page builder called Fusion. I have combed through their support forums and found this post on setting Fusion page Builder to work with LearnDash:


I believe Visual Composer is a more powerful page builder and am seriously considering it. If so, there is an option in Avada to turn off the Fusion Page Builder.

Are any of you using Avada + LearnDash + either Fusion or Visual Composer?

Thank you!

Avatar Chris

Hi Chris-

I know Avada & LearnDash are being used together, as well as VC and LearnDash. Regarding the Fusion Page Builder, it likely needs to be extended to custom post types to be used with LearnDash.

Has there been any update to this? We are going to make the switch to LearnDash in a few months and we are using the Avada theme.

Avatar Derek R.

I’m not entirely sure I know what it is you’re referring to Derek, my apologies. If you want to use LD with Visual Composer it can be done but it has to be configured on their end.

How about Beaver Builder, do we need to go with customer post types there as well? Any other advice for a successful integration?


If Beaver Builder works on custom post types then it can work with LearnDash.

Regarding Avada & LearnDash. They can work together like with visual composure with the small plugin that extends Avada to use custom post types. You can check it out at

Avatar Slava

Hi Slava,

This still in development? Dead projects killing me.

Avatar cameron

My question is about LearnDash and Visual Composer, but it does not deal with using VC to style LD. I want to use LearnDash Courses and Lessons as a data source in Visual Composer’s post grids. I can’t seem to grab your custom post type or by ID with custom queries. Should I be asking you or WPBakery this?

Avatar Matt

Hi Matt-
Indeed that would probably a question best asked of WPBakery. It’s possible that in order for our posts to be ‘grabbed’ that we would need to do some kind of specific formatting/coding. This could explain why they can’t be selected as that hasn’t been anything we’ve worked on.

Hi Justin, what I want to do is to edit the layout of the templates so I don’t have to manually configure every course / lesson. My issue is that I want to edit the template using Visual composer. is this possible?

Avatar Paul

I believe you can save templates you create in VC and re-use them.

Hi Justin,

I’ve just purchased VC, and have Activated it. However, your instructions say to go Settings -> Visual Composer so that I can select to apply VC to the LearnDash custom post types (courses, lessons etc).

I can’t see Visual Composer as a menu option under “Settings”. What do you think I could be doing wrong?

Thanks so much in advance! Ange

Avatar Ange

Hi Ange, try looking in the settings page specific to VC instead of WordPress settings.

All good – thank you! I am unable to view it from the front end editor, but I’ll take that up with VC Support =)

Avatar Ange

I’m having the same issue, Ange. Any luck with a fix?

Avatar Peter Griffin

I found this after a bit of searching.

Go to Visual Composer Settings, then the Role Manager tab. Under the Administrator drop-down, and then the Post types drop-down, choose Custom.

You should then be able to use Visual Composer on whichever post types you select

Avatar Pete Matthew

This worked for me! Thank you SO much!

Hi !
If you are an Avada theme user, I recommend checking out the new version of Custom Post Type plugin for Avada. It now can display also custom taxonomies ( categories) and terms.

The have a Demo with LearnDash as well.

Is there a way to show course list without showing the featured image (when course grid plugin is installed)?

Avatar Sam

Only by modifying the add-on.

I would like to create a custom page template for my courses index page. I see it uses index.php for a template.
Can I create a custom template or do I have to create a page and use the shortcodes?

Avatar Jay

You can use the course list shortcode to do this. Contact support and we can get you some instructions.

Hello, I’m going to create a LMS on my wordpress website. I’m using AVADA Theme, and I want to know if it is compatible with Learndash? I’m pretty concerned about this because we are going to do a huge project and I choose AVADA Theme and I don’t want to expent money in all that stuff if it is not going to work. How compatible it is?

Avatar Omar

Yes you can use Avada with LearnDash.

I use templates and builder, but when I Go to my learndash courses it is not available. What can I do? I don’t want to add one more builder because this will destroy my entire website.

Contact themeify support and ask them for instructions on applying their builder to custom post types. Usually that’s all it takes.

I can confirm that it LearnDash works well with BeaverBuilder but cannot seem to make the lessons Full Width, so you lose some of the BB features.

I am using a Genesis theme (Derrick) and Gravity Forms for student enrollment. Any insights on if Visual Composer will cause any issues? Also, will it allow for the reorganization of lesson order in a course easily (versus the built in method of updating the post order number)?

Avatar PB

Not that I know of (in terms of Visual Composer). You’ll need to make sure custom post types are activated if you plan on using that plugin.

Has anyone used the LearnDash plugin successfully with the Elementor Pro drag and drop builder OR with any of MyThemeShop themes? Thanks!

Avatar Mary Greene

Elementor is used on the LearnDash demo site.

I can not see the Elementor button for creating course contents in LearnDash

Avatar victor gaete perez

Victor in the Elementor General settings panel you can check the boxes for the “Post Types” you would like to edit with Elementor. Check “Courses” and click “Save”. Now you should see the “Edit with Elementor” button on your course edit pages.

Hi, I tried this settings but still not seeing “Edit with Elementor” and not being able to edit courses front-end…

I’m using LD + Generate Press + Elementor Pro

Avatar Chema H


We have a problem with the plugin, a file topic.php is missing on the environment :

Warning: include(/var/www/vhosts/……/wp-content/plugins/ld-visual-customizer/views/enhanced/topic.php): failed to open stream: No such file or directory in /var/www/vhosts/……/wp-content/plugins/sfwd-lms/includes/class-ld-cpt-instance.php on line 686

And a blank page is present on the topic ….

Do you have an issue to this bug ? All plugins are in it last version.

Thank’s a lot …

Did you raise this with Visual Composer? Their plugin needs to be activated for LD custom post types.

is LEarnDash + elementor are compatible?

Yes, Elementor is being used the demo site.

Hello Justin,
I have tried to contact LD in all possible ways. I need to reactive my license but I cannot recall what email I used when I bought it. Sorry, if this is not the channel to make this request, but I am giving it a try.
Hope you can help me. Thanks in advance.

Shoot an email to [email protected]. Or, raise a post in the FB group.

I bought WPBaker after reading this and trying their demo, but this article is misleading. WPBaker cannot move the LearnDash elements. On the “Topics” page, the Lessons box is on the right hand side in a column. I want to move it to the bottom of the page like it is on the “Lessons” pages. Using WPBaker, I have tried extending the rows to the full width of the page, but then the content just goes under the Lessons box. I cannot relocate the column nor the box the Lessons checkboxes are sitting in. LearnDash elements are not compatible with WPBaker. WPBaker is a fancy tool, but it shouldn’t be advertised as working “with” LearnDash. Thankfully, WPBaker has a satisfaction guarantee for 15 days.

WordPress Learndash LMS with custom theme?

Hi I wanted to ask a quick question, I`m about to get a project form a client who wants to use the Learndash LMS but he also wants to make a custom theme and not use the premium wp & learndash themes.. I just wanted to have an opinion from you guys is that recommended ? and does Learndash LMS require any “special” development for the theme or it will work on any theme including custom made themes (as information I only created blog themes in WP).

Thank you for your time even if I dont know if this is the right place to ask these type of questions.

Avatar James

Hi i want to customize quiz page. Currently it is using “plugins/sfwd-lms/themes/ld30/templates/focus/index.php”. How can i override this file from my child-theme?

Avatar Tech Ark

I´m running Astra Pro and Gutenberg. I´d like to get the same result for a course as in your Gutenberg starter template

( ).

How did you do this?
I´ve tried to set up the Astra Custom Layout and I can include certain learndash blocks, but the result isn´t nice.

So I´d like to know how you did achive your demo site 🙂

Btw, it was supereasy done with Elementator, but I´m trying the gutenberg now, giving it a chance.

thank you

Avatar Chris

Comments are closed.

Your course could already be online!

We offer a 15 day money-back guarantee and have a world class community to help you get your course online today!

See LearnDash in action. Online Demo


👋 Meet LearnDash Webinar

Are you trying to decide if LearnDash is the right learning management system to build your online courses? Join us for our next live walkthrough.

Join Our Next Webinar!

LearnDash webinars are designed to teach you how to build, grow, and scale your course-building business. Join our team in one of our next live webinars.