問題描述

嗨,我正在構建一個外掛選項頁面。我真正想要做的是實現可重複的選項卡 (我知道可以使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。