Отображать div, только если существуют другие сообщения с таким же значением настраиваемого поля

У меня есть тема WordPress с набором настраиваемых полей. Один из них называется «автор».

На single.php у меня есть div, который показывает другие сообщения с тем же значением настраиваемого поля.

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

Спасибо за вашу помощь!!

Это мой фактический код:

<?php 

                        $myquery = array(
                        'meta_key' => 'autore',
                        'meta_value' => $autore,
                        'showposts' => 2,
                        'post__not_in' => array($post->ID)
                        );

                        if ( $myquery->have_posts() ) : ?>

                        <div class="related">

                        <h3>Altre di <?php the_field('autore'); ?></h3>

                        <ul>

                        <?php while ( $your_query->have_posts() ) : $your_query->the_post(); ?>

                                <?php        
                                echo '<li>'; ?>

                                <?php
                                $fotorel = get_field('foto_homepage');
                                list($width, $height) = getimagesize("$fotorel");
                                $relheight = $height / 2;
                                ?>

                                <div class="related-foto" style="background:url(<?php the_field('foto_homepage'); ?>) no-repeat center center; height:<?php echo $relheight.'px' ?>"></div>
                                <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>


                               <?php echo '</li>';?>

                               <?php endwhile; ?>

                              <?php else : // What to do if there are no posts from that author

                              endif;?>

                                        </ul>

        </div>



                        <?php wp_reset_query(); ?>

person Luca Frank Guarini    schedule 07.06.2012    source источник


Ответы (2)


Вот пример:

http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query

Используя условие <?php if ($pageposts): ?>, вы можете распечатать свой div или нет.

person Curlas    schedule 07.06.2012
comment
Я пытался добавить условие, но не работает. Теперь мой div не виден… Я хотел бы отображать свой div только в том случае, если существуют другие сообщения с таким же значением текущего для настраиваемого поля AUTHOR. - person Luca Frank Guarini; 07.06.2012

Я не уверен, как вы запрашиваете сообщения в настраиваемых полях, но $wp_query имеет встроенные условия для обработки запросов, которые не возвращают сообщения.

Обновленный пример кода:

$args = array(
         'meta_key' => 'autore',
         'meta_value' => $autore,
         'showposts' => 2,
         'post__not_in' => array($post->ID)
        );
 $your_query = new WP_Query( $args );


if ( $your_query->have_posts() ) : ?>

  <div id="your-div">

while ( $your_query->have_posts() ) : $your_query->the_post();

// Do stuff 

endwhile;

  else : // What to do if there are no posts from that author

endif;
person Chris_O    schedule 07.06.2012
comment
Я использовал ваш ответ, вы можете увидеть код в моем вопросе. Теперь я получаю эту ошибку: Неустранимая ошибка: вызов функции-члена have_posts() для не-объекта - person Luca Frank Guarini; 07.06.2012