Agregue etiquetas/categorías a una publicación de WordPress desde WP-CLI

2 minutos de lectura

avatar de usuario
ray walz

Tengo un script bash que publica en WordPress. Lo hace bien, pero quiero que agregue etiquetas a las publicaciones. Usa CLI de WP y no parece haber una forma de agregar etiquetas a una publicación.

Para aclarar, estoy hablando de etiquetas de publicación, no de etiquetas HTML. Además, este script bash se ejecuta en el mismo servidor que aloja el sitio de WordPress.

también encontré blogpost.pysin embargo, tampoco parece tener una función de etiqueta.

Por lo que he leído, creo que podría lograr lo que quiero usando XML-RPC de alguna manera, pero no sé casi nada al respecto.

Aquí está el comando WP-CLI que he estado usando. Que funciona, pero no agrega etiquetas.

wp post create --post_title="This is the title" --post_content="This is the post" --post_status=future --porcelain

Desesperado, traté de agregar --post_tags="these are tags", pero no funcionó. Llevo días buscando la respuesta.

Solo quiero poder hacer una publicación de WordPress, con etiquetas y una categoría, desde un cronjob. Estoy familiarizado con bash, por lo que sería lo mejor, pero si conoce alguna solución que use otros idiomas, también es bienvenida.

Gracias.

avatar de usuario
Guillermo Turrell

Como sabrá, las etiquetas de publicación son un WordPress taxonomía (como categorías) llamado post_tag.

Necesita un conjunto de subcomandos de wp postespecíficamente wp post termpara editarlos.

También necesita WP-CLI v0.18.0 o superior; las versiones anteriores no lo tienen.

En todos estos ejemplos, 1 indica el ID de la publicación.

Agregue una o más etiquetas a cualquier etiqueta existente

Separe varias etiquetas con espacios (no comas).

wp post term add 1 post_tag foo
Success: Added term.

“Establecer” una o más etiquetas

Esto reemplazará (sobrescribirá) cualquier etiqueta existente para la publicación.
Usarías esto en lugar de remove seguido por add (Se necesita un comando menos).

Separe varias etiquetas con espacios.

wp post term set 1 post_tag bar baz
Success: Set terms.

Lista de etiquetas actuales

wp post term list 1 post_tag

+---------+------+------+----------+
| term_id | name | slug | taxonomy |
+---------+------+------+----------+
| 7       | bar  | bar  | post_tag |
| 5       | baz  | baz  | post_tag |
+---------+------+------+----------+

Quitar etiqueta(s)

wp post term remove 1316 post_tag baz

También puede usar esto para categorías o cualquier otra taxonomía.

  • Hola William, ¿podrías comentar cómo se podría hacer esto de forma masiva (es decir, si necesito establecer una categoría en un montón de publicaciones a la vez)? Gracias.

    – DrewDavid

    26 de noviembre de 2019 a las 17:05

Esto ahora se puede hacer de forma más sencilla. En la última versión actual de wp-cli (2.4), etiquetas_entrada es una opción de creación y actualización de publicaciones de wp. Por lo tanto, puede utilizar

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

o

wp post update (postID) --tags_input="Tag1,Tag2,Tag3.."

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad