如何将自定义字段添加到WordPress的内置分类元框?

时间:2014-10-29 20:45:47

标签: php wordpress

具体来说,我想在“类别”元框中添加几个字段(' categorydiv')。我希望有一个过滤器,但我找不到。我知道我可以创建一个自定义元框,但如果他们看到这些字段与选择类别相关联,那对我的客户来说将是最简单的。新元框的视觉中断是不可取的,将其显示在任何地方但不在“类别”下方(例如,在“标签”下)是不可接受的。

1 个答案:

答案 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>标签。

我不打算完全替换“类别”元框的所有代码,但总体思路是:

  1. remove_meta_box( 'categorydiv', 'post', 'side' );
  2. add_meta_boxes,其中包含一个将post_categories_meta_box加载到变量中的函数,并使用正则表达式或其他类似函数对其进行自定义。
  3. 通过添加,删除和重新添加元框来获取所需的顺序(例如,发布下的类别,标签上方)。
  4. 这将是一个麻烦,我不推荐它。