Пользовательский плагин Wordpress с API остальных и AMP Plugin возвращает ошибку 403 при обновлении - PullRequest
0 голосов
/ 10 апреля 2020

AMP плагина: https://wordpress.org/plugins/amp/
Последняя версия Wordpress.

Проблема: Если я изменю этот триггер, связанный с плагином Wordpress AMP:

enter image description here

При сохранении я получаю эту ошибку, связанную с моим плагином: enter image description here

Ошибка возврата при сохранении в консоль 403 по этому URL :

mysite / wp-json / wp / v2 / posts / {POSTID}? _ locale = user

Обратите внимание: Я получил ошибку, только когда я изменил этот триггер и сохранил статью. Если триггер не изменяется внутри сеанса, у меня нет ошибок.

Код плагина:

BACKEND:

   function seorefreshlink_save_postdata( $post_id ) {
    if ( array_key_exists( 'seorefresh_link_field', $_POST ) ) {
        update_post_meta( $post_id, '_seorefresh_link_field', $_POST['seorefresh_link_field'] );
    }
    if ( array_key_exists( 'seorefresh_link_field_checker', $_POST ) ) {
        update_post_meta( $post_id, '_seorefresh_link_field_checker', $_POST['seorefresh_link_field_checker'] );
    }
}
add_action( 'save_post', 'seorefreshlink_save_postdata' );


function seorefreshlink_register_meta() {
    register_meta(
        'post', '_seorefresh_link_field', array(
            'type'          => 'string',
            'single'        => true,
            'show_in_rest'  => true,
        )
    );
    register_meta(
        'post', '_seorefresh_link_field_checker', array(
            'type'          => 'string',
            'single'        => true,
            'show_in_rest'  => true,
        )
    );
}
add_action( 'init', 'seorefreshlink_register_meta' );



function seorefreshlink_api_posts_meta_field() {
    register_rest_route(
        'seorefreshlink-gutenberg/v1', '/update-meta', array(
            'methods'  => 'POST',
            'callback' => 'seorefreshlink_update_callback',
            'args'     => array(
                'id' => array(
                    'sanitize_callback' => 'absint',
                ),
            ),
        )
    );
}
add_action( 'rest_api_init', 'seorefreshlink_api_posts_meta_field' );


function seorefreshlink_update_callback( $data ) {
    return update_post_meta( $data['id'], $data['key'], $data['value'] );
}

REACT

wp.apiRequest( { path: `/seorefreshlink-gutenberg/v1/update-meta?id=${nextProps.postId}`, method: 'POST', data: state.fields[index] } ).then(
                    ( data ) => {
                        console.log(data);
                        return data;
                    },
                    ( err ) => {
                        return err;
                    }
                );

Any предложение

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