CPT概述栏中的特色图像

时间:2017-03-03 作者:Jamal

我正在尝试删除我所有CPTs帖子概览页面中的标题和日期,而是显示一幅特色图片。我有下面的代码,但我不知道它是否是正确的方法,以及如何使它只在我的CPT上工作,而不是在所有的帖子上工作

 //Remove title and date columns in CPT overview and instead show just thumbnail

    function jam_cpt_columns($columns) {

        unset(
            $columns[\'title\'],
            $columns[\'date\']
        );
        $new_columns = array(
            \'featured_thumb\' => \'Thumbnail\',
        );
        return array_merge($columns, $new_columns);
    }
    add_filter(\'jam_manage_posts_custom_column\' , \'jam_cpt_columns\');

    function jam_cpt_columns_data( $column, $post_id ) {
        switch ( $column ) {
        case \'featured_thumb\':
            echo \'<a href="\' . get_edit_post_link() . \'">\';
            echo the_post_thumbnail( \'thumbnail\' );
            echo \'</a>\';
            break;
        }
    }

    if ( function_exists( \'add_theme_support\' ) ) {
        add_filter( \'manage_posts_columns\' , \'jam_cpt_columns\' );
        add_action( \'manage_posts_custom_column\' , \'jam_cpt_columns_data\', 10, 2 );
        add_filter( \'manage_pages_columns\' , \'jam_cpt_columns\' );
        add_action( \'manage_pages_custom_column\' , \'jam_cpt_columns_data\', 10, 2 );
    }

1 个回复
最合适的回答,由SO网友:pouria 整理而成

看起来很有效。post类型slug作为GET变量传递,因此如果要将代码添加到特定的post类型,可以首先通过以下方式获取post类型slug:

if( isset($_GET[\'post_type\']) ) {
    $post_type = $_GET[\'post_type\'];

    if( in_array( $post_type, array(\'type1\', \'type2\', ...) ) ) {
        add_filter( \'manage_posts_columns\' , \'jam_cpt_columns\' );
        add_action( \'manage_posts_custom_column\' , \'jam_cpt_columns_data\', 10, 2 );
        add_filter( \'manage_pages_columns\' , \'jam_cpt_columns\' );
        add_action( \'manage_pages_custom_column\' , \'jam_cpt_columns_data\', 10, 2 );
    }
}
可以在数组中指定所需的帖子类型。

相关推荐