I’m using a few plugins that have shortcodes … however, instead of creating a public page for the content, I’ve created some new pages within the admin using add_menu_page
and I need to know how to utilize do_shortcode()
within this context.
As it stands, all the function does it spit out the string. I’m assuming it’s because the shortcode API isn’t available within an admin page.
How do I get around this? There is no documentation that I can find that explains how to utilize shortcodes within the WP Admin… or if it’s even possible.
Specifically I’m trying to utilize WooCommerce shortcodes within the WP Admin. I hate the fact that plugins don’t utilize the WP Backend for account/user management.
Instead of calling do_shortcode()
just call the function associated with the shortcode.
Example
There is a shortcode named [example]
and a function registered as shortcode handler:
function example_shortcode( $atts = array(), $content="" )
{
extract(
shortcode_atts(
array (
'before' => '',
'after' => '',
),
$atts
)
);
return $before . $content . $after;
}
add_shortcode( 'example', 'example_shortcode' );
In your admin page you just call the function:
echo example_shortcode(
array ( 'before' => 'This ', 'after' => '!' ),
'works'
);
Output: This works!
.
Faster and more reliable than do_shortcode()
.