Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress WP查询未返回所有结果_Wordpress - Fatal编程技术网

Wordpress WP查询未返回所有结果

Wordpress WP查询未返回所有结果,wordpress,Wordpress,我想从posts表返回所有父事件(其中post_parent=0) 当我运行一个原始sql查询时,这是非常好的,但是当我在我的PHP类中运行一个wp_查询时,我只会从wp的posts表中收到8行。我关闭了缓存并尝试了其他方法,但我无法理解为什么WP查询不返回所有23行。谢谢你的提示 原始SQL查询(工作正常-23行): WP查询(仅返回错误的8行) 有两件事我会尽力去理解你问题的原因 (1.)使用'suppress_filters'=true以确保没有任何筛选器正在修改您的查询 $args =

我想从posts表返回所有父事件(其中post_parent=0)

当我运行一个原始sql查询时,这是非常好的,但是当我在我的PHP类中运行一个wp_查询时,我只会从wp的posts表中收到8行。我关闭了缓存并尝试了其他方法,但我无法理解为什么WP查询不返回所有23行。谢谢你的提示

原始SQL查询(工作正常-23行):

WP查询(仅返回错误的8行)


有两件事我会尽力去理解你问题的原因

(1.)使用'suppress_filters'=true以确保没有任何筛选器正在修改您的查询

$args = array(
    'post_type' => 'tribe_events',
    'posts_per_page' => -1,
    'post_status' => 'publish',
    'post_parent' => 0,
    'suppress_filters' => true
);
$evts = new WP_Query($args);
(2.)使用过滤器“posts_request”转储WordPress正在使用的实际MySQL查询

add_filter( 'posts_request', function( $sql ) {
    error_log( 'SQL=' . $sql );
    return $sql;
} );

当然,要使此筛选器正常工作,“suppress\u filters”必须为false。

suppress\u filters
FTW!!在我做自定义查询的所有时间里,我从未遇到过这样的问题。非常感谢您填补了这一知识空白!
$args = array(
    'post_type' => 'tribe_events',
    'posts_per_page' => -1,
    'post_status' => 'publish',
    'post_parent' => 0,
    'suppress_filters' => true
);
$evts = new WP_Query($args);
add_filter( 'posts_request', function( $sql ) {
    error_log( 'SQL=' . $sql );
    return $sql;
} );