不确定这是描述它的最佳方式,但是这里发生了什么(我确定这必须是一件相当容易的事,只是不确定在哪里看):
客户有10个办事处,所以我使用带有自定义帖子类型的高级自定义字段插件来指定招聘信息的位置。我的代码似乎正在运行(即它按位置拉取适当的作业),但它将文章标记循环的次数与结果相同。我在那里有3个工作,因此它将整个结果循环3次。如果我删除一个并下拉到2,它会循环两次,等等。我使用了高级自定义字段网站中的以下示例:
<?php
// args
$args = array(
'numberposts' => -1,
'post_type' => 'jobs',
'meta_key' => 'location',
'meta_value' => 'akron'
);
// query
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<h3>Akron Office</h3>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>
我想我不知道在哪里看(我知道这可能是一个插件问题,而不是一个php问题),并希望你们可以提供的任何方向。
您可以在此处查看违规页面:http://www.knrlegal.com/jobs/
答案 0 :(得分:0)
您应该重置帖子数据,而不是查询,如下所示: Class Reference/WP Query,在“多圈”部分。
<?php
// args
$args = array(
'numberposts' => -1,
'post_type' => 'jobs',
'meta_key' => 'location',
'meta_value' => 'akron'
);
// query
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<h3>Akron Office</h3>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php
/* Restore original Post Data
* NB: Because we are using new WP_Query we aren't stomping on the
* original $wp_query and it does not need to be reset with
* wp_reset_query(). We just need to set the post data back up with
* wp_reset_postdata().
*/
wp_reset_postdata();
?>
<?php endif; ?>