>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으로 문의하세요.