将自定义列添加到帖子列表表格

时间:2016-03-11 作者:Pagna Kong

我有一个自定义的帖子类型,叫做Book 我想在编辑页面中添加出版商和图书作者自定义列。

我还想从每个字段中提取一个特定值(我为上述列创建了两个字段),以显示在这两个附加列中。实际上,我可以用下面的代码显示,但关键是我必须声明变量(,例如:$value 变量),用于每个数据。

所以,你能和我分享一些想法,用循环或其他东西来展示它吗。

add_filter( \'manage_book_posts_columns\', \'set_custom_edit_book_columns\' );
add_action( \'manage_book_posts_custom_column\' , \'custom_book_column\', 10, 2 );

function set_custom_edit_book_columns($columns) {
    $value = get_field( "contact_person" );
    unset( $columns[\'author\'] );
    $columns[\'book_author\'] = __( \'Author\', \'your_text_domain\' );
    $columns[\'publisher\'] = __( \'Publisher\', \'your_text_domain\' );

    return $columns;
}

function custom_book_column( $column, $post_id ) {
    switch ( $column ) {

        case \'book_author\' :
            $value = get_field( "contact_person" );
            $terms = get_the_term_list( $post_id , \'$value\' , \'\' , \',\' , \'\' );
            if ( is_string( $value ) )
                echo $value;
            else
                _e( \'Unable to get author(s)\', \'your_text_domain\' );
            break;

        case \'publisher\' :
            echo get_post_meta( $post_id , \'publisher\' , true ); 
            break;

    }
}

1 个回复
SO网友:majick

也许您只需要将其更改为:

case \'book_author\' :
    $value = get_field( "contact_person", $post_id );
第二个参数可能需要,因为它在循环中,但不是The Loop.

相关推荐

在管理员帖子wp-list-table之前/之后添加内容

我知道有两个钩子可以在分类法wp列表前后添加内容。是否有操作可在编辑上的post type wp list表格后添加内容。php页面?$taxonomy列表:add_action( \'category\' . \'_pre_add_form\', \'copy_above_form\' ); function copy_above_form( $taxonomy ) { echo \'<p>Above the WP-List-Table</p>\';&#x