Intereting Posts
Получите пользовательский пул сообщений, но удалите префикс перезаписи? Связка несвязанного WordPress с использованием того же memcached не хранит правильно свои данные Установите значение по умолчанию для параметра? Как использовать буферизацию вывода в записях WordPress? Запланировать автоматические обновления WordPress только в рабочие часы Заполнение мета-окна с помощью списка избранных сообщений и назначение его пользовательским типам сообщений Использование короткого кода для пересылки сообщений из нескольких категорий Использование AJAX для динамических страниц настроек Как показать лучшие продажи продуктов электронной коммерции WP Как я могу добавить мета-окно в редактор сообщений, содержащий все элементы пользовательской таксономии, как флажок? Запрос WP для получения массива слизней Настройки виджета исчезают после обновления страницы Добавить другой мета-код, основанный на таксономии Заменять скрипты и стили на шаблон страницы, содержащий html Пользовательский шаблон таксономии не отображается

Почему теги и категории, добавленные в почтовый запрос в WP Rest API

Я использую V2.0 и пытаюсь создать сообщение, использующее конечную точку / posts.

Вот сообщение, отправленное с моей просьбой:

var payload = { title : "some title", format : "link", tags: ["tag1", "tag2"], categories: ["newsletter"], content: "http://someurl.com", status: "publish" }; 

Сообщения успешно создаются, и все остальные поля добавляются за исключением категории и тегов.

Я вижу, что оба они должны взять массив строк. Что мне здесь не хватает?

Кроме того, я попытался добавить как категории, так и теги, которые уже существуют на сайте, и новые. оба не работают.

Вы используете имя в своих терминах. По умолчанию попробуйте использовать существующий идентификатор термина (в вашем случае, идентификатор кота и идентификатор тега).

Если вы увидите https://plugins.trac.wordpress.org/browser/rest-api/trunk/lib/endpoints/class-wp-rest-posts-controller.php#L918, они будут обрабатывать ваш термин, дезактивируя их в -негативное целое число с использованием absint . Надеюсь, эта помощь.

Вот пример кода для hook rest_insert_{$this->post_type} чтобы создать термины (теги и категории) и установить в post после сообщения post, созданного wp_insert_post . Примечание: теги и запрос категории находятся в массиве имен как пример кода OP.

 add_action( 'rest_insert_post', 'wpse220930_rest_insert_post', 1, 3 ); function wpse220930_rest_insert_post( $post, $request, $update = true ) { if ( ! empty( $request['tags'] ) ) wp_set_object_terms( $post->ID, $request['tags'], 'post_tag', $update ); if ( ! empty( $request['categories'] ) ) wp_set_object_terms( $post->ID, $request['categories'], 'category', $update ); }