Wordpress PHP Fatal error: Call to a member function get() on a non-object 解決方法
阿新 • • 發佈:2019-02-10
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
但在自己的方法中通過 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;