更改自定义分类的Metabox的优先级

时间:2012-01-31 作者:rinogo

我正在创建一个新的自定义分类法(不是自定义帖子类型)。在编辑帖子页面上,这个自定义分类显示在我所有其他元框的上方。我希望它能在小组中排名靠后。

我知道可以通过add\\u meta\\u box()添加优先级。不幸的是,我使用的是调用register\\u taxonomy()创建的默认元框,因此无法更改优先级值。

如何更改自定义分类法的优先级,使其关联的元框在元框组中显示得更低?

谢谢!:)

1 个回复
SO网友:Matthew Boynes

与WP中经常出现的情况一样,有许多方法可以解决此问题。这里有一种可能的方法:

function my_meta_box_order() {
    global $wp_meta_boxes;
    $genre = $wp_meta_boxes[\'post\'][\'side\'][\'core\'][\'genrediv\'];
    unset($wp_meta_boxes[\'post\'][\'side\'][\'core\'][\'genrediv\']);
    $wp_meta_boxes[\'post\'][\'side\'][\'core\'] = array(\'genrediv\' => $genre) + $wp_meta_boxes[\'post\'][\'side\'][\'core\'];
}
add_action(\'add_meta_boxes_post\', \'my_meta_box_order\');
# We\'re hooking into: do_action(\'add_meta_boxes_\' . $post_type, $post);
$wp_meta_boxes 保存所有元框信息。它的安排就像,$wp_meta_boxes[$page][$context][$priority][$id]. 您可以根据需要操纵它来重新排列方框。请注意,这当然可以通过拖放来覆盖。

以下是一些可以锁定的挂钩,以供参考:

do_action(\'add_meta_boxes\', $post_type, $post);
do_action(\'add_meta_boxes_\' . $post_type, $post);
do_action(\'do_meta_boxes\', $post_type, \'normal\', $post);
do_action(\'do_meta_boxes\', $post_type, \'advanced\', $post);
do_action(\'do_meta_boxes\', $post_type, \'side\', $post);
干杯~

结束