2013-05-03 46 views
2

這是我的問題的「長話短說」版本:
我有觸發wp-admin/admin-ajax.php文件的這個通訊/訂閱表單當我沒有登錄Wordpress時,該表格無法工作。
原來,admin-ajax.php文件有302反對它。WordPress admin-ajax.php 302通過表格重定向錯誤

我已經看到/測試過此問題的解決方案(即this onethat one),但是它們都沒有幫助。

我搜索我的整個任何相關的「可溼性粉劑管理員」保護的主題文件,我沒有發現任何東西。
我修改並停用了WP Better Security和W3C(以及其他各種插件),沒有任何改變。
我更改/刪除了htaccess,沒有任何更改。

我對這個問題感到沮喪。
在這一點上,我知道我的代碼中存在阻止訪問admin-ajax.php的「外人」,但我無法弄清楚在哪裏。
它可以保護我的管理員文件夾和/或保護admin-ajax.php。

任何想法?
幫助將不勝感激。
在此先感謝!

+0

怎麼叫管理員-ajax.php文件? – 2013-09-05 12:15:06

回答

0

好的,這裏的問題是,Wordpress使用兩個不同的鉤子ajax。它使用一個用於管理員端,另一個用於註銷用戶。我的猜測是你的表格不使用後者。

看一看兩個:

add_action('wp_ajax_my_action', 'my_action_callback'); 
add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); 

從WordPress的法典:

由於WordPress的2.8,還有類似wp_ajax_鉤(動作):

wp_ajax_nopriv_(動作)爲沒有登錄的用戶執行。因此, 如果您希望它在前端爲兩個訪問者和 登錄用戶觸發,則可以這樣做:

ADD_ACTION( 'wp_ajax_my_action', 'my_action_callback'); add_action('wp_ajax_nopriv_my_action','my_action_callback');

在這裏看到:http://codex.wordpress.org/AJAX_in_Plugins