2014-03-06 205 views
0

我創造我的第一次WordPress插件簡單地取出並插入數據使用jQuery AJAX Post方法數據庫在WordPress自定義插件正確的反應。我的WordPress的版本是3.8.1無法獲取的jQuery AJAX POST請求

我試圖做一個AJAX Post請求,但我得到了這個錯誤信息。

Fatal error: Call to a member function get_results() on a non-object in J:\xampp\htdocs\wordpress\wp-content\plugins\auc_data_fetcher\includes\fetch-results.php on line 19 

我看到這個帖子Stackoverlow post和我在頁面的頂部,其中AJAX POST請求的帖子的形式,但在第三行隱藏我的網頁添加該代碼。

include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-config.php'); 
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-includes/wp-db.php'); 

$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); //By adding this line hides all the pages. 

然後我添加了下面的代碼行,它的工作,但仍有一些問題。我開始獲得相同的雙值而不是單個結果。

例如: 響應應該是some fetched data from db。 我得到some fetched data from db some fetched data from db而不是單一的相同結果。

include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'); 

如果我不包括上述wp-load文件,我得到正確的反應,但我需要與數據庫進行交互,並再次上面除包括文件代碼開始給予同樣的Fatal error for $wpdb

請幫我解決我的問題。謝謝。

+1

是否有你需要發佈到特定的原因一個不屬於WordPress的外部頁面? WordPress有一個完整的API來處理ajax,並且可以節省您嘗試幷包含核心並在標準php頁面上運行的麻煩。 –

回答

0

我認爲你只需要include_once/wp-load.php文件。定義全球WPDB $後

注意,定義$ WPDB後,您不需要再提供密碼和相關憑證。

如果你正在編寫和Ajax功能,那麼你必須在call_back函數寫這在您的查詢執行要發生的事

原諒我的英語