问题描述

我正在使用一些具有短码的插件… 但是,我不是为内容创建公共页面,而是使用 add_menu_page 在管理员中创建了一些新页面,我需要知道如何在此上下文中使用 do_shortcode()

就这样,所有的功能都会吐出字符串。我假设是因为在一个管理页面中没有可用的短代码 API 。

如何解决这个问题?没有可以找到的文档,说明如何在 WP 管理员… 中使用短码,或者甚至可能。


具体来说我试图在 WP 管理员中使用 WooCommerce 短信。我讨厌这样一个事实:插件不会使用 WP 后端进行帐户/用户管理。

最佳解决方案

而不是调用 do_shortcode()只需调用与短代码相关的功能。

例子

有一个名为 [example]的短码和一个注册为短码处理程序的功能:

function example_shortcode( $atts = array(), $content = '' )
{
    extract(
            shortcode_atts(
            array (
            'before' => '',
            'after' => '',
            ),
            $atts
       )
   );

    return $before . $content . $after;
}
add_shortcode( 'example', 'example_shortcode' );

在您的管理页面中,您只需调用该功能:

echo example_shortcode(
    array ( 'before' => 'This ', 'after' => '!' ),
    'works'
);

输出:This works!

do_shortcode()更快更可靠。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。