我想要实现的目标
<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="#">>></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ímvywvořtečlánekvkategorii“vitejte”
和
Prosímvywvořtečlánekvkategorii“novinky”
在else语句中,不应返回 顺便说一句:文字意味着像“请在”vitejte“类别中创建帖子
感谢您的帮助
答案 0 :(得分:0)
一旦你完成了循环,have_posts()
将是假的 - 你会在else
之后看到endwhile
的内容。尝试在第二个循环之前调用rewind_posts()
(即在第二个<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
之前)。这应该允许你再次遍历帖子。