我有一个简单的查询:$query = new WP_Query('showposts=5');
,显然会显示5条最新帖子。有没有办法在查询中获得帖子的位置?按位置我的意思是... $ query有5个帖子,我需要能够在循环中显示帖子的数量。我真的不知道PHP,但我假设$ query是一个包含这5个帖子的数组变量(?)。
它会在JavaScript滑块中使用,我会在每个帖子中显示<a href="#1"></a>
这样的链接,我需要第二个帖子为2,第三个为3。
希望有任何意义,有人可以帮助我。
提前致谢, 海宁
答案 0 :(得分:4)
为了获得更多防弹行为,我会使用每个帖子的UID(使用the_ID()
)创建锚点链接,而不是使用他们在页面上的位置。
此外,您应该使用the loop进行迭代$query
,您可以在页面中多次执行此操作。 (暂时没有使用过Wordpress,这段代码可能有点不对,但概念很合理)
<?php
// Create the Query
$query = new WP_Query('showposts=5');
if ($query->have_posts()) :
// Create the Javascript slider thing
while ($query->have_posts()) : $query->the_post();
// Do stuff here
endwhile;
// Display the posts
while ($query->have_posts()) : $query->the_post();
// Do stuff here
endwhile;
endif;
?>
答案 1 :(得分:1)
$ query-&gt; current_post将为您提供循环中当前项的索引。此外,$ query-&gt; post_count为您提供循环中项目的总数。这也许会有所帮助。
答案 2 :(得分:0)
这并不难(我复制了cpharmston的PHP代码):
<?php
// Create the Query
$query = new WP_Query('showposts=5');
if ($query->have_posts()) :
$i = 1; // for counting
// Create the Javascript slider thing
while ($query->have_posts()) : $query->the_post();
// Do stuff here
$i++; // make sure this is @ the end of the while-loop
endwhile;
$i = 1; // reset $i to 1 for counting
// Display the posts
while ($query->have_posts()) : $query->the_post();
// Do stuff here
$i++; // make sure this is @ the end of the while-loop
endwhile;
endif;
?>
你可以使用$ i代替#1,#2等。每当while循环结束时,$ i ++确保它以1递增(所以在第一次$ i = 2之后)。< / p>
希望这会有所帮助:)(我确实认为cpharmston的解决方案会更容易)。