我正在试图弄清楚是否可以在页面上存档多个帖子类型,我有一个单独的存档,每个帖子类型工作正常,但我还想要另一个页面来存档它们。我还是WP的新手,所以我不确定它是否可行,但到目前为止我所做的并不正常:
<?php query_posts('post_type=type01'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink(); ?>">
<div class="type01-div" data-value="<?php
$date = DateTime::createFromFormat('dnY', get_field('type01_date_select'));
echo $date->format('dnY');
?>">STUFF HERE</div>
</a>
<?php endwhile; endif; ?>
<?php query_posts('post_type=type02'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink(); ?>">
<div class="type02-div" data-value="<?php
$date = DateTime::createFromFormat('dnY', get_field('type02_date_select'));
echo $date->format('dnY');
?>">STUFF HERE</div>
</a>
<?php endwhile; endif; ?>
所以'type01'中的所有帖子都显示出来了,但'type02'的帖子却没有。是否可以存档?在单独的循环中,因为每个帖子类型将包装在不同的div类中。
答案 0 :(得分:1)
您需要重置下一个循环的查询,在循环之间添加:
<?php wp_reset_query(); ?>
我有类似这样的页面并使用此代码执行此操作:
<h2>type01</h2>
<?php
$args = array(
'post_type' => array( 'type01' ),
'order' => 'asc',
'orderby' => 'title',
'posts_per_page' => -1
);
$loop = new WP_Query( $args );?>
<?php while ( $loop->have_posts() ) : $loop->the_post();?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>
<h2>type02</h2>
<ul>
<?php
$args = array(
'post_type' => array( 'type02' ),
'order' => 'asc',
'orderby' => 'title',
'posts_per_page' => -1
);
$loop = new WP_Query( $args );?>
<?php while ( $loop->have_posts() ) : $loop->the_post();?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
点击此链接了解详情:http://codex.wordpress.org/Function_Reference/wp_reset_query