0

我想要达到的目标

<div>
posts from category "vitejte"
</div>
<div>
posts from category "novinky"
</div>

这是我的 index.php 代码

<?php get_header(); ?>

    <div class="body_resize">
        <div class="body">
            <div class="body_small2">
            <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>

                <?php if ( in_category('vitejte') ) { ?>

                    <h2><?php the_title(); ?></h2>
                    <img src="wp-content/themes/trywp/images/img_1.jpg" alt="picture" width="353" height="102" />
                    <?php the_content('Read More...'); ?>
                    <div class="clr"></div>

                <?php } else { ?>
                    <?php _e('Prosím vytvořte článek v kategorii "vitejte"'); ?>
                <?php } ?>
                <div class="line"></div>
            </div>
            <?php endwhile; else: ?>
                <?php _e('Prosím vytvořte článek v kategorii "vitejte2"'); ?>
            <?php endif; ?>

            <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>
            <div class="body_small">
                <h2>Novinky</h2>
                <?php if ( in_category('novinky') ) { ?>
                    <p class="data"> 20 / May / 09</p>
                    <div class="clr"></div>
                    <p><?php the_content('Read More...'); ?> <a href="#">&gt;&gt;</a></p>
                    <div class="clr"></div>

                <?php } else { ?>
                    <?php _e('Prosím vytvořte článek v kategorii "novinky"'); ?>
                <?php } ?>
                <div class="line"></div>
            </div>
            <?php endwhile; else: ?>
                <?php _e('Prosím vytvořte článek v kategorii "vitejte2"'); ?>
            <?php endif; ?>


    <?php get_footer(); ?>

问题是它按要求返回帖子,但它也返回

Prosím vytvořte článek v kategorii "vitejte"

Prosím vytvořte článek v kategorii "novinky"

它们在 else 语句中,不应该返回顺便说一句:文本表示 smt,如“请在“vitejte”类别中创建帖子

感谢帮助

4

1 回答 1

0

一旦你通过循环一次,have_posts()将是错误的 - 你else看到endwhile. 尝试rewind_posts()在第二个循环之前调用(即在第二个之前<?php if (have_posts()) : while (have_posts()) : the_post(); ?>)。这应该允许您再次循环浏览帖子。

于 2013-02-26T21:04:37.237 回答