Как отобразить значение пользовательского поля таксономии на странице публикации? - PullRequest
0 голосов
/ 28 мая 2019

Это кажется очень простым, но я не могу заставить его работать даже после многократного просмотра документации (и ряда вопросов на этом сайте).

У меня есть пользовательский тип записи с именем comic с полем таксономии (переключатель типа) с именем book. Таксономия book имеет текстовое поле с именем book_title. Я пытаюсь отобразить значение book_title в single-comic.php.

Это то, что я сделал до сих пор:

<?php 
$term = get_field('book');
if( $term ): ?>
<h1><?php echo $term->book_title; ?></h1>
<?php endif; ?>

В результате получается пустой элемент h1, что предполагает, что $term возвращает true. Кроме того, отображение $term возвращает 9, которое, как я считаю, является количеством полей (по умолчанию и пользовательских), связанных с book таксономией. Это означает, что я получаю правильный объект. Я просто не могу использовать его для отображения значений его полей.

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Вы получите массив в многомерном формате, так что вы не сможете получить напрямую, как вы реализовали.Чтобы получить соответствующее поле, вам нужно зациклить массив $ term.Пожалуйста, попробуйте ниже фрагмент.Надеюсь, что это работает.

<?php 

$terms = get_the_terms(get_the_ID(), 'book');

if( $terms ): ?>

    <?php foreach( $terms as $term ): ?>

        <h1><?php echo $term->book_title; ?></h1>

    <?php endforeach; ?>

<?php endif; ?>
0 голосов
/ 28 мая 2019

так должно выглядеть так.Эту логику вы должны изменить в соответствии со своим сценарием

<?php 
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
if ($term->parent == 0) { 
$terms = get_terms( 'product-type', 'parent='.$term->term_id ); } 
else { $terms = get_terms( 'product-type', 'parent='.$term->parent ); } 
foreach($terms as $term) { 
echo '<div class="snack_type"><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></div>'; 
echo '<img src="' . get_field('product_type_img', $term->taxonomy . '_' . $term->term_id) . '"/>';
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...