Intereting Posts
Пользовательская переименование заголовка страницы Зарегистрировать всех пользователей вне всех мест через 24 часа Добавляйте <! – nextpage -> к каждому сообщению, чтобы принудительно добавить ссылку на страницу (и статический контент) Эхо несколько задач, если существует общая функция Могу ли я создать сайт социальной сети, используя WordPress и его плагины? Могу ли я использовать front-page.php и index.php? Поддерживает ли иерархия раздела API настройки темы WordPress? Где вы загружаете изображения на сайте wordpress? Перенаправление формы входа Отображение подкатегорий в выпадающем меню MetaBox не сохраняется после пустого Изменение структуры permalink сделало javascript cookie неправильно работать Уведомление в режиме реального времени о профиле пользователя после нового комментария переключать многократную петлю с титлом WP MU сломан, ошибки базы данных по wp_versions_check

Как добавить термины (без удаления других)

У меня есть форма на моем сайте, которая позволяет подписываться в продуктах тегов пользователей из front-end сайта в базовой форме. Я использую Woocommerce как коммерческую платформу.

Woocommerce использует пользовательские типы сообщений для регистрации своих продуктов. Теги продукта – это таксономия (product_tag). Woocommerce использует для маркировки продуктов.

Я использую wp_set_object_terms, чтобы вставить термины, которые пользователи представляют. Проблема в том, когда они представляют новые «теги», они перезаписывают любые существующие «теги» и заменяют их новыми.

Мне просто нужен способ для добавления тегов и сохранения существующих тегов продукта (сообщения).

вот что у меня есть:

if (is_user_logged_in()) { if(isset($_POST['submitted']) && isset($_POST['post_nonce_field']) && wp_verify_nonce($_POST['post_nonce_field'], 'post_nonce')) { //Tagging wp_set_object_terms( $post->ID, explode( ',', $_POST['postTags'] ), 'product_tag' ); } ?> <form name="primaryTagForm" action="#" id="primaryTagForm" method="POST" enctype="multipart/form-data" > <fieldset class="tags"> <label for="post_tags">Tags:</label> <input type="text" value="" tabindex="35" name="postTags" id="postTags" /> </fieldset> <fieldset> <input type="hidden" name="submitted" id="submitted" value="true" /> <?php wp_nonce_field( 'post_nonce', 'post_nonce_field' ); ?> <button class="button" type="submit"><?php _e('Tag Product', 'framework') ?></button> </fieldset> </form> 

Solutions Collecting From Web of "Как добавить термины (без удаления других)"

Четвертый параметр для wp_set_object_terms() является аргументом «добавить».

$append (bool) (обязательно) Если true, теги будут добавлены к объекту. Если false, теги заменят существующие теги

  Default: False 

http://codex.wordpress.org/Function_Reference/wp_set_object_terms

Ваш код должен работать, если вы передадите true качестве этого четвертого аргумента.

 wp_set_object_terms( $post->ID, explode( ',', $_POST['postTags'] ), 'product_tag', true );