我做了一个自定义索引。php使我在同一页面上有多个循环,以便内容可以以不同的方式显示。我让它工作了,但是分页被破坏了。尽管我在谷歌上搜索了几个小时,尝试了各种各样的东西,但我还是无法让它工作。后续页面只显示与主页相同的内容。
我还使用WP PageNavi插件在底部进行分页。根据插件,每个后续页面在地址栏和页面底部都是正确的,但每个页面上的内容都是相同的。
我知道您不能同时“分页”和“偏移”,但我完全不知道如何修复它。
代码如下:
<!-- First Loop -->
<div id="first-post">
<?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query(\'showposts=1\'.\'&paged=\'.$paged);
?>
<?php $posts = get_posts(\'numberposts=1&offset=0\'); foreach ($posts as $post) : start_wp(); ?>
<?php static $count1 = 0; if ($count1 == "1") { break; } else { ?>
<!-- post stuff -->
<?php $wp_query = null; $wp_query = $temp;?>
<?php $count1++; } ?>
<?php endforeach; ?>
</div> <!-- close first-post -->
<!-- Second Loop -->
<ul class="two-col">
<?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query(\'showposts=4\'.\'&paged=\'.$paged);
?>
<?php $posts = get_posts(\'numberposts=4&offset=1\'); foreach ($posts as $post) : start_wp(); ?>
<?php static $count2 = 0; if ($count2 == "4") { break; } else { ?>
<li>
<!-- post stuff -->
</li>
<?php $count2++; } ?>
<?php endforeach; ?>
</ul> <!-- close two-col -->
<?php $wp_query = null; $wp_query = $temp;?>
<!-- Third Loop -->
<ul class="three-col">
<?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query(\'showposts=6\'.\'&paged=\'.$paged);
?>
<?php $posts = get_posts(\'numberposts=6&offset=5\'); foreach ($posts as $post) : start_wp(); ?>
<?php static $count3 = 0; if ($count3 == "6") { break; } else { ?>
<li>
<!-- post stuff -->
</li>
<?php $count3++; } ?>
<?php endforeach; ?>
</ul> <!-- close three-col -->
<?php $wp_query = null; $wp_query = $temp;?>
<!-- End All Looping -->
SO网友:Stephen Harris
内容是相同的,因为循环是get_posts()
不考虑您所在页面的呼叫。简而言之,您没有循环查看WP_Query
但相反get_posts()
. 尝试替换get_posts
以及foreach
使用while
循环使用的结果WP_Query
.
每个循环应采用以下形式:
$wp_query = new WP_Query($args);
while ($wp_query->have_posts() ) : $wp_query->the_post();
//display contents here
endwhile;
为了你的目的,
$args
会是
\'showposts=4\'.\'&paged=\'.$paged
哪里
$paged
是您所在的页面。
如果你只是想输出你的帖子,第一个1用一种方式,第二个5用另一种方式,等等。最好只有一个循环,但在里面使用一些If语句来适当设置帖子的格式。
(注意,如果您试图在一个页面上有多个循环,所有循环都要分页:不费一点力气,这是行不通的。因为只有一个循环$paged
所有循环的变量。)