问题描述
我正在使用一些具有短码的插件… 但是,我不是为内容创建公共页面,而是使用 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。