好啊这里几乎没有什么不对的地方。
query_posts
不意味着要这样使用,所以不要。请使用相同的代码$likes=new WP_Query(array(...
相反
$likes=new WP_Query(array(
\'post_type\' => \'post\',
\'ignore_sticky_posts\' => true,
\'filter_type\' => \'user_liked\',
\'filter_user\' => $user_id
));
这是问题之一。那么即使
$likes
如果设置正确,您会将其击垮。
$likes= array();
为什么您希望在
$likes
删除所有数据后?不要那样做。删除该行。
现在:
while (have_posts()) :
$likes[]=the_post() ;
endwhile;
。。。毫无意义。运行查询后
$likes
已经是一个帖子集合。跑
var_dump($likes)
你就会明白我的意思了。没有必要仅仅为了完成已经完成的事情而对其进行循环。只需返回
$likes
或者在上面循环并做一些事情,比如回声内容。
此外,使用the_post
这样做行不通。这不是the_posts
方法执行。
另一方面,如果您试图提取,例如,您想要的帖子内容。。。
while ($likes->have_posts()) :
$likes->the_post();
$cont[] = $post->post_content;
endwhile;
我真的建议你花点时间读一下
creating loops.
你也可以这样做get_posts
但是循环有点不同。
还有,为什么要混合PHPmysql_*
具有的函数$wpdb
? 你为什么要用global $wpdb
只是为了打击它?为什么不为数据库实例使用不同的名称呢?
希望这会有所帮助。