2012-03-16 29 views
0

我有一個JS/PHP文件在wordpress插件file.js.php中結合。wordpress檢測插件路徑到根

問題是 - 我需要包含一個wordpress文件以便能夠使用GLOBALS和wp函數。

我的問題有兩個部分:

1 - 該文件是最好的一個,包括(安全性,性能等)

2 - 我怎樣才能找到他的路徑表示文件 - 假設我不能使用plugins_url()包含它來識別路徑或wp root?

現在我使用:

include("../../../../wp-load.php"); 

require_once (dirname(dirname(dirname(dirname(dirname (__FILE__))))).'/wp-config.php'); 

但是,當然,這是一個半硬編碼的方法。它不會提供任何保障,如果內容」或‘插件’目錄移到...

的問題進行了概述,並同時解決了這個問題浮出水面:PHP constant inside JS file

回答

0

我認爲你做的太複雜了。我認爲更好的方法是檢查如何處理WordPress中的AJAX調用:http://codex.wordpress.org/AJAX_in_Plugins

您實際上不必將JS編寫爲AJAX來使用這些方法,但可以將一些設置變量放置到您的頁面中這些方法。你也可以有一個由WordPress完全生成的JavaScript文件,它可以完全訪問數據庫等。

所以你可以寫你的代碼周圍

add_action('wp_ajax_nopriv_myajax-submit', 'mydynamicjs'); 
add_action('wp_ajax_myajax-submit', 'mydynamicjs'); 

,並從內部或外部的WordPress撥打電話,以包括JS,如:

http://example.com/wordpress/wp-admin/admin-ajax.php?action=mydynamicjs 

,你實際上應該返回JSON不是真的正確的技術但是你會得到一個文件,可以100%訪問WP函數,數據庫等,而不必做任何瘋狂的包含。

根據你的目標,你也可以寫一些東西來訪問AJAX需要的數據。