试图获得非对象的属性" class-wp-query.php"和" link-template.php"在wordpress

时间:2018-04-28 12:41:31

标签: php wordpress notice

我的一个项目有两个PHP通知 - "试图获取非对象的属性"

我知道这意味着什么(或多或少),但问题是我无法找到哪个代码元素会引起注意......这让我发疯了......

  1. 尝试在第3871行的/ xxxxxxxxxxxx / wp-includes / class-wp-query.php 中获取非对象的属性
  2. (在github就在这里 - > https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-query.php#L4029

    1. 尝试在第643行的/ xxxxxxxxxxxxxx / wp-includes / link-template.php 中获取非对象的属性
    2. (在github就在这里 - > https://github.com/WordPress/WordPress/blob/master/wp-includes/link-template.php#L673

      在我使用的这个项目中:

      • 我自己的模板
      • Woocommerce插件(最新发布)
      • ACF(最新发布)
      • Yoast SEO(最新发布)

      我的自定义查询可能有问题吗? 例如,这就是我使用的:

      ' https://pastebin.com/YEBQAXgs '
      

      问题是:我如何找到/抓住此通知并确定我的代码的哪一部分应该更正?

2 个答案:

答案 0 :(得分:0)

根据您发布的内容,它可能是无效的SQL查询的症状。如果您尝试准备错误的SQL,它将不会生成将导致该错误的语句对象。

答案 1 :(得分:0)

它来自Woocommerce wc_prevent_adjacent_posts_rel_link_wp_head函数,该函数由template_redirect挂钩操作。

它会调用is_singular('product')来获取查询的对象,如果查询是针对提要,它将返回NULL,因此不是对象。