admin-ajax.php не находит уже определенное действие ajax - PullRequest
0 голосов
/ 12 декабря 2018

Я пришел к тому, что мне нужно попросить вас о помощи здесь.

В коде admin-ajax.php есть раздел, который проверяет, зарегистрировано ли действие ajax.Но по какой-то причине мои действия не обнаруживаются при срабатывании Ajax-запроса.Но если я проверю действие в моем коде, там.Это фрагмент кода, который проверяет правильность действия.

if ( ! has_action( 'wp_ajax_' . $_REQUEST['action'] ) )

А это фрагмент кода из файла admin-ajax.php WordPress:

if ( is_user_logged_in() ) {
    // If no action is registered, return a Bad Request response.
    if ( ! has_action( 'wp_ajax_' . $_REQUEST['action'] ) ) {
        wp_die( '0', 400 );
    }

    /**
     * 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 {
    // If no action is registered, return a Bad Request response.
    if ( ! has_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] ) ) {
        wp_die( '0', 400 );
    }

    /**
     * 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'] );
}

Вы можете взять полный код здесь:

https://github.com/WordPress/WordPress/blob/master/wp-admin/admin-ajax.php#L155

Заранее благодарим вас за помощь в освещении вещей.

1 Ответ

0 голосов
/ 23 января 2019

Для всех, кто зашел.Я нашел свой ответ после долгих отладок и испытаний.Действие было зарегистрировано в унаследованном классе и, следовательно, к тому времени, когда код нуждался в нем, его не было.Поэтому после вызова метода, который регистрировал действие в конструкторе Parent, все начало работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...