将即时选项卡添加到插件选项

时间:2012-07-10 作者:urok93

嗨,我正在构建一个插件选项页面。我真正想做的是实现可重复的选项卡(我知道这在设置API中是可能的),但到目前为止,我还没有在任何选项面板中看到这种情况。我想动态创建新选项卡,就像管理UI中的“菜单”部分一样。

有什么标准的方法可以做到这一点吗?

3 个回复
最合适的回答,由SO网友:bueltge 整理而成

WordPress选项卡是非标准的静态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>
WP Tabs

<小时>英寸this helper plugin (WordPress Admin Style) 您将找到管理区域的默认标记的类引用
完整插件快照。上一个快照是位于此快照底部的详细信息
单击放大:

full plugin snapshot wordpress-admin-style

SO网友:Michael Ecklund

创建要在管理页面上创建的选项卡数组。这很可能包含插件添加的菜单页。数组键将是页面slug,数组值将是选项卡文本。

回显插件中希望选项卡显示的功能。

<?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);
?>

SO网友:raison

我已经更新了Michael的解决方案,这样就可以在一个页面内将其用作选项卡。通过调用main_function(), 您将输出选项卡,这些选项卡将链接并输出$my_plugin_tabs 部分

例如,通过单击设置,您将加载选项卡settings.php 并显示选项卡。我想这也可能有助于上传:

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

function main_function() {
    $my_plugin_tabs = array(
        \'bundles\'  => \'Bundles\',
        \'settings\' => \'Settings\',
    );
    $my_plugin_page = \'bundles\';
    echo admin_tabs( $my_plugin_page, $my_plugin_tabs );
}

结束

相关推荐

Options for Wiki WordPress

我想知道如何最好地使用WordPress作为wiki的选项。我尝试了Media Wiki,但我需要对代码进行大量更改,即使是微不足道的更改,也让我感到厌烦。太离谱了。谷歌搜索并没有透露太多。将WP用作wiki的最佳选项是什么?(这可能是一个讨论各种选项的社区问题。)特别是,我希望能够解决以下问题:指向不存在页面的链接实际上链接到“创建新页面”页面,而无需通过/wp admin/(即后端)编辑页面?