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 был взят, пост это массив. Спасибо еще раз за помощь