Задать вопрос
victorzadorozhnyy
@victorzadorozhnyy

В чем ошибка в использовании своего WP Rest API endpoint?

К своей теме пытаюсь добавить функцию через rest api, где я указываю id пользователя и сбрасываю ему пароль.
Судя по ошибке, я как то не так регистрирую
jquery.min.js:4 POST http://*****.ap-southeast-2.compute.amazonaws.com/... 404 (Not Found)

functions.php
add_action( 'rest_api_init', 'register_api_hooks' );
function register_api_hooks() {

    register_rest_route('user',
        '/reset_pas/(?P<id>\d+)',
        array(
            'method' => 'POST',
            'post_callback' => 'reset_password_callback',
            'schema'          => null
        ));
}

function reset_password_callback($request ){
    
    $id=$request['id'];

    global $current_user;
    get_currentuserinfo();

    $user_to_reset = get_user_by( 'id', $id );
    $new_pass = wp_generate_password( 20, false );
    
    do_action( 'password_reset', $user_to_reset, $new_pass );

    wp_set_password( $new_pass, $user_to_reset->ID );
    update_user_option( $user_to_reset->ID, 'default_password_nag', false, true );

    do_action( 'after_password_reset', $user_to_reset, $new_pass );
}

JS
resetUserPassword(id){
        var that = this;
        $( document ).ready(function() {
            jQuery( document ).ready(function( $ ) {
                $.ajax({
                    'url': Slug_API_Settings.root + 'wp/v2/user/reset_pas/' + id,
                    'method': 'POST',
                    'beforeSend': function (xhr) {
                        xhr.setRequestHeader('X-WP-Nonce', Slug_API_Settings.nonce);
                    }/*,
                    data: {
                        'id': that.state.id
                    }*/
                }).done( (r)=>{
                    console.log(r);
                    //that.props.resetUsers
                } );
            });
        });
    }
  • Вопрос задан
  • 339 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Loki9928
потому что метод post/ нужно с начало разобрать параметр json/ Смотрите методы WP_REST_Request
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы