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ステートメントにあり、返されるべきではありません。ところで:テキストは、「「vitejte」カテゴリに投稿を作成してください」のようなsmtを意味します

手伝ってくれてありがとう

4

1 に答える 1

0

ループを 1 回通過have_posts()すると、false になりelseますendwhilerewind_posts()2 番目のループの前 (つまり、2 番目のループの前)を呼び出してみてください<?php if (have_posts()) : while (have_posts()) : the_post(); ?>。これにより、投稿を再度ループできるようになります。

于 2013-02-26T21:04:37.237 に答える