Отобразить пользовательский тип сообщения Заголовок сообщения в столбце, ссылаясь на идентификатор сообщения - PullRequest
0 голосов
/ 21 февраля 2019

У меня (потенциально) сложный вопрос, связанный с пользовательскими типами записей WordPress и тем, как отображать пользовательские мета из этих типов в столбцах в разделе администратора сайта.У меня есть два пользовательских типа сообщений на моем сайте: «Лиги» и «Команды».У каждой команды есть пользовательская мета, которая связывает ее с лигой.Мета для этой команды установлена ​​как «team_league» и имеет числовое значение, равное идентификатору поста соответствующего CPT лиги.

Я добавил код, чтобы мета «Лига» отображалась в столбце под пользовательским типом поста «Команды».Тем не менее, я хотел бы сделать еще один шаг, поскольку он отображает только идентификатор сообщения для соответствующей лиги.Можно ли отобразить заголовок сообщения в столбце, на который ссылается поиск идентификатора сообщения и печать заголовка сообщения.

Пример: идентификатор сообщения 98215 = заголовок сообщения "Весна - Женская лига - Th".

Вот мой код для добавления пользовательских мета в столбцы 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 голосов
/ 22 февраля 2019

Ну, я нашел решение для моей собственной проблемы после попытки некоторых вещей.Я использовал следующий код ниже, вместо того, что я разместил выше, чтобы напечатать мета в столбце:

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

Это дает результат, который я искал, печатая название сообщения, а не идентификатор сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...