在这个查询之后,所有的帖子ID都是相同的,但是rewindpost()似乎不能在这里工作?

时间:2011-04-06 作者:Scott B

我正在标题内执行一个查询。php,它显然正在重置$post对象,以便所有页面都获得此循环中最后一个元素的$post->ID。

$mypostsheader = get_posts(array(\'cat\' => "$cat,-$catHidden",\'numberposts\' => $cb2_current_count));
$current_page = get_post( $current_page );?>
<div class="menu top">
    <ul><?php foreach($mypostsheader as $idx=>$post){
        if ( $post->ID == $current_page->ID )//do something; }
我尝试在这个函数的末尾和标题的末尾添加一个rewind\\U posts()。php,但我的echo$post->ID在页面内。php仍然返回查询中最后一个元素的id。

有什么想法吗?

1 个回复
最合适的回答,由SO网友:Scott B 整理而成

我发现一种解决方案是在函数调用结束之前调用wp\\u reset\\u query()。我试图使用rewind\\u posts(),但它不起作用。wp\\u reset\\u query()成功了。

这样做之后,由于@goldenapples的出色观察,我已经用$current\\u页面变量(duh!)设置了指向当前$post对象的指针,我发现我可以转储wp\\u reset\\u query()调用,而只需在其位置添加此行。。。

$post = $current_page;
根本原因是我在for循环中重置了$post对象(作为$idx=>$post),因此必须重置查询,以便$post的值能够真实反映页眉下方函数调用中页面的当前$post对象。php

结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x