Условные операторы в цикле WordPress

Попытка написать условие в моем цикле WP, чтобы показать другую ссылку на основе идентификатора записи.

<?php query_posts( array ( 'post__in' => array( 116, 102 ) ) ); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<!-- LOOP STUFF HERE -->

<?php if ( is_tag( 'new-graduates' ) )  {  ?>
<p class="jump-link"><a href="#">View our new graduates</a></p>
<?php } elseif ( is_tag('experienced-hires') ) { ?>
<p class="jump-link"><a href="#">View our Experienced hires</a></p>
<?php } ?>

<?php endwhile; ?>
<?php endif; ?>

Условное просто игнорируется без вывода.

ОБНОВЛЕННЫЙ ОТВЕТ:

<?php query_posts( array ( 'post__in' => array( 116, 102 ) ) ); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<!-- LOOP STUFF HERE -->

<?php if ( has_tag( 'new-graduates' ) )  {  ?>
<p class="jump-link"><a href="#">View our new graduates</a></p>
<?php } elseif ( has_tag('experienced-hires') ) { ?>
<p class="jump-link"><a href="#">View our Experienced hires</a></p>
<?php } ?>

<?php endwhile; ?>
<?php endif; ?>

0

Решение

Нет проблем с вашим кодом, это происходит потому, что оба if а также elseif не удалось, поэтому у вас нет выхода.

Просто добавьте else блокировать как это (просто добавив это, чтобы показать, что ваш код в порядке), вы получите вывод.

<?php if ( has_tag( 'new-graduates' ) )  {  ?>
<p class="jump-link"><a href="#">View our new graduates</a></p>
<?php } elseif ( has_tag('experienced-hires') ) { ?>
<p class="jump-link"><a href="#">View our Experienced hires</a></p>
<?php } else { ?>
<p class="jump-link">No graduates nor Experienced</p>
<?php }?>
0

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

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