Я немного запутался в вашей фактической настройке, но общая идея должна применяться здесь. При использовании поля ACF "Relational> Post Object" сохраняется фактический относительный объект WP_Post
. Это позволяет вам ссылаться на все, что вы хотите, без необходимости вызывать что-то особенное.
Просто сделайте следующее:
$object = get_field( 'name_of_field', $post_id );
Даст вам доступ к любым данным из этого поста, которые вы хотите / пользовательский тип записи:
$title = $object->post_title;
$author_id = $object->post_author;
Итак, как я уже упоминал, я немного запутался в фактических именах полей и в том, где хранится фактический объект, но я думаю, что один и тот же объект записи хранится в обоих book_title
и book_author
поля? В любом случае, вам просто нужно получить объект WP_Post
с get_field
, и тогда у вас будет доступ ко всему, что с ним связано. Затем вы можете вывести заголовок и использовать что-то вроде get_the_author_meta()
, чтобы получить отображение / имя / фамилию автора и т. Д. c.
add_action('manage_passages_posts_custom_column', 'passages_custom_column', 10, 2);
function passages_custom_column($column, $post_id) {
switch( $column ){
case 'book_title':
$book_object = get_field( 'book_title', $post_id );
echo ($book_object) ? $book_object->post_title : '';
break;
case 'book_author':
$book_object = get_field( 'book_author', $post_id );
if( $book_object ){
echo get_the_author_meta( 'display_name', $book_object->post_author );
}
break;
}
}