通过引用帖子ID在列中显示自定义帖子类型帖子标题

时间:2019-02-20 23:43:05

标签: php wordpress custom-post-type

我有一个与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;
      }
    }

1 个答案:

答案 0 :(得分:0)

好吧,尝试一些事情后,我为自己的问题找到了解决方案。我在下面使用了以下代码,代替了上面发布的内容,以将meta打印到该列中:

case 'team_league' :
        echo get_post(get_post_meta(get_the_ID(), 'team_league', true))->post_title; 
        break;

这会产生我想要的结果,打印帖子标题而不是帖子ID。