Intereting Posts
Написать письмо Проблема с разбивкой по шаблонам пользовательской категории Список категорий Сообщения, не показывающие сообщения, помеченные как приватные для зарегистрированных пользователей Как получить исходный комментарий при обработке ответа Плагин электронной коммерции с функцией «купить для друга» Должен ли я устанавливать html-базовый url при использовании wordpress? Удалите «сообщения» от администратора, но покажите пользовательский пост Перенаправление пользователя на страницу входа в систему разделять сеансы входа / выхода из системы на две установки? WordPress 4.4 выпуска создает пустые белые изображения при совместном размещении на Facebook и т. Д. Расширенный Ajax-загрузчик страниц (AAPL) блокирует ресурсы Вход для нижнего колонтитула WordPress Обработка сервера B add_image_size () отличается от сервера A Я хочу получить все сообщения в блоге без имени пользователя и пароля Возьмите переменные, установленные в Functions.php и Echo Them Inside My Custom Post Template

Если тег существует, то эхо один раз

У меня есть следующий код, и я пытаюсь проверить, существует ли какой-либо конкретный тег, и если это так, мне нужно повторить его один раз. Проблема в том, что тег существует в нескольких местах, он многократно повторяется.

// LOOP ARGUMENTS $args = array( 'post_type' => 'xyz_members', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'member_types', 'field' => 'slug', 'terms' => 'current-class', 'operator' => 'NOT IN' ) ) ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); // CUSTOM CONTENT $postTags = get_the_tags(); if ($postTags) while($postTags as $tag) { if ($tag->slug == '2006') { ?><li id="_2013" class="filter on">2006</li><?php } if ($tag->slug == '2007') { ?><li id="_2013" class="filter on">2007</li><?php } if ($tag->slug == '2008') { ?><li id="_2013" class="filter on">2008</li><?php } if ($tag->slug == '2009') { ?><li id="_2013" class="filter on">2009</li><?php } if ($tag->slug == '2010') { ?><li id="_2013" class="filter on">2010</li><?php } if ($tag->slug == '2011') { ?><li id="_2013" class="filter on">2011</li><?php } if ($tag->slug == '2012') { ?><li id="_2013" class="filter on">2012</li><?php } if ($tag->slug == '2013') { ?><li id="_2013" class="filter on">2013</li><?php } if ($tag->slug == '2014') { ?><li id="_2013" class="filter on">2014</li><?php } if ($tag->slug == '2015') { ?><li id="_2013" class="filter on">2015</li><?php } if ($tag->slug == '2016') { ?><li id="_2013" class="filter on">2016</li><?php } if ($tag->slug == '2017') { ?><li id="_2013" class="filter on">2017</li><?php } if ($tag->slug == '2018') { ?><li id="_2013" class="filter on">2018</li><?php } if ($tag->slug == '2019') { ?><li id="_2013" class="filter on">2019</li><?php } if ($tag->slug == '2020') { ?><li id="_2013" class="filter on">2020</li><?php } } /* END WHILE AND RESET QUERY */ endwhile; wp_reset_query(); 

Solutions Collecting From Web of "Если тег существует, то эхо один раз"

Я не уверен, что вы хотите, но если вы пытаетесь получить уникальный <li> -list из запроса, вы можете попробовать (непроверенный):

 <?php // LOOP ARGUMENTS $args = array( 'post_type' => 'xyz_members', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array(array('taxonomy' => 'member_types','field' => 'slug','terms' => 'current-class','operator' => 'NOT IN'))); $loop = new WP_Query( $args ); $tags = array(); // COLLECT while ( $loop->have_posts() ) : $loop->the_post(); $postTags = get_the_tags(); if ($postTags): while($postTags as $tag): $tags[$tag->slug] = $tag->slug; endwhile; endif; endwhile; // OUTPUT $years = range( 2006, 2020 ); foreach( $years as $year ): $year = (string) $year; if( isset( $tags[$year] ) ) printf('<li id="_%s" class="filter on">%s</li>', $tags[$year], $tags[$year] ); endforeach; ?> 

Вы также можете рассмотреть array_unique() чтобы удалить повторяющиеся значения из массива.