我正在编写一个wp主题,因为我只想围绕WP_Query创建一个包装函数并重用它。简化生活。
我的包装函数是:
//for making wp_query easily
function myQuery($options,$callback){
$the_query = new WP_Query($options);
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
$callback();
}
}
wp_reset_postdata();
wp_reset_query();
}
//get a single post by the id.
function get_post_by_id($id,$callback){
$options = array('post_in' => $id, );
myQuery($options,$callback);
}
但是当我使用get_post_by_id()
函数时,我得到了意想不到的结果,我注意到多次调用回调。
我该怎么办??????
答案 0 :(得分:0)
您应该使用的正确选项是post__in
而不是post_in
。由于您没有发送正确的选项,因此wp_query会撤消所有帖子,从而进行多次回调调用。