Обойти массив или пересечь массив

Я довольно новичок в php и пытаюсь получить echo "<p>" .get_the_tags($author_post). "</p>"; вывести на экран теги, связанные с публикацией ее списка в цикле.

Мне сказали «вам нужно пройти через массив» и «Это возвращает массив тегов. Затем вы должны пересечь массив, если хотите вывести его». Но мне не сказали, как этого добиться. Я не уверен, как поступить.

Вот полный код.

if ($author_posts) {
echo '<ul>';
$i = 0;
foreach ($author_posts as $author_post) {
/* excluded categories   */
if (has_category(explode(',', $atts['exclude']), $author_post->ID)) :
continue;
endif;
$postdate = date_i18n( get_option( 'date_format' ), strtotime($author_post->post_date)).' - ';
echo '<li>';
echo ($atts['postdate'] ? $postdate : ''). '<a href="' . get_permalink( $author_post->ID ) . '">'.$author_post->post_title.'</a>';
$categories = get_the_category( $author_post->ID );
$list_cats =null;
foreach ($categories as $cat) :
$list_cats .= $cat->name.", ";
endforeach;
$list_cats = substr($list_cats, 0, -2);
echo "<p>" .get_the_tags($author_post). "</p>";
echo '</li>';
$i++;
if ($atts['postsperauthor'] > -1) :
if ($i >= $atts['postsperauthor']) :
break;
endif;
endif;
}
}

Спасибо за любую помощь, которую вы можете предоставить

0

Решение

Я полагаю, ваш get_the_tags() вернуть array

попробуй это:

$tags = get_the_tags($author_post);
$tagNames = [];
foreach ( $tags as $tag ) {
$tagNames[] = $tag->name
}
echo implode(',',$tagNames)
echo '</div>';

echo '</li>';

Кстати, этот синтаксис немного стар

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]