Adds multiple widget areas throughout the LearnDash interface. This plugin enables you to add unlimited blocks/widgets to several areas of Focus Mode …
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.
New LearnDash widget areas shown on the Appearance > Widgets screen
Visual location of the Focus Mode sidebar before & after navigation widget areas (highlighted in yellow)
Visual location of the Focus Mode content start & below content widget areas (highlighted in yellow)
Visual location of the course content start & course content end widget areas (highlighted in yellow)
Use LearnDash's [student]
& [visitor]
shortcodes to display widget content to enrolled or unenrolled users
There are two ways you can add widgets to the new widget areas that this plugin creates.
+
icon or use the /
key to choose a block or widget-or-
+
icon or use the /
key to choose a block or widgetYes. Widget Areas for LearnDash should work with almost all themes. We use standard LearnDash action hooks, so as long as your theme is not modifying this LearnDash code (they shouldn’t be), then it should work.
You might experience some spacing irregularities, depending on how your theme styles its default widgets. Please reach out in the support forum so we can help you adjust spacing.
Incompatible Themes:
If you’re already using the Design Upgrade for LearnDash plugin (free or pro), the spacing is automatically added for you. Not only does it add spacing, but it upgrades many other aspects of the LearnDash design.
If you’d like to write your own CSS, add the following code to the style.css
file of your child theme, or the “Additional CSS” area in the Customizer.
.ldx-widget-area.fm-nav-before, .ldx-widget-area.fm-nav-after { margin: 1em; }
This will add 1em
of margin around the widget areas in the Focus Mode sidebar. Feel free to adjust the value to achieve the spacing you want.
Sure thing. Add the following code to the style.css
file of your child theme, or the “Additional CSS” area in the Customizer. You’ll need to adjust it for the specific widget area you’d like to target (see class names in description above).
.ldx-widget-area.fm-content-start { padding: 0.75em; border-radius: 5px; background: #000; color: #fff; }
This would change the Focus Mode: Content: Start widget area to have a black background and white text. The padding is there so the text doesn’t run up against the edge of the box. Feel free to adjust the border-radius
to match your site’s style, or just delete it.
That’s probably because we haven’t added it. There are 50+ different areas we could’ve added widgets to, but that would clutter your WordPress admin area, and we didn’t want to do that to you.
We carefully selected the areas we thought course creators would want most. However, it’s possible we got this wrong. If there’s enough demand for a particular widget area, and LearnDash allows us to target it, we’ll consider adding it.