Я пытаюсь опубликовать метаданные с помощью Wordpress Rest API (/ wp-json / wp / v2 / comments), но получаю эту ошибку 401
{"code":"rest_cannot_update","message":"Sorry, you do not have permission to edit the custom field stars.","data":{"key":"stars","status":401}}
Мои методы Vue.js для публикации
submitForm: function() {
axios.post('https://dev.lesdeuxvagues.com/admin-ceformed/wp-json/wp/v2/comments', {
post: 26,
author_name: this.nom + ' '+ this.prenom,
author_email: this.mail,
content: this.message,
meta:{
stars:this.note,
}
})
.then(function (response) {
console.info(response);
})
.catch(function (error) {
console.info(error);
});
},
Моя мета-регистрация:
add_action('init', function() {
register_meta('comment', 'stars', [
'type' => 'number',
'description' => __('Stars'),
'single' => true,
'show_in_rest' => true,
'auth_callback' => '__return_true',
]);
}, 10 , 0);
Спасибо за вашу помощь
Спасибо @Ruvee за ответ, я посмотрел, но не понимаю, как создать токен на стороне Nuxt.js с помощью wp_create_nonce ("wp_rest") в Wordpress?
в файл functions.php вставьте следующий код: wp_localize_script("my_data_js", "myWpData", array( "nonce" => wp_create_nonce("wp_rest") ));. После этого у вас будет доступ к значению в вашем javascript. Затем отправьте его в rest api в качестве заголовка в вашем javascript, например: setRequestHeader("X-WP-Nonce", myWpData.nonce);

Вы забыли передать
nonceвrest api! Используйтеwp_create_nonce("wp_rest")для его создания, а затем передайте ему остальные api.