Как разместить метаданные комментария с помощью Wordpress REST API

Я пытаюсь опубликовать метаданные с помощью 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);

Спасибо за вашу помощь

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

Ruvee 06.04.2021 18:19

Спасибо @Ruvee за ответ, я посмотрел, но не понимаю, как создать токен на стороне Nuxt.js с помощью wp_create_nonce ("wp_rest") в Wordpress?

Kévin Furet 07.04.2021 11:15

в файл 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);

Ruvee 07.04.2021 18:58
Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
3
20
0

Другие вопросы по теме