Здравствуйте.
Требуется выводить цикл если есть произвольное поле и у меня не получается без ошибок его правильно написать.
Сам цикл без этой опции у меня выводится так:
<?php $populargb = new WP_Query('showposts=5&meta_key=views&orderby=meta_value_num&order=DESC' );
while ( $populargb->have_posts() ) {
$populargb->the_post(); ?>
<div class="sidelist">
<a class="sloy" href="<?php the_permalink() ?>"></a>
<div class="sidetumb"><?php the_post_thumbnail('thumbnail'); ?></div>
<div class="sidemax"><a><?php the_title(); ?></a>
<div class="icon-eye"><?php echo get_post_meta ($post->ID,'views',true); ?></div></div>
</div>
<?php } ?>
<?php wp_reset_query(); ?>
Я же пытаюсь сделать так, чтобы если есть произвольное поле "X", то вывод осуществляется как в примере (только само поле меняет параметр WP_Query). Если произвольного поля нет - то цикл вовсе не появляется.
Делаю я это с помощью if get_field (в этом примере он у меня остаётся таким же):
<?php if(get_field('X'))
$populargb = new WP_Query('showposts='.get_field('X').'&orderby=date&order=DESC' );
else $populargb = new WP_Query('showposts=6&orderby=date&order=DESC' ); ?>
Я пробовал всячески, например так:
<?php if(get_field('X')) //если есть произвольное поле X
$populargb = new WP_Query('showposts='.get_field('X').'&orderby=date&order=DESC' ); //присваиваем значение в WP_Query
while ( $populargb->have_posts() ) { //если есть посты
$populargb->the_post(); //выведем их
?>
<div class="sidelist">
<a class="sloy" href="<?php the_permalink() ?>"></a>
<div class="sidetumb"><?php the_post_thumbnail('thumbnail'); ?></div>
<div class="sidemax"><a><?php the_title(); ?></a>
<div class="icon-eye"><?php echo get_post_meta ($post->ID,'views',true); ?></div></div>
</div>
<?php } ?>
<?php endwhile; //конец вывода
?>
<?php endif; //конец условия if
?>
<?php wp_reset_query(); ?>
Но ещё как я понимаю нужно вписать else. Я пробовал много разных вариантов и итог всегда был 1 - белый экран. Также читал про циклы. Знаю, что не понимаю логику работы. Поэтому прошу исправить и объяснить мне её.