我有一个与WordPress自定义帖子类型有关的(潜在)复杂问题,以及如何在网站管理部分的列中显示这些类型的自定义元。我的网站上有两种自定义帖子类型:“联盟”和“团队”。每个团队都有一个自定义用户元,可将其连接到联赛。该球队的元数据设置为“ team_league”,其数值等于相应联赛CPT的职位ID。
我添加了一些代码,以使“联盟”元数据出现在“团队”自定义帖子类型下的列中。但是,我想更进一步,因为它仅显示相应联赛的职位ID。是否可以在列中显示帖子标题,可以通过查找帖子ID并打印帖子标题来引用。
示例:帖子ID 98215 =帖子标题“春季-女子联赛-蒂”。
这是我的代码,用于将自定义元添加到CPT列:
// Add the custom columns to the Teams post type:
add_filter( 'manage_team_posts_columns', 'set_custom_edit_team_columns' );
function set_custom_edit_team_columns($columns) {
$columns['sport_name'] = __( 'Sport', 'your_text_domain' );
$columns['team_league'] = __( 'League', 'your_text_domain' );
$columns['current_paid_amount'] = __( 'Amount Paid', 'your_text_domain' );
return $columns;
}
// Add the data to the custom columns for the Teams post type:
add_action( 'manage_team_posts_custom_column' , 'custom_team_column', 10, 2 );
function custom_team_column( $column, $post_id ) {
switch ( $column ) {
case 'sport_name' :
echo get_post_meta( $post_id , 'sport_name' , true );
break;
case 'team_league' :
echo get_post_meta( $post_id , 'team_league' , true );
break;
case 'current_paid_amount' :
echo '$' . get_post_meta( $post_id , 'current_paid_amount' , true );
break;
}
}
答案 0 :(得分:0)
好吧,尝试一些事情后,我为自己的问题找到了解决方案。我在下面使用了以下代码,代替了上面发布的内容,以将meta打印到该列中:
case 'team_league' :
echo get_post(get_post_meta(get_the_ID(), 'team_league', true))->post_title;
break;
这会产生我想要的结果,打印帖子标题而不是帖子ID。