問題描述
我正在使用一些具有短碼的插件… 但是,我不是為內容創建公共頁面,而是使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。