Extract the URL from the Uncanny Toolkit Logout Shortcode

Written by Dan Mossop

When working to integrate LearnDash into your site, you may wish to make use of Uncanny Toolkit and the useful shortcodes it provides. One such shortcode is the "uo_logout" shortcode which adds a logout link to the page. However, if you find yourself needing to get the raw logout URL, without the full HTML <a> tag surrounding it, here's how to do it.

To extract the URL from the Uncanny Toolkit logout shortcode:

  • Create a new [db_uo_logout] shortcode to wrap the [uo_logout] shortcode.
  • In the new shortcode, extract and return the url.
  • Add the shortcode PHP code to your site:
  • Use [db_uo_logout] to get the logout URL.

Extract the URL from the Uncanny Toolkit Logout Shortcode using PHP

The Uncanny Toolkit's logout shortcode doesn't provide a built-in option to return only the URL. To address this, you can create a wrapper shortcode using PHP, which extracts the URL from the output. Here’s a snippet you can add to your child theme’s functions.php file or via a plugin like Code Snippets

function db_uo_logout_url( $atts ) {
    $output = do_shortcode( '[uo_logout]' ); // Replace with your shortcode
    if ( preg_match( '/href=["]([^"]+)["]/', $output, $matches ) ) {
        return esc_url( $matches[1] );
    }
    return '';
}
add_shortcode( 'db_uo_logout', 'db_uo_logout_url' );

After adding this code, you can use the shortcode [db_uo_logout] to return just the URL, which you can then use wherever you need the logout URL.

We may earn a commission when you visit links on our website.

Seamlessly Integrate LearnDash with Divi!

Elevate your LearnDash LMS with the Divi LearnDash Kit from Divi Booster. This plugin adds custom LearnDash modules to Divi, resolves compatibility issues, and supports Divi design settings, creating a cohesive and visually appealing learning environment.

Latest Posts

Add Text Before the Number in the Divi Circle Counter

Adding a custom number prefix to your Circle Counter lets you clarify what the value represents—such as currency, units, or labels—without relying on the default percentage format. This helps your counters better match real-world metrics and keeps the design...

Add a Second Line of Text in a Divi Button Module

Adding a second line of text beneath a button’s main label lets you provide extra context, a brief benefit statement, or a supporting call-to-action without cluttering your design. This can improve clarity and increase clicks by making the button’s purpose more...

Top (or Bottom) Align Divi Icon List Module Icons

When Icon List items wrap onto multiple lines, the default icon alignment can make the icon appear vertically centered next to the text, which may look unbalanced or harder to scan. Setting the icons to align at the top creates a cleaner, more consistent...

Make Divi Button Modules Full Width with Centered Content

This configuration makes a Divi button stretch to the full width of its container while keeping its label neatly centered, creating a bold, edge-to-edge call-to-action. You might want this for hero sections, pricing tables, or any layout where a standard-sized button...

Fix the Flickr Typo in the Divi Social Media Follow Module

Sometimes it's the small things that make the difference... there is a minor typo in the Divi Social Media Follow module that was present in Divi 4, and (currently) remains in Divi 5. Specifically, the tooltip for Flickr is misspelled as "Flikr". Here's how to fix...

About Dan Mossop

Dan is a Scottish-born web developer, now living in Brisbane with his wife and son. He has been sharing tips and helping users with Divi since 2014. He created Divi Booster, the first Divi plugin, and continues to develop it along with 20+ other Divi plugins. Dan has a PhD in Computer Science, a background in web security and likes a lot of stuff, 

0 Comments

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

Your email address will not be published. Required fields are marked *.