自5.2升级以来,归档页面已停止执行WP_Query查询
我有一个已经运行了一年的网站,该网站使用了几种自定义内容类型和使用模板的内容档案,例如archive-meeting.php,archive-news.php
这些模板使用WP_Query生成自定义帖子列表。
最近(自5.2升级以来),它们已停止工作,并且WP_Query调用未显示任何结果。
在archive-venue.php
$args = array(
'post_type' => array( 'venue' ),
'order' => 'ASC',
'posts_per_page'=>-1 ,
'orderby' => 'title',
);
global $post;
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {....
这一直有效直到最近。自定义帖子类型和非自定义帖子类型相同。模板中的其他代码正常运行。
将完全相同的代码复制到标准页面模板(即不是存档模板)中可以正常工作。似乎只是存档页面中的情况。
在存档页面中,查询返回的SQL代码似乎有所不同:-
在存档页面中调用,例如archive-venue.php
["request"]=>
string(412) "SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'venue' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') AND wp_posts.post_type <> 'venue' AND wp_posts.post_type <> 'meeting' AND wp_posts.post_type <> 'hospital' AND wp_posts.post_type <> 'news' AND wp_posts.post_type <> 'school-information' AND wp_posts.post_type <> 'carousel' ORDER BY wp_posts.post_title ASC "
["posts"]=>
array(0) {
}
在非归档页面中调用,例如temppage.php
["request"]=>
string(188) "SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'venue' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_title ASC "
["posts"]=>
array(27) {
[0]=>
object(WP_Post)#14701 (24) {
["ID"]=>
int(4979)
["post_author"]=>
string(3) "124"
["post_date"]=>
string(19) "2019-05-01 11:08:44"
归档模板中生成的SQL代码包含两个冲突的子句...
哪里.... wp_posts.post_type ='地点'....和wp_posts.post_type <>'地点'