自5.2升级以来,使用WP_Query的查询已停止在存档页面上工作

时间:2019-05-13 09:58:55

标签: wordpress wordpress-theming

自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 <>'地点'

0 个答案:

没有答案