列出自定义帖子类型时的Wordpress分类法

时间:2014-07-10 23:02:00

标签: wordpress custom-post-type taxonomy

我正在注册一个自定义帖子类型“rv-events”,它有一个分类“rv-categories”。在您通常获得这些帖子的表格的管理页面上,您会得到一个表格,其中包含标题,类别分类和按预期发布的日期。

这是默认和预期的,但是,现在我正在使用add_filter('manage_edit-events_columns', 'change_column_titles')更改表的列标签。使用'change_column_titles'功能,我设法编辑列标题,但自定义分类列的数据会丢失。我只是得到一个 - 对于分类而不是列出我的分类法,就像不更改列名一样。

对于分类法,我将show_admin_column设置为true,因此这不是问题。其他人有任何想法吗?谢谢!

因此,为了简短起见,问题是:当我更改其列标签时,我无法在自定义帖子类型的概述表中显示/列出分类法。

注册帖子类型:

    $labels = array(
        ...
    );

    $args = array(
        'label' => 'Events',
        'labels' => $labels,
        'public'             => true,
        // 'publicly_queryable' => false,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'events' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'supports'           => array( 'title', 'editor', 'custom-fields', 'thumbnail')
    );

    register_post_type('rv-events', $args);

注册分类:

    $labels = array( 
        ...
    );

    $args = array( 
        'labels' => $labels,
        'public' => true,
        'show_in_nav_menus' => true,
        'show_ui' => true,
        'show_tagcloud' => true,
        'show_admin_column' => true,
        'hierarchical' => true,
        'rewrite' => true,
        'query_var' => true
    );

    register_taxonomy( 'rv_categories', array('rv-events'), $args );

添加自定义列

add_filter( 'manage_edit-rv-events_columns', 'column_titles') ;

function column_titles($columns) {
    return array(
        'cb' => '<input type="checkbox" />',
        'title' => 'Title',
        'start_date' => '<i class="fa fa-calendar-o"></i> Start Date',
        'end_date' => '<i class="fa fa-calendar-o"></i> End Date',
        'repeat' => '<i class="fa fa-repeat"></i> Repeat',
        'venue' => '<i class="fa fa-map-marker"></i> Venue',
        'categories' => 'Categories',
        'date' => '<i class="fa fa-calendar-o"></i> Date'
    );
}

1 个答案:

答案 0 :(得分:1)

更改标题功能以使用您要更改的列的实际名称:

function column_titles($columns) {
    return array(
        'cb' => '<input type="checkbox" />',
        'title' => 'Title',
        'start_date' => '<i class="fa fa-calendar-o"></i> Start Date',
        'end_date' => '<i class="fa fa-calendar-o"></i> End Date',
        'repeat' => '<i class="fa fa-repeat"></i> Repeat',
        'venue' => '<i class="fa fa-map-marker"></i> Venue',
        'taxonomy-rv_categories' => 'Categories',
        'date' => '<i class="fa fa-calendar-o"></i> Date'
    );
}

&#39;关键字&#39;保留给实际的WordPress帖子类别。如果您创建的自定义分类法不属于&#39;类别&#39;。