问题描述

嗨,我正在构建一个插件选项页面。我真正想要做的是实现可重复的选项卡 (我知道可以使用 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。