在管理员类别核对表中的名称旁边添加鼻涕虫

时间:2013-11-14 作者:Ered

我用相同的名称和不同的slug创建了很多类别,但我在管理面板中识别哪个是哪个时遇到了问题,所以我想出了在元框中除了名称之外插入slug的想法。。。im使用分类法“公文包类型”。。。无论如何,要做到这一点,我需要编辑这个文件:wp admin/includes/template。第48行中的php:

替换此:

esc_html( apply_filters(\'the_category\', $category->name ))
使用此选项:

esc_html( apply_filters(\'the_category\', $category->name.\' - \'.$category->slug ))
不管怎样,在不编辑核心文件的情况下执行此操作,让我们假设我的函数中有一个函数。php主题。。。并且只将slug添加到包含分类法“公文包类型”的框中。。

1 个回复
SO网友:Ered

好的,因为我没有任何回应SOLUTION 我的自我,以便对其他想要这样做的人有用:

add_filter(\'wp_terms_checklist_args\', \'display_custom_checklist\');
function display_custom_checklist( $args ){
    if ( $args[\'taxonomy\'] == \'portfolio-type\' )
    $args[\'walker\'] = new my_custom_walk;
    return $args;
}
class my_custom_walk extends Walker {
    var $tree_type = \'category\';
    var $db_fields = array (\'parent\' => \'parent\', \'id\' => \'term_id\'); //TODO: decouple this

    function start_lvl( &$output, $depth = 0, $args = array() ) {
        $indent = str_repeat("\\t", $depth);
        $output .= "$indent<ul class=\'children\'>\\n";
    }

    function end_lvl( &$output, $depth = 0, $args = array() ) {
        $indent = str_repeat("\\t", $depth);
        $output .= "$indent</ul>\\n";
    }

    function start_el( &$output, $category, $depth, $args, $id = 0 ) {
        extract($args);
        if ( empty($taxonomy) )
            $taxonomy = \'category\';

        if ( $taxonomy == \'category\' )
            $name = \'post_category\';
        else
            $name = \'tax_input[\'.$taxonomy.\']\';

        $class = in_array( $category->term_id, $popular_cats ) ? \' class="popular-category"\' : \'\';
        $output .= "\\n<li id=\'{$taxonomy}-{$category->term_id}\'$class>" . \'<label class="selectit"><input value="\' . $category->term_id . \'" type="checkbox" name="\'.$name.\'[]" id="in-\'.$taxonomy.\'-\' . $category->term_id . \'"\' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args[\'disabled\'] ), false, false ) . \' /> \' . esc_html( apply_filters(\'the_category\', $category->name.\' - \'.$category->slug )) . \'</label>\';
    }

    function end_el( &$output, $category, $depth = 0, $args = array() ) {
        $output .= "</li>\\n";
    }
}

结束