Задать вопрос
@tbalero

Как отображать поле только тогда, когда оно заполнено?

На вордпресс-сайте на странице записи для отображения названий категорий без ссылки (категории произвольной таксономии 'genres') используется следующий код:
<?php

$array = array();
$cur_terms = get_the_terms( $post->ID, 'genres');
    foreach( $cur_terms as $cur_term ){
    $array[] = $cur_term->name;
    }
$comma_separated = implode(", ", $array);

echo '<div>Жанры:' . ' ' . $comma_separated . '</div>'; // term1, term2, term3

?>

(*на выходе внутри div-а получается текст вида: Жанры: Жанр1, Жанр2, Жанр3 )

Вопрос: Как нужно изменить данный код, чтобы отображать поле на странице сайта только тогда, когда оно (поле) заполнено? (то-есть только тогда, когда при создании/редактировании записи - для данной записи указана одна или несколько категорий из произвольной таксономии 'genres')

*в данном случае по идее можно применить условный оператор if , но не понятно, как его применить, чтобы заработало корректно.
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
$cur_terms = get_the_terms( $post->ID, 'genres' );

if( $cur_terms && ! is_wp_error( $cur_terms )  ) {

    $array = array();

    foreach( $cur_terms as $cur_term ) {
        $array[] = $cur_term->name;
    }

    $comma_separated = implode( ", ", $array );
    echo '<div>Жанры: ' . esc_attr( $comma_separated ) . '</div>'; // term1, term2, term3

}
Ответ написан
Комментировать
@dk-web
Ну первое, что приходит в голову...
if(!empty($array)){
$comma_separated = implode(", ", $array);
echo '<div>Жанры:' . ' ' . $comma_separated . '</div>'; // term1, term2, term3
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы