WordPress имеет встроенные возможности AJAX. Отправьте ваш ajax-запрос в /wp-admin/admin-ajax.php, используя POST с аргументом 'action':
jQuery(document).ready(function(){
jQuery.ajax({
type:'POST',
data:{
action:'my_unique_action',
id:'testValue'
},
url: "http://mysite/wp-admin/admin-ajax.php",
success: function(value) {
jQuery(this).html(value);
}
});
});
Затем подключите его к плагину следующим образом, если вы хотите, чтобы он работал только для зарегистрированных пользователей:
add_action('wp_ajax_my_unique_action','doMyCustomAjax');
или подключите его так, чтобы он работал только для незарегистрированных пользователей:
add_action('wp_ajax_nopriv_my_unique_action','doMyCustomAjax');
Используйте оба, если хотите, чтобы это работало на всех.
Вот функция doAjax, например:
function doMyCustomAjax(){
$id = ( isset( $_POST['id'] ) ) ? $_POST['id'] : '';
if( empty( $id ) )
return;
echo $id;
}
Поместите это в functions.php тоже. Это вернет идентификатор, который вы отправили в AJAX.
admin-ajax.php уже использует некоторые имена действий, поэтому убедитесь, что вы просматриваете файл и не используете те же имена действий, иначе вы случайно попытаетесь сделать такие вещи, как удаление комментариев и т. Д.
EDIT
Поместите строки add_action
в файл functions.php. Файл admin-ajax.php запустит некоторые функции, затем запустит хук, который делает ваше значение 'action', затем убьет скрипт. Я изменил код выше, чтобы отразить эту информацию.