你的代码让任何人都很难帮助你。正确编辑问题中的代码非常重要。你真的不必使用echo
\'您正在使用的。只是格式不好,标签使用不当。只要正确地打开和关闭php标记,就可以清理代码。下面是代码的外观。顺便说一句,你的链接对我们来说是无用的,因为你的网站只对注册用户可见。
First set of code
?>
<div class="staffwrapper">
<?php
$args = array( \'post_type\' => \'cripps_staff\', \'posts_per_page\' => 300 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="col-md-3 spacetop">
<a href="<?php get_permalink(); ?>"><img src="<?php echo get_post_meta($post->ID,\'image\',true); ?>"></a>
<h2 class="staffname">
<?php echo get_post_meta($post->ID,\'staff_name\',true); ?>
</h2>
<h2 class="staffrole">
<?php echo get_post_meta($post->ID,\'staff_role\',true); ?>
</h2>
<h2 class="staffnumber">
<?php echo get_post_meta($post->ID,\'staff_telephone_number\',true); ?>
</h2>
<h2 class="staffemail">
<?php echo get_post_meta($post->ID,\'staff_email_address\',true); ?>
</h2>
</div>
<?php endwhile; ?>
</div><!--End of staff wrapper-->
<?php
Second set of code
<?php
$args = array( \'post_type\' => \'cripps_staff\', \'posts_per_page\' => 300 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="col-md-3 spacetop">
<a href="<?php get_permalink(); ?>"><img src="<?php echo get_post_meta($post->ID,\'image\',true); ?>"></a>
<h2 class="staffname">
<?php echo get_post_meta($post->ID,\'staff_name\',true); ?>
</h2>
<h2 class="staffrole">
<?php echo get_post_meta($post->ID,\'staff_role\',true); ?>
</h2>
<h2 class="staffnumber">
<?php echo get_post_meta($post->ID,\'staff_telephone_number\',true); ?>
</h2>
<h2 class="staffemail">
<?php echo get_post_meta($post->ID,\'staff_email_address\',true); ?>
</h2>
</div>
<?php endwhile;
// 2nd loop
wp_reset_postdata();
/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );
// The 2nd Loop
while( $query2->have_posts() ) {
$query2->next_post();
?>
<div class="col-md-3 spacetop">
<a href="<?php get_permalink();?>"><img src="<?php echo get_post_meta($post->ID,\'image\',true); ?>"></a>
<h2 class="staffname">
<?php echo get_post_meta($post->ID,\'staff_name\',true); ?>
</h2>
<h2 class="staffrole">
<?php echo get_post_meta($post->ID,\'staff_role\',true); ?>
</h2>
<h2 class="staffnumber">
<?php echo get_post_meta($post->ID,\'staff_telephone_number\',true); ?>
</h2>
<h2 class="staffemail">
<?php echo get_post_meta($post->ID,\'staff_email_address\',true); ?>
</h2>
</div>
<?php
// Restore original Post Data
wp_reset_postdata();
}
?>
现在,让我们来谈谈你真正的问题,这里缺少/错误了几件事
首先,正如@cybnet所说,$args2
在任何地方都没有定义。如果“所有其他帖子”只是普通的帖子类型的帖子,我也不认为有必要在这里启动新的查询(这是我可以从您的代码中假设为$args2
是空的)。您只需启动一个普通循环即可。这个循环只会循环通过正常的帖子,而不是CPT。
其次,什么是$query2->next_post();
. 你不可能从你提到的抄本页面上得到这个。这应该是$query2->the_post();
一直如此。
第三,你说你需要显示“所有其他帖子”,但你在第二个循环中再次获得了与第一个循环相同的数据,因此我不理解这一点,出于这个原因,我不打算对此作进一步评论。
根据我所看到的和他们理解您的代码和问题的方式,下面是我将要做的
<?php
$args = array( \'post_type\' => \'cripps_staff\', \'posts_per_page\' => 300 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="col-md-3 spacetop">
<a href="<?php get_permalink(); ?>"><img src="<?php echo get_post_meta($post->ID,\'image\',true); ?>"></a>
<h2 class="staffname">
<?php echo get_post_meta($post->ID,\'staff_name\',true); ?>
</h2>
<h2 class="staffrole">
<?php echo get_post_meta($post->ID,\'staff_role\',true); ?>
</h2>
<h2 class="staffnumber">
<?php echo get_post_meta($post->ID,\'staff_telephone_number\',true); ?>
</h2>
<h2 class="staffemail">
<?php echo get_post_meta($post->ID,\'staff_email_address\',true); ?>
</h2>
</div>
<?php endwhile;
// 2nd loop
wp_reset_postdata();
while ( have_posts() ) : the_post();
?>
<--- Your contents of "All other posts" --->
<?php
你应该看看
this tutorial from catswhocode 关于多个循环。您也可以在
codex about multiple loops. 请,请,此页面在使用时需要进行编辑
query_posts
, 绝对不能使用。
WP_Query
应在所有示例中使用。
根据我给你的信息和这些链接,你应该能够解决你的问题