Hierarchical taxonomy UI

时间:2012-09-05 作者:FlimFlam

我不喜欢Wordpress管理中分类法的显示方式,我想知道是否有人知道最好的方法来连接和更改它。目前,如果我在我的帖子中选择一些术语,这些选定的术语会出现在列表的顶部,层次结构会被打破,这会让用户在视觉上感到困惑。

请看这些图片了解我在说什么

enter image description hereenter image description here

我想准确地显示分类法最初的显示方式,只勾选正确的术语。有没有一种不用直接编辑Wordpress核心的方法,我看不到任何可以使用的挂钩。

感谢您的帮助!

海伦

2 个回复
最合适的回答,由SO网友:Emyr Thomas 整理而成

有一个插件Scribu 调用Category Checklist Tree 禁用此“功能”。

SO网友:kaiser

回溯,让我们首先检查实际发生的位置:

添加元框post.phppost-new.php 屏幕。

# inside ~/wp-admin/edit-form-advanced.php
// TAGS:
if ( !is_taxonomy_hierarchical($tax_name) )
    add_meta_box(\'tagsdiv-\' . $tax_name, $label, \'post_tags_meta_box\', null, \'side\', \'core\', array( \'taxonomy\' => $tax_name ));
// CATEGORIES:
else
    add_meta_box($tax_name . \'div\', $label, \'post_categories_meta_box\', null, \'side\', \'core\', array( \'taxonomy\' => $tax_name ));
然后我们将一个文件移到内核的更深处,以获得定义/元框回调

// inside ~/wp-admin/meta-boxes.php
function post_categories_meta_box( $post, $box )
Thecategorychecklist tab是保存列表的选项卡。内部div, 我们得到了一个名为wp_popular_terms_checklist($taxonomy);.

# inside ~/wp-admin/includes/template.php
<li id="<?php echo $id; ?>" class="popular-category">
<label class="selectit">
<input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php echo $disabled ?>/>
    <?php echo esc_html( apply_filters( \'the_category\', $term->name ) ); ?>
</label>
</li>
结论:

这意味着,我们并没有真正的机会通过WP过滤器/挂钩和PHP在普通服务器端拦截这一点。

做一些像。。。

add_filter( \'wp_get_object_terms\', \'__return_empty_array\', 20, 4 );
。。。只需完全禁用复选框。

如果我得到更多信息和(可能是一个解决方案),将进行更新

结束

相关推荐

特定用户的wp_count_post、wp_count_Terms和wp_count_Comments?

有没有办法实现这些功能wp_count_posts, wp_count_terms 和wp_count_comments 仅为特定用户返回结果,可能使用用户的ID?我正在为自定义帖子类型制作一个自定义的“即时”仪表板小部件,我需要它只显示当前用户的数据,而不是整个站点的数据。提前谢谢。EDIT: 为了回应@kaiser在下面的评论,我做了以下操作,但什么都没有发生-结果与过滤器关闭时的结果相同(不应该是这样-检查此用户是否有不同数量的已发布employee 职位类型)。我的函数中的代码似乎根本没有被调用,