We'll create fresh WordPress site with Widget Areas for LearnDash installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Widget Areas for LearnDash simply gives you more places to add custom content in LearnDash. By utilizing built-in LearnDash action hooks, we assign widget areas (also known as “sidebars”) to various locations throughout your LearnDash pages.
Requires the “LearnDash 3.0” Active Template. Tested with LearnDash 3.6.0.3.
Upon activating the plugin, new widget areas will appear on the Appearance > Widgets screen in your WordPress admin area. You can also access them via the Customizer (Appearance > Customize > Widgets).
Simply add the blocks/widgets you’d like to insert into the corresponding widget areas. Be sure to click the “Save” button at the bottom.
Navigate to a page that contains that widget area, refresh, and your new widgets will be there.
WordPress comes with a set of default widgets, several of which might be useful. If you’re using the new block editor, all blocks will also be available to you.
<iframe>
or write your own codeTIP: You can use the LearnDash Student and LearnDash Visitor blocks to display a block’s contents only to enrolled students or unenrolled visitors.
LearnDash comes prepackaged with a few widgets, but there’s probably only one that makes sense in these widget areas.
Feel free to experiment with the other LearnDash widgets.
If you’re using Elementor Pro, you can create a custom section and embed it anywhere on your site, including in your new LearnDash widget areas. There are two ways to do this:
When you go to insert a block/widget, select the Elementor Library widget. Choose a template from the dropdown menu. Click “Save.”
Navigate to Templates > Saved Templates. Copy the shortcode next to the template you want to insert. Now you’ll insert a Shortcode block into the widget area, and paste the shortcode.
For more information, see the article in Elementor’s knowledge base.
If you need to target the widget areas to apply custom styles using CSS, you can use the following class names.
All widget areas have the .ldx-widget-area
class.
.ldx-widget-area.fm-nav-before
.ldx-widget-area.fm-nav-after
.ldx-widget-area.fm-content-start
.ldx-widget-area.fm-content-bottom
.ldx-widget-area.course-content-start
.ldx-widget-area.course-content-end
.ldx-widget-area.group-content-start
.ldx-widget-area.group-content-end
Example Usage:
.ldx-widget-area.fm-nav-before {
margin: 1em;
}
This would add 1em of spacing around the widget area that appears above the navigation in the Focus Mode sidebar.
In addition, all widgets placed inside of a widget area have a class of .ldx-widget
.
While not a direct feature of this plugin, you can show/hide widgets on different devices using another free plugin.
Another feature of the free Widget Options plugin (mentioned above) is to only show widgets on specific course, lesson, topic or quiz pages.
is_single()
conditional tag to only display that widget on a specific page👉 How to find the ID of LearnDash content
Example:
This would only display the widget on the page with an ID of 7
:
is_single( '7' )
If you wanted to display a widget on multiple pages (with IDs of 1, 2 and 3), your code would look like this:
is_single( array( 1, 2, 3 ) )
There are many more WordPress conditional tags you can use.