具体来说,我想在“类别”元框中添加几个字段(' categorydiv')。我希望有一个过滤器,但我找不到。我知道我可以创建一个自定义元框,但如果他们看到这些字段与选择类别相关联,那对我的客户来说将是最简单的。新元框的视觉中断是不可取的,将其显示在任何地方但不在“类别”下方(例如,在“标签”下)是不可接受的。
答案 0 :(得分:1)
没有动作/过滤器钩子来定制WP的分类元组的输出。有两个选项:使用自定义版本替换Categories元框,或使用JavaScript将元字段移动到Categories元框中。
我使用jQuery在5分钟内将自定义元框添加到Categories div中。我更喜欢这个版本,因为它简短,简单,而且在大多数情况下更通用。
执行add_meta_boxes
as normal,然后添加另一个函数来jQuery it:
function my_meta_box_customization() {
?>
<script>
(function($) {
$(function(){
$('#my-meta-box-div-id').find('.inside').appendTo('#categorydiv')
.end().end().remove();
});
})(jQuery);
</script>
<?php
}
add_action( 'admin_head', 'my_meta_box_customization' );
我也想在那里放一个<style>
标签。
我不打算完全替换“类别”元框的所有代码,但总体思路是:
remove_meta_box( 'categorydiv', 'post', 'side' );
add_meta_boxes
,其中包含一个将post_categories_meta_box
加载到变量中的函数,并使用正则表达式或其他类似函数对其进行自定义。这将是一个麻烦,我不推荐它。