Intereting Posts
Программно установить и активировать дочернюю тему Пользовательская таблица WordPress wpdb Как использовать wp_rel_nofollow для добавления nofollow только к внешним ссылкам? Ошибка WordPress php после редактирования файла с помощью FileZilla Как добавить информацию к оверлейной био простой для обычного пользователя? Отображение аудиопроигрывателя в качестве предварительного просмотра в аудиозаписе в WP3.6 Функция WordPress bloginfo не выводит результат на части страниц URL-адрес и размер изображения Настройка wp-activate.php Как получить все параметры action_plugin? Изменен редактор пользовательского меню администратора Где WordPress хранит номер версии? Неподготовленная ссылочная ошибка в Retina.js Как определить, не является ли зарегистрированный пользователь не спамом? Добавление ссылки «Клонировать» в атрибуты продукта – фильтр post_row_actions () или как переопределить вопрос класса

как программно менять теги сообщений

Есть ли функция php, которая может добавлять / удалять теги сообщений? Если не так, как бы я это сделал?

Я ищу что-то вроде этого:

add_tag($post_id, 'tag-name'); remove_tag($post_id, 'tag-name'); 

Solutions Collecting From Web of "как программно менять теги сообщений"

Ключевая функция, которую вы ищете, – wp_set_post_tags() .

Чтобы добавить тег 'awesome' для сообщения 98,

 wp_set_post_tags( 98, array( 'awesome' ), true ); 

Обратите внимание, что true параметр означает, что этот тег будет добавлен к существующим тегам. Если вы опустите это значение, по умолчанию оно будет false , а существующие теги post будут перезаписаны передаваемыми новыми.

Чтобы удалить тег, сначала вытащите список существующих тегов сообщений, используя https://codex.wordpress.org/Function_Reference/wp_get_post_tags :

 $tags = wp_get_post_tags( 98 ); 

Затем соберите список тегов, которые вы хотите сохранить (что исключает ту, которую вы удаляете), и замените существующие теги для публикации новым списком:

 $tags_to_delete = array( 'radical', 'bodacious' ); $tags_to_keep = array(); foreach ( $tags as $t ) { if ( !in_array( $t->name, $tags_to_delete ) ) { $tags_to_keep[] = $t->name; } } wp_set_post_tags( 98, $tags_to_keep, false );