首页 >php教程 >php手册 >Wordpress PHP Fatal error: Call to a member function get()

Wordpress PHP Fatal error: Call to a member function get()

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-06 19:40:131740浏览

Wordpress PHP Fatal error: Call to a member function get() on a non-object解决方法 在自己代码的方法仲使用 require(ABSPATH.'wp-load.php'); 引入Wordpress核心代码,然后执行WP_Query获取特定的post,就会发生下面的错误: PHP Fatal error: Call to

Wordpress PHP Fatal error:  Call to a member function get() on a non-object解决方法


在自己代码的方法仲使用 require(ABSPATH.'wp-load.php'); 引入Wordpress核心代码,然后执行WP_Query获取特定的post,就会发生下面的错误:

PHP Fatal error:  Call to a member function get() on a non-object in /sitepath/wp-includes/query.php on line 28

这是因为全局变量不正确使用引起的问题,默认 $wp_query 是在 wp-setting.php 中定义的,因为定义在最外层,所以 $wp_query自然是一个全局变量。

但在自己的方法中通过 require(ABSPATH.'wp-load.php'); 引入Wordpress核心代码,反而使$wp_query变成了这个方法的本地变量。所以其他代码调用 $wp_query 时就会出错。


解决方法:

在require(ABSPATH.'wp-load.php'); 前面加入以下代码,预先将 $wp_query 定义为全局变量

define('WP_USE_THEMES', false);
global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn