有没有一种简单的方法可以让meta box拥有像meta box那样的类别标签?

时间:2010-12-20 作者:Jason Rhodes

我的问题在标题中有大致的概括。我在新的帖子/编辑帖子管理页面中添加了一个元框,我希望能够使用元框中的类别这样的选项卡进行设置。我想有一个简单的方法来解决这个问题,但我不记得怎么做了。有人知道吗?

1 个回复
SO网友:t31os

下面是一个非常基本的示例。。

/*
    Code assumes it will be in the theme functions.php file
    Update the enqueue path if using it elsewhere
*/
add_action( \'add_meta_boxes_post\', \'add_post_metabox\' );

function add_post_metabox() {
    wp_enqueue_script( \'mytabs\', get_bloginfo( \'stylesheet_directory\' ). \'/mytabs.js\', array( \'jquery-ui-tabs\' ) );
    add_meta_box( \'examplebox\' , __(\'Example box\'), \'my_example_metabox\', \'post\', \'side\', \'core\'/*,array()*/);
}

function my_example_metabox() {
    ?>
    <div id="mytabs">
        <ul class="category-tabs">
            <li><a href="#frag1">Tab 1</a></li>
            <li><a href="#frag2">Tab 2</a></li>
            <li><a href="#frag3">Tab 3</a></li>
        </ul>
        <br class="clear" />
        <div id="frag1">
            <p>#1 - Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
        </div>
        <div class="hidden" id="frag2">
            <p>#2 - Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
        </div>
        <div class="hidden" id="frag3">
            <p>#3 - Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
        </div>
    </div>
    <?php
}
mytabs的jQuery。队列中引用的js。

jQuery(document).ready(function($) {
    $("#mytabs .hidden").removeClass(\'hidden\');
    $("#mytabs").tabs();
});

NOTES:

<在插件内部使用时,排队应调用plugins_url( \'/mytabs.js\', __FILE__ ) 代替get_bloginfo 字符串add_action( "add_meta_boxes_YOURTYPE", \'add_post_metabox\' );, 我用过post 在示例中有关如何配置选项卡脚本的更多信息,请参见此处
http://docs.jquery.com/UI/Tabs

希望这有帮助。。

结束

相关推荐

在不删除功能的情况下删除“slug”的Metabox

这里有一个有趣的问题。我最近注意到,如果您使用该代码remove_meta_box(\'slugdiv\', \'post\', \'normal\'); 当您单击页面标题下的url slug时,实际上无法修改slug。要澄清的是,当您为slugdiv使用remove\\u meta\\u框时,metabox和屏幕选项将被删除,但是您仍然可以单击文章标题下的url来编辑它。。。然而,当你去更新/发布帖子时,你所做的任何修改都不会生效。我的目标是从post edit屏幕中删除同一个metabox