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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 19:40:131737browse

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;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn