从WP-CLI向WordPress帖子添加标签/类别

时间:2015-02-17 01:04:53

标签: wordpress bash command-line-interface

我有一个发布到WordPress的bash脚本。它做得很好,但我想让它为帖子添加标签。它使用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",但它没有用。我几天来一直在寻找答案。

我只是希望能够通过cronjob制作带有标签和类别的WordPress帖子。我熟悉bash,所以这是最好的,但是如果你知道使用其他语言的任何解决方案,那也是受欢迎的。

感谢。

2 个答案:

答案 0 :(得分:5)

正如您所知,帖子标签是名为post_tag的WordPress taxonomy(如类别)。

您需要一组wp post的子命令,特别是wp post term来编辑它们。

您还需要WP-CLI v0.18.0或更高版本 - 旧版本没有它。

在所有这些示例中, 1 表示帖子ID。

将一个或多个标记添加到任何现有标记

用空格分隔多个标签(不是逗号。)

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

您也可以将其用于类别或任何其他分类。

答案 1 :(得分:0)

现在可以更简单地完成此操作。在当今最新的wp-cli(2.4)版本中,tags_input是wp post创建和更新的选项。因此,您可以使用

animal.addAll([{ "display": "Ferret", "value": "3",}, {"display": "Bird", "value": "4",}]);

wp post create file --tags_input="Tag1,Tag2,Tag3.."