Я беру на себя веб-сайт Wordpress, который переместился с Wordpress на лазурный. На сайте есть кнопка внизу, которая отправляет электронное письмо при нажатии. Вот HTML для метода OnClickОтладка функции Wordpress Email
<div class="w-form-json hidden" onclick="return {ajaxurl:http:\/\/loancoreignite.azurewebsites.net\/engine\/wp-admin\/admin-ajax.php,success:Thank you! Your message was sent.,errors:{name:Please enter your Name,email:Please enter your Email,phone:Please enter your Phone Number}}"></div>
Когда я иду к этому АЯКС URL, я получаю 0 в верхнем левом углу с 404 ошибкой в инструменты отладки. Таким образом, я нашел файл admin-ajax.php и попытался выяснить его там, но здесь я теряюсь. Ниже приведен файл admin-ajax.php.
<?php
/**
* WordPress AJAX Process Execution.
*
* @package WordPress
* @subpackage Administration
*
* @link https://codex.wordpress.org/AJAX_in_Plugins
*/
/**
* Executing AJAX process.
*
* @since 2.1.0
*/
define('DOING_AJAX', true);
if (! defined('WP_ADMIN')) {
define('WP_ADMIN', true);
}
/** Load WordPress Bootstrap */
require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
/** Allow for cross-domain requests (from the frontend). */
send_origin_headers();
// Require an action parameter
if (empty($_REQUEST['action']))
die('0');
/** Load WordPress Administration APIs */
require_once(ABSPATH . 'wp-admin/includes/admin.php');
/** Load Ajax Handlers for WordPress Core */
require_once(ABSPATH . 'wp-admin/includes/ajax-actions.php');
@header('Content-Type: text/html; charset=' . get_option('blog_charset'));
@header('X-Robots-Tag: noindex');
send_nosniff_header();
nocache_headers();
/** This action is documented in wp-admin/admin.php */
do_action('admin_init');
$core_actions_get = array(
'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache',
'autocomplete-user', 'dashboard-widgets', 'logged-in',
);
$core_actions_post = array(
'oembed-cache', 'image-editor', 'delete-comment', 'delete-tag', 'delete-link',
'delete-meta', 'delete-post', 'trash-post', 'untrash-post', 'delete-page', 'dim-comment',
'add-link-category', 'add-tag', 'get-tagcloud', 'get-comments', 'replyto-comment',
'edit-comment', 'add-menu-item', 'add-meta', 'add-user', 'closed-postboxes',
'hidden-columns', 'update-welcome-panel', 'menu-get-metabox', 'wp-link-ajax',
'menu-locations-save', 'menu-quick-search', 'meta-box-order', 'get-permalink',
'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order',
'save-widget', 'delete-inactive-widgets', 'set-post-thumbnail', 'date_format', 'time_format',
'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment',
'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail',
'parse-media-shortcode', 'destroy-sessions', 'install-plugin', 'update-plugin', 'press-this-save-post',
'press-this-add-category', 'crop-image', 'generate-password', 'save-wporg-username',
);
// Deprecated
$core_actions_post[] = 'wp-fullscreen-save-post';
// Register core Ajax calls.
if (! empty($_GET['action']) && in_array($_GET['action'], $core_actions_get))
add_action('wp_ajax_' . $_GET['action'], 'wp_ajax_' . str_replace('-', '_', $_GET['action']), 1);
if (! empty($_POST['action']) && in_array($_POST['action'], $core_actions_post))
add_action('wp_ajax_' . $_POST['action'], 'wp_ajax_' . str_replace('-', '_', $_POST['action']), 1);
add_action('wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1);
if (is_user_logged_in()) {
/**
* Fires authenticated AJAX actions for logged-in users.
*
* The dynamic portion of the hook name, `$_REQUEST['action']`,
* refers to the name of the AJAX action callback being fired.
*
* @since 2.1.0
*/
do_action('wp_ajax_' . $_REQUEST['action']);
} else {
/**
* Fires non-authenticated AJAX actions for logged-out users.
*
* The dynamic portion of the hook name, `$_REQUEST['action']`,
* refers to the name of the AJAX action callback being fired.
*
* @since 2.8.0
*/
do_action('wp_ajax_nopriv_' . $_REQUEST['action']);
}
// Default status
die('0');
Возможно, это проще, чем им сделать это, и все, что нужно, - это что-то в Wordpress?
Мне бы понравился пример. Как вы говорите, так как он возвращает 0, это может быть либо действие не найдено, либо функция не имеет штампа в конце. Как вы можете видеть из файла, у файла есть конец в конце. Так должно быть, что действие не может быть найдено. Как я могу попытаться найти его на основе самого файла PHP. Кроме того, будет ли у меня способ пройти через admin-ajax.php, чтобы увидеть, где код возвращает 0, чтобы увидеть потенциально, где мне нужно идти дальше? – Monz