Я создаю плагин WordPress (мой первый), и в настоящее время я создаю меню администратора, но я не могу добавить некоторые функции ajax с моей собственной базой данных.
Сейчас это всегдавозвращает 0, даже если я использую wp_die (). Я также использовал die () и exit (), но все так же. Я переместил ловушки для обратного вызова в файле представления, но затем я получил 400 сообщений. В какой-то момент мне удалось получитьвся страница в качестве ответа.
Я сделал все это после этого видео https://www.youtube.com/watch?v=7pO-FYVZv94 и ресурсов со страницы разработчика wordpress
Мой скрипт:
jQuery(document).ready(function ($) {
$('#test-form').submit(function () {
data = {
action: 'get_data'
}
$.post(ajax_object.ajax_url, data, function (response) {
alert(response);
});
return false;
});
});
view.php file
<form action="" id="test-form" method="post">
<div>
<input type="submit" name="test-submit" class="btn btn-primary" value="Press me!">
</div>
</form>
<?php
function data_callback(){
//do the db stuff
echo 'Hello from the callback';
wp_die();
}
конструктор класса admin
public function __construct(){
add_action('admin_menu', array($this,'setup_admin_menu'));
add_action('wp_ajax_get_data', 'data_callback');
}
и вот как я загружаю свой скрипт из класса admin вместе с другими библиотеками
wp_enqueue_script('ajax-script', plugins_url('/assets/js/scripts.js', __FILE__), array('jquery'));
wp_localize_script('ajax-script', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));