LearnDash on WordPress
LearnDash Course and Lesson Testimonials
LearnDash runs inside WordPress, so pasting the embed works as in our WordPress guide. What LearnDash changes is who sees which page and how lessons are framed: course page content shows to everyone, Focus Mode drops your theme’s footer and sidebars from lessons, and three shortcodes split students, visitors and graduates.
- A course page widget only for visitors not yet enrolled
- Lesson placement that Focus Mode keeps
- A testimonial ask shown only to graduates
LearnDash code
Course page, lesson and finish line
Enter the widget id. Part 1 goes in the course page content, Part 2 in a lesson or topic, and Part 3 near the end of the course for students who have completed it. Replace COURSE_ID and the link placeholder in Part 3 by hand.
Part 1 · Course page, visitors not yet enrolled
LearnDash LMS › Courses › edit course › HTML or text area with the visitor shortcode
[visitor]
<div data-storyproof-widget="YOUR_WIDGET_ID"></div>
<script src="https://app.storyproof.io/embed.js" async></script>
[/visitor]Part 2 · Inside a lesson or topic
LearnDash LMS › Lessons (or Topics) › edit › lesson content
<!-- Lesson or topic content: sits between the breadcrumbs and the
next and previous buttons, so it survives Focus Mode -->
<div data-storyproof-widget="YOUR_WIDGET_ID"></div>
<script src="https://app.storyproof.io/embed.js" async></script>Part 3 · Ask graduates for a testimonial
Course page or final lesson › course_complete shortcode
[course_complete course_id="COURSE_ID"]
<p>You finished the course. How did it go?</p>
<a href="YOUR_STORYPROOF_COLLECTION_LINK">Record a short testimonial</a>
[/course_complete]Check the course page twice, logged out and as an enrolled test student, then open a lesson with Focus Mode on to make sure the widget sits in the content area.
The id you type only rewrites the code on this page. Nothing is stored.
The problem, solved
Student proof in LearnDash: who sees what
- Problem 1
Enrolled students still see the sales proof
LearnDash shows editor content on a course page to everyone, so a widget meant to sell the course greets students who already paid.
How StoryProof solves it
Wrap the StoryProof embed in the visitor shortcode so only people not enrolled see it, and fill that widget with approved stories picked for prospects.
- Problem 2
The footer widget vanished in lessons
Focus Mode removes main navigation, footer elements and sidebars from lessons, topics and quizzes, taking any widget placed there with them.
How StoryProof solves it
Place the embed in the lesson content itself, which Focus Mode keeps between the breadcrumbs and the next and previous buttons.
- Problem 3
We never ask at the finish line
The best moment to ask is right after a student completes the course, and by the time someone emails a survey weeks later the feeling has faded.
How StoryProof solves it
Put your StoryProof collection link inside course_complete, so only graduates see it. They record a video, an audio note or a written review in the browser.
- Problem 4
Lessons are narrower than the course page
Focus Mode sets the lesson content width, so a wall that fits the course page may feel cramped in a narrow lesson.
How StoryProof solves it
Use a separate widget with a compact layout for lessons and keep the larger layout on the course page.
- Problem 5
Student feedback is not all public
Some completions bring candid criticism that belongs with the instructor, not on the sales page.
How StoryProof solves it
Everything submitted waits in StoryProof until you approve it, and you choose which approved stories each widget shows.
In StoryProof
Set it up in LearnDash
Step 1 of 5
Prepare two widgets
In StoryProof, make one widget for prospects on the course page and a compact one for lessons, each with its own approved stories.
Step 2 of 5
Add the visitor only widget
In LearnDash LMS, Courses, edit the course and add Part 1. LearnDash says the visitor and student shortcodes must sit in a text editor or HTML element, not a shortcode element; in the block editor, the LearnDash Visitor block applies the same rule.
Step 3 of 5
Place proof inside a lesson
Edit a lesson or topic and add Part 2 to its content. Pick a lesson where encouragement helps, such as one before a hard module.
Step 4 of 5
Ask graduates
Add Part 3 to the course page or the final lesson with your course id and collection link. Only students who completed every step see it.
Step 5 of 5
Test as each kind of user
View the course logged out, as an enrolled student part way through, and as one who has finished. Each should see a different combination.
LearnDash visibility tools for testimonials
Before you start
LearnDash limits
Focus Mode needs the 3.0 template
LearnDash says Focus Mode does not work with the Legacy template. On Legacy, lessons keep your theme layout and its footer and sidebars.
Course materials are public
LearnDash shows the materials tab to everyone, including visitors who are not enrolled. Wrap anything there in the student shortcode if it is meant for students.
StoryProof does not read progress
Completion targeting comes from LearnDash’s shortcode. StoryProof is not a LearnDash integration and cannot see enrolment or progress.
Badge on lower plans
Widgets show a "Powered by StoryProof" badge until Pro.
LearnDash docs as of 2026-11-13
Settings and shortcode names follow LearnDash documentation as read on 2026-11-13. The steps have not yet been tested on a live LearnDash course.
FAQ
Questions people ask
Short answers to what usually comes up next.
Can I put the widget in the Focus Mode header or sidebar?
No. LearnDash describes the Focus Mode header and course navigation sidebar as dynamic content you cannot edit. The lesson content area is the place.
Does the Course Content Visibility setting hide my widget from visitors?
No. It only controls the course content list. LearnDash states that editor content on the course page is always visible to everyone.
What about a custom sales page outside the course?
The visitor shortcode needs a course_id when it sits on a page that is not the course itself, so LearnDash knows which enrolment to check.
Is quiz feedback the same as a testimonial?
No. Quiz answers stay in LearnDash. A testimonial comes through your StoryProof collection link and is only published once you approve it.
Still have a question? Ask the StoryProof team or book a demo.
Turn course completions into proof
Ask graduates with one link, approve their stories and show them to visitors who have not enrolled yet.
Sources
- Focus Mode, LearnDash documentation (Nexcess). Checked 2026-11-13.
- Course Display and Content Settings, LearnDash documentation (Nexcess). Checked 2026-11-13.
- LearnDash Shortcodes and Blocks, LearnDash documentation (Nexcess). Checked 2026-11-13.
- Page Builders and LearnDash, LearnDash documentation (Nexcess). Checked 2026-11-13.
Last updated 2026-11-13.