在我的wordpress插件中,我需要有一個JSON選項來加載,使用jquery,關於自定義帖子類型的信息。這個jquery調用將進入一個頁面,所有用戶都應該看到它。在wordpress中調用json函數
據我從codex明白我應該有一個功能:
function my_json_returning_function(){
// get json objects here
echo $json;
die();
}
還有操作:
add_action('wp_ajax_my_json_action', 'my_json_returning_function');
add_action('wp_ajax_nopriv_my_json_action', 'my_json_returning_function');
所有在我的插件文件。
則是這樣的:
jQuery(document).ready(function($) {
var data = {
action: 'my_json_action',
};
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(<?php echo admin_url('admin-ajax.php');?>, data, function(response) {
alert('Got this from the server: ' + response);
});
});
應該叫有問題的功能。
我真正的問題是我應該在哪裏放置所有不同的部分 - 如果有東西丟失。
php函數和動作鉤子進入插件文件。但是,我更加困惑的JavaScript。我想把它放在插件的JavaScript文件中,但因爲我必須使用PHP獲取管理網址,這成爲一個問題。
另外,如何確保僅在某個頁面中調用腳本?是否有更多的鉤子和過濾器我應該適應?或者,在該頁面上執行簡碼時,可以使用wp_enqueue_script加載它,或者是後期加載,因爲我似乎需要將它加載到標題中。
很多問題,但我希望你能理解我的問題的基礎 - 我很難將代碼放在wordpress結構的正確位置。
編輯: 調用回波ADMIN_URL( '管理員-ajax.php');至少在我眼中是最優雅的做法。我寧願有一個json API,以及其獨立的url,並在ajax調用中調用它。我將如何去設置一個WordPress的頁面,只返回一個JSON對象?
這個問題[已在WordPress的堆棧交換回答](http://wordpress.stackexchange.com/questions/3610 /如何管理的阿賈克斯通話和JSON的功能於WordPress的)。訣竅是您可以使用'wp_localize_script()'將PHP配置值發送給Javascript。 – 2010-11-17 14:41:00