ACF. Объект записи внутри повторителя, вывести категорию записи.
Сделал вывод объекта записи внутри повторителя, сейчас стоит задача вывести категорию (term) записи рядом с самой записью.
Использовал такой код:
<?php $terms = get_the_terms( get_the_ID(), 'cat_rbp' ); if( is_array( $terms ) ) : ?> <ul> <?php foreach( $terms as $term ) : ?> <li> <a href="<?php echo esc_url( get_term_link( $term->term_id, $term->taxonomy ) ); ?>"><?php echo esc_html( $term->name ); ?></a> </li> <?php endforeach; ?> </ul> <?php endif; ?>
Ничего не выводится, print_r результатов тоже не дает, не могу зацепиться за пост чтоб вытащить его категорию.
$post не возвращает название таксономии, уже голову сломал как эту казалось бы простую вещь реализовать, код вместе с повторителем и объектом записи внутри повторителя такой:
<?php if( have_rows('block_biblio') ): ?>
<?php while( have_rows('block_biblio') ): the_row(); ?>
<?php $article_mitarbeiter = get_sub_field( 'objectssbio' ); ?>
<?php global $post; ?>
<div class="block-width-wp-bibliografiya">
<div class="cat-bibliografiya">
<h4><?php the_sub_field('date_biobio'); ?></h4>
</div>
<?php if ( $article_mitarbeiter ) : ?>
<?php $post = $article_mitarbeiter; ?>
<?php setup_postdata( $post ); $loop = 0;?>
<div class="flex-bibliografiya">
<?php foreach ($post as $item) {?>
<?php
$loop ++;
if ( $loop == 1 ) {
echo '<div class="block-bgb">';
}
?>
<div class="type-bibiliografiya">
<?php
$terms = get_the_terms( get_the_ID(), 'cat_rbp' );
if( is_array( $terms ) ) : ?>
<ul>
<?php foreach( $terms as $term ) : ?>
<li>
<a href="<?php echo esc_url( get_term_link( $term->term_id, $term->taxonomy ) ); ?>"><?php echo esc_html( $term->name ); ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
<div class="title-bibliografiya">
<a href="<?php echo $item->post_name;?>"> <?php echo $item->post_title;?> </a>
</div>
<?php if ( $loop == 3 ) {
echo "</div>";
$loop = 0;
}
?>
<?php } ?>
</div>
</div>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php endwhile; ?>
</div>
<?php else : ?>
<?php endif; ?>
что вы творите?
Что находится в переменной $post ?
Массив???
Если вы делате такое
то как тогда там может быть массив???
Ответ на вопрос:
если $post - это массив, то чтоб тогда ваш код нужно поправить на
Но нужно убедиться, что в $item - это обьект поста.
А для этого print_r()
сделайте $post - чтоб понимать, что в нем - массив или нет.
Спасибо за помощь. setup_postdata( $post ); из примера самого acf был взят, пост это массив. Спасибо еще раз за помощь