У меня есть сценарий bash, который публикует сообщения в WordPress. Он делает это нормально, но я хочу, чтобы он добавлял теги к сообщениям. Он использует WP-CLI, и, похоже, нет способа добавлять из него теги к сообщению.
Чтобы уточнить, я говорю о тегах сообщений, а не о тегах HTML. Кроме того, этот сценарий bash запускается на том же сервере, на котором размещен сайт WordPress.
Я также нашел blogpost.py, однако, похоже, у него нет функции тегов.
Из того, что я прочитал, я думаю, что смогу каким-то образом достичь того, что хочу, используя XML-RPC, но я почти ничего об этом не знаю.
Вот команда WP-CLI, которую я использовал. Что работает, но не добавляет тегов.
wp post create --post_title="This is the title" --post_content="This is the post" --post_status=future --porcelain
В отчаянии я попытался добавить --post_tags="these are tags"
, но это не сработало. Я искал ответ уже несколько дней.
Я просто хочу иметь возможность создавать пост WordPress с тегами и категорией из cronjob. Я знаком с bash, так что это было бы лучше всего, но если вы знаете какие-либо решения, использующие другие языки, это тоже приветствуется.
Спасибо.
2 ответа
Как вы, возможно, знаете, теги сообщений - это таксономия (например, категории) WordPress под названием post_tag
.
Вам понадобится набор подкоманд wp post
, в частности wp post term
, чтобы изменить их.
Вам также понадобится WP-CLI v0.18.0 или выше - в более старых версиях его нет.
Во всех этих примерах 1 обозначает идентификатор сообщения.
Добавьте один или несколько тегов к любым существующим тегам
Разделите несколько тегов пробелами (не запятыми).
wp post term add 1 post_tag foo
Success: Added term.
"Установить" один или несколько тегов
Это заменит (перезапишет) все существующие теги для сообщения.
Вы бы использовали это вместо remove
, за которым следует add
(требуется на одну команду меньше).
Разделите несколько тегов пробелами.
wp post term set 1 post_tag bar baz
Success: Set terms.
Список текущих тегов
wp post term list 1 post_tag
+---------+------+------+----------+
| term_id | name | slug | taxonomy |
+---------+------+------+----------+
| 7 | bar | bar | post_tag |
| 5 | baz | baz | post_tag |
+---------+------+------+----------+
Удалить тег (и)
wp post term remove 1316 post_tag baz
Вы также можете использовать это для категорий или любой другой таксономии.
Теперь это можно сделать проще. В последней сегодняшней версии wp-cli (2.4) tags_input является возможность создания и обновления поста wp. Поэтому вы можете использовать
wp post create file --tags_input="Tag1,Tag2,Tag3.."
Или
wp post update (postID) --tags_input="Tag1,Tag2,Tag3.."
Похожие вопросы
Новые вопросы
wordpress
Рассмотрите возможность использования https://wordpress.stackexchange.com. Этот тег предназначен для вопросов, связанных с программированием, о системе управления контентом WordPress. Вопросы не по теме включают вопросы о разработке тем, администрировании WordPress, передовых методах управления, настройке сервера и т. д. Их лучше всего задавать на https://wordpress.stackexchange.com.