问题描述
我的问题几乎总结在标题中。我在新帖/编辑帖子管理页面中放置一个元框,我想要能够使用类别元框具有的选项卡进行设置。我假设有一个简单的方法来勾勒这个,但我不记得如何。有人知道吗
最佳解决方案
这是一个非常基本的例子..
/*
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.js 的 jQuery 。
jQuery(document).ready(function($) {
$("#mytabs .hidden").removeClass('hidden');
$("#mytabs").tabs();
});
笔记:
-
在插件中使用,排队应该调用
plugins_url( '/mytabs.js', __FILE__ )
代替get_bloginfo
字符串。 -
每个标签的锚点链接应与其引用的内容元素的 ID 匹配,例如。 frag1,frag2 等
-
一个隐藏的类被应用于每个内容 DIV 之后的第一个,所以它们被隐藏在页面加载 (否则你会注意到页面中的一个简短的跳转),该类在页面加载后删除,否则它们将保持隐藏。
-
应该更新顶级操作以反映您想要影响的帖子类型
add_action( "add_meta_boxes_YOURTYPE", 'add_post_metabox' );
,我在示例中使用post
。 -
您将需要将 metabox 渲染在一边,以便利用现有的 WordPress CSS,它将选项卡 LI 元素放在一起 (您可以随时加载自己的样式表来处理 CSS) 。
有关如何配置选项卡脚本的更多信息,请参阅此处。 http://docs.jquery.com/UI/Tabs
希望有帮助..
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。