問題描述

嗨,我正在構建一個插件選項頁面。我真正想要做的是實現可重複的選項卡 (我知道可以使用 Settings API),但是在目前為止,在任何選項面板中都沒有看到。我想在飛行中創建新的選項卡,就像管理 UI 中的’Menus’ 部分一樣。

有沒有什麼標準的方法來做到這一點?

最佳解決方案

WordPress 標籤是 non-standard,靜態 html 標記。您只能在 functions.php 主題文件或插件內添加標記。

<h2 class="nav-tab-wrapper">
    <a href="#" class="nav-tab">Tab #1</a>
    <a href="#" class="nav-tab nav-tab-active">Tab #2</a>
    <a href="#" class="nav-tab">Tab #2</a>
</h2>


this helper plugin (WordPress Admin Style)中,您將找到管理區域的默認標記的類引用。全插件快照。以前的快照是位於此底部的細節。點擊放大:

次佳解決方案

創建一個您希望在管理頁面上創建的選項卡數組。這很可能包含您的插件添加的菜單頁。數組鍵將是頁面塊,數組值將是製表符文本。

回顯您希望在插件中顯示標籤的功能。

<?php
// Create WP Admin Tabs on-the-fly.
function admin_tabs($tabs, $current=NULL){
    if(is_null($current)){
        if(isset($_GET['page'])){
            $current = $_GET['page'];
        }
    }
    $content = '';
    $content .= '<h2 class="nav-tab-wrapper">';
    foreach($tabs as $location => $tabname){
        if($current == $location){
            $class = ' nav-tab-active';
        } else{
            $class = '';
        }
        $content .= '<a class="nav-tab'.$class.'" href="?page='.$location.'">'.$tabname.'</a>';
    }
    $content .= '</h2>';
        return $content;
}

$my_plugin_tabs = array(
    'my-plugin-overview' => 'Overview',
    'my-plugin-settings' => 'Settings',
    'my-plugin-uninstall' => 'Uninstall'
);

echo admin_tabs($my_plugin_tabs);
?>

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。