/lesson/your-lesson-name/
WordPress can only use one plugin for a specific URL path.
When two plugins try to use the same lesson URL, WordPress will show lessons from only one of them.
This is normal WordPress behavior and is not a bug in either plugin.
To use SureDash and LifterLMS together, you need to change the lesson URL for one plugin. In this guide, we will change the SureDash lesson URL.
We will update SureDash lessons from:
/lesson/
to:
/sd-lesson/
Tip: If you are using a child theme, make sure you edit the child theme’s functions.php file.
Copy and paste the code below at the very end of the functions.php file:
// Change SureDash lesson URL to avoid conflict with LifterLMS
add_filter( 'suredash_community_content_post_lesson_slug', function() {
return 'sd-lesson';
});
Click Update File to save your changes.
This step refreshes WordPress URLs and is very important.
After completing these steps:
yoursite.com/lesson/lesson-name/yoursite.com/sd-lesson/lesson-name/Both plugins can now work together without any URL conflicts.
If you need help with child themes or want to confirm the change worked correctly, feel free to reach out to our support team. We are happy to help.
Read more at SureDash
]]>This feature allows you to:
It helps you balance a unified portal experience with the flexibility to tailor specific spaces.
Global sidebar settings are available under SureDash > Settings > Global Sidebar.

Using the global sidebar, the admin can:
When enabled, the global sidebar is shown in all spaces by default.
Each space in SureDash also has its own sidebar settings.

At the space level, the admin can:
This is useful when a space needs different sidebar content than the rest of the portal.
Here is how SureDash decides which sidebar to show:
This ensures that space-specific needs are respected without affecting other spaces.

The Space Sidebar Layout feature gives you structured control over how sidebar content is presented in SureDash. By combining global and space-level settings, you can keep your portal consistent while still tailoring individual spaces to their purpose.
This makes it easier to manage content, improve navigation, and create a better experience for your users as your portal grows.
If you have questions about configuring the Space Sidebar Layout or need guidance on choosing the right setup, feel free to reach out to our support team.
We are always happy to help you get the most out of SureDash.
Read more at SureDash
]]>The Leaderboard feature in SureDash ranks users based on the points they earn and the levels they achieve.
It is designed to encourage healthy engagement and active participation within your community.
As users interact more, they earn points, move up levels, and appear higher on the leaderboard.
Users earn points by interacting with content inside SureDash.
Currently supported action:
Points calculation:
Points are collected over time and are used to determine a user’s level.
Levels represent a user’s progress within the community and are fully controlled by the admin.
How levels work:
No manual action is required after setup.
Leaderboard settings are available under Global Settings in SureDash.

Admins can:
Any changes are reflected automatically on the leaderboard.
The leaderboard is displayed on a dedicated Leaderboard page.
To enable it for users, the admin needs to:

Once enabled, users can access the leaderboard directly from their profile menu.
The leaderboard page shows:
This allows users to easily track their progress and stay motivated.

If you need assistance setting up the leaderboard or managing user levels, feel free to reach out to our support team.
We are always happy to help you get the most out of SureDash.
Read more at SureDash
]]>This guide explains the notification types and shows a full example of adding a custom notification step by step.
SureDash supports three types of notifications. Each type is stored differently and serves a different purpose.
Best for: Notifications meant for a specific user only.
suredashboard_user_notifications_datasetsuredashboard_user_notificationsHelper functions used:
sd_get_user_meta()sd_update_user_meta()Best for: Notifications meant only for portal managers or admins.
suredashboard_admin_notifications_datasetsuredashboard_admin_notificationsFunctions used:
get_option()update_option()Best for: Notifications visible to all users or a selected group of users.
suredashboard_common_notifications_datasetsuredashboard_common_notificationsThis guide focuses on Common Notifications, since they are the most flexible.
In this example, we will show a notification when a new course is published.
First, register your notification in the common notifications dataset.
<?php
/**
* Add custom notification to SureDash
*/
// Hook into the common notifications dataset
add_filter( 'suredashboard_common_notifications_dataset', 'my_custom_course_notification' );
function my_custom_course_notification( $dataset ) {
$dataset['course_published'] = [
'icon' => 'BookOpen', // Icon from SureDash icon library
'description' => __( 'New course "{{COURSE}}" has been published!', 'your-textdomain' ),
'trigger' => 'my_custom_course_published', // Custom trigger hook
'callback' => 'my_course_published_callback',
'formatting_callback' => 'my_course_published_format',
];
return $dataset;
}
What this does:
This function stores the notification data when the event happens.
/**
* Callback when course is published
* Stores the notification data
*/
function my_course_published_callback( $args ) {
if ( empty( $args['course_id'] ) ) {
return;
}
$course_id = absint( $args['course_id'] );
// Make sure the course exists
if ( ! get_post_status( $course_id ) ) {
return;
}
$notifiable = [
'trigger' => 'course_published',
'course_id' => $course_id,
];
// Fetch existing notifications
$option = 'suredashboard_common_notifications';
$notifications_data = get_option( $option, [] );
if ( ! is_array( $notifications_data ) ) {
$notifications_data = [];
}
// Use timestamp as the key
$timestamp = ! empty( $args['timestamp'] ) ? $args['timestamp'] : suredash_get_timestamp();
$notifications_data[ $timestamp ] = $notifiable;
// Save notifications
update_option( $option, $notifications_data );
}
What this does:
This function controls how the notification looks on the frontend.
/**
* Format the course published notification
*/
function my_course_published_format( $args, $value ) {
$icon = ! empty( $args['icon'] ) ? $args['icon'] : 'BookOpen';
ob_start();
if ( ! is_array( $value ) || empty( $value ) ) {
return ob_get_clean();
}
$course_id = ! empty( $value['course_id'] ) ? absint( $value['course_id'] ) : 0;
// Ensure course still exists
if ( ! get_post_status( $course_id ) ) {
return ob_get_clean();
}
$description = ! empty( $args['description'] ) ? $args['description'] : '';
// Create course link
$course_title = '<a href="proxy.php?url=' . get_permalink( $course_id ) . '"><strong>' .
get_the_title( $course_id ) . '</strong></a>';
// Replace placeholder with actual course title
$description = str_replace( '{{COURSE}}', $course_title, $description );
// Use SureDash base formatter
$base = \SureDashboard\Core\Notifier\Base::get_instance();
$base->format_notification( $icon, $description, $value );
return ob_get_clean();
}
What this does:
Finally, trigger the notification when the course is published.
/**
* Trigger notification when a course is published
*/
function trigger_course_notification( $post_id, $post ) {
// Only target specific post type
if ( $post->post_type !== 'community-content' ) {
return;
}
// Only when publishing
if ( $post->post_status !== 'publish' ) {
return;
}
// Dispatch the notification
$base = \SureDashboard\Core\Notifier\Base::get_instance();
$base->dispatch_common_notification(
'my_custom_course_published',
[
'course_id' => $post_id,
]
);
}
add_action( 'save_post', 'trigger_course_notification', 10, 2 );
What this does:
To add a custom notification in SureDash:
This approach works the same way for User, Admin, and Common notifications. Only the dataset filter and storage method change.
Read more at SureDash
]]>SureDash provides course progress action hooks that developers can use to track how users move through courses and lessons.
These hooks make it possible to connect SureDash with external tools like:
Using these hooks, developers can run custom code when a user finishes a lesson or completes an entire course.
This solves the common request for syncing course progress data with third party systems.
Many integrations need more than just content protection.
They need to know things like:
SureDash course progress hooks provide these signals so external systems can react correctly.
Examples:
suredash_lesson_completedTriggered when
A user completes a lesson inside a course.
Typical use cases
suredash_course_completedTriggered when
A user completes all lessons in a course.
Typical use cases
Each hook passes useful data that developers can work with:
This makes it easy to connect SureDash progress with external tools and map it to the correct user and course.
Below is a simple example showing how a developer might listen for course completion.
add_action( 'suredash_lesson_completed', function( $lesson_id, $course_id, $user_id ) {
// Example: Send data to a CRM
// Example: Apply a tag
// Example: Trigger a webhook
});
add_action( 'suredash_course_completed', function( $course_id, $user_id ) {
// Example: Send data to a CRM
// Example: Apply a tag
// Example: Trigger a webhook
});
This code runs automatically when a user finishes a course.
If you are building an integration and need help understanding these hooks, our team is happy to assist.
Read more at SureDash
]]>SureDash gives you full control over how your post excerpts appear inside your portal. By default, excerpts are shown as plain text, which removes formatting like bold, italic, or line breaks. With the Preserve HTML in Excerpts option, you can now keep these elements visible, making your excerpts look cleaner and more organized.
When you enable Preserve HTML in Excerpts, SureDash keeps your post’s original HTML formatting tags (like <br> for line breaks or <strong> for bold text). This helps maintain the structure and readability of your content.
If you disable this setting, all formatting is stripped out, and excerpts will appear as plain text only.
You can find this setting under SureDash > Settings > Community > Preserve HTML in Excerpts.
When Enabled:
“Welcome to our community! Stay updated with the latest posts.”
When Disabled:
“Welcome to our community! Stay updated with the latest posts.”
This option works best when you want to keep post formatting like line breaks or emphasized text, especially in feeds, summaries, or announcement sections where presentation matters.
The Preserve HTML in Excerpts option gives you flexible control over how your content appears inside SureDash. Whether you prefer plain text or formatted excerpts, this setting helps ensure your posts look just the way you want across your community portal.
If you need any help or have questions while using this feature, feel free to reach out to our support team — we’re always happy to assist.
Read more at SureDash
]]>We’ve added a new tab on the frontend of the Portal Dashboard that lets users easily add and manage their social media links. This feature helps users connect their community profiles with their external social platforms, making it easier for others to find and engage with them beyond the portal.
With this update, each user can now personalize their profile by including links to their social accounts, such as Facebook, X (Twitter), LinkedIn, and more.
To add or edit your social media links, follow these steps:

Once you’re inside the Social Links tab:
Your added links will now appear as clickable icons on your public profile or wherever the profile card is displayed within the portal.
You can update or remove your links anytime by:
The changes will reflect immediately on your frontend profile.
Adding social links helps strengthen community connections. It allows members to follow each other’s work, build credibility, and grow their presence across different platforms, all while staying connected through the SureDash community portal.
The new Social Links tab makes your SureDash profile more personal and connected. Start adding your social accounts today and let others in your community discover and follow you easily.
If you need any help with setting up your social links or face any issues, feel free to reach out to our support team. We’re always happy to help.
Read more at SureDash
]]>The Notifications System in SureDash v1.5.0 allows admins to send automated and personalized messages to users based on specific events or triggers within the portal. This helps keep users informed, engaged, and connected with community updates and activities.
Whether you want to welcome new members, announce new spaces, or notify users about upcoming events, the Notifications System provides a simple and flexible way to manage all your communication from one place.
To access and manage notifications:

When you click + Add New, you’ll see a pop-up window where you can:

Once selected, click Create to open the detailed setup screen.
SureDash currently supports the following triggers:
Once the notification is created, you’ll see an editing screen like this:
{{user_first_name}}, {{portal_name}}, or {{portal_url}} to personalize each message.Example template:
Hi {{user_first_name}},
Welcome to {{portal_name}}! 🎉
Your account has been successfully created, and you’re all set to explore the portal.
Access your dashboard here: {{portal_url}}
Welcome aboard!
The {{portal_name}} Team
Once you’re done customizing:
Your notification will now automatically trigger based on the event selected.
On the Portal Dashboard, users can manage how they receive notifications through the Notifications tab under their profile settings.
To access it:
Here, users will see two types of notification options — Email and Portal.
They can toggle on or off depending on how they wish to be notified.

The available options are:
After making changes, users can click Save to update their preferences.
The Notifications System in SureDash helps you automate communication and enhance user engagement without manual effort.
Use triggers to welcome new users, share updates, and celebrate milestones — all from one easy-to-manage interface.
If you need any help setting up or customizing notifications, feel free to reach out to our support team.
Read more at SureDash
]]>In SureDash v1.5.0, we’ve introduced additional profile fields and an entirely new section to help users personalize their community profiles better. Along with the existing profile information, users can now add their Website and Headline, and connect their Social links directly from their profile.
These updates help members share more about who they are and make it easier for others to connect with them.
You will now find two new fields under the user profile section:
The Social Links section is a brand-new addition that lets users link their social media profiles, such as Facebook, Twitter, Instagram, LinkedIn, and more. By default, SureDash includes a few popular platforms, but this can easily be customized through filters.
Each social link includes:
Developers can customize the available social links by using the suredash_user_profile_social_links filter. You can remove existing social profiles, add new ones, or modify the existing dataset.
Here’s an example of removing LinkedIn and adding a new Figma profile link under user profiles:
/**
* Social data is in the following form.
*
* [
* 'mail' => [
* 'label' => 'E-mail',
* 'value' => $user_social_connections['mail'] ?? '', // User's mail.
* 'placeholder' => '[email protected]',
* 'icon' => 'Mail',
* ],
* 'facebook' => [
* 'label' => 'Facebook',
* 'value' => $user_social_connections['facebook'] ?? '', // User's FB link.
* 'placeholder' => 'https://facebook.com/username',
* 'icon' => 'Facebook',
* ]
* ]
*
* Accordingly, these socials can be added/updated/removed as per need.
*
* Here, let's take an example of removing "LinkedIn" and adding a "Figma" social profile link under user profiles.
* Use: https://lucide.dev/icons/ for icon handles, it's built-in and supported by SureDash.
*/
add_filter( 'suredash_user_profile_social_links', function( $socials_dataset, $user_social_connections ) {
unset( $socials_dataset[ 'linkedin' ] ); // Removing LinkedIn default social profile.
// Let's add Figma link.
$new_socials = [
'figma' => [
'label' => 'Figma',
'value' => $user_social_connections['figma'] ?? '', // User's Figma link.
'placeholder' => 'https://figma.com/username',
'icon' => 'Figma',
]
];
$new_connections = array_merge( $socials_dataset, $new_socials );
return $new_connections;
}, 10, 2 );
For more details on how to use and manage the Social Links section from the user’s profile dashboard, refer to the related guide:
How to Add and Manage Social Links in SureDash
With the new profile fields and the customizable social links section, SureDash gives community members more ways to express themselves and stay connected.
If you need any help setting this up or customizing your profile fields, feel free to reach out to our support team. We’re always happy to help!
Read more at SureDash
]]>This footer works like the mobile menu bar you see on apps such as Facebook. It stays fixed at the bottom of the screen and makes navigation easier. You can also customize it to fit your portal’s needs.
Customize the footer menu by updating the links and items as per your needs.
That’s it! Your portal dashboard on mobile will now show a clean, sticky footer menu bar for quick access.
The Footer Application Menu Bar makes navigation on mobile devices smoother and more user-friendly. By switching to the Application Layout, you can provide your community members with quick access to important areas of your portal.
If you have any questions or need help setting this up, please feel free to reach out to our support team.
Read more at SureDash
]]>