問題描述

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