WOLF - WordPress Posts Bulk Editor and Manager Professional

Añadir una categoría a entradas de WordPress en masa sin perder las existentes

Para añadir una categoría a entradas de WordPress en masa sin tocar las categorías que ya tienen, hay que acertar en dos cosas: la selección de entradas y el comportamiento del cambio. En WOLF seleccionas las entradas en la pestaña Filtros (Filters) y añades el término en la pestaña Edición masiva (Bulk Edit) con el comportamiento añadir (append). Añadir conserva todos los términos existentes y agrega el nuevo. Los mismos pasos sirven para etiquetas y para taxonomías personalizadas de cualquier tipo de contenido.

Añadir, reemplazar o quitar: elige el comportamiento correcto

Cada taxonomía de la sección taxonomías (taxonomies) de la pestaña Edición masiva (Bulk Edit) tiene una lista de términos y un menú desplegable de comportamiento con tres opciones:

ComportamientoQué ocurre con cada entradaÚsalo para
añadir (append)Se añaden los términos seleccionados. Los existentes se mantienen.Añadir una categoría o etiqueta a muchas entradas
reemplazar (replace)La entrada recibe exactamente los términos seleccionados. Se eliminan todos los demás.Dar a todas las entradas un conjunto exacto de términos
quitar (remove)Se quitan los términos seleccionados. Los demás se mantienen.Quitar una etiqueta o categoría de muchas entradas

El error habitual es usar reemplazar (replace) cuando se quería añadir (append): las entradas se quedan solo con la categoría nueva. Si ha ocurrido, revierte la ejecución en la pestaña Historial (History), que también registra los cambios de taxonomías. Para mover entradas de la categoría A a la categoría B y conservar sus otras categorías, ejecuta dos operaciones: añadir (append) B y después quitar (remove) A.

Reemplazar (replace) con una lista de términos vacía deja sin términos una taxonomía de tipo categoría (jerárquica), como se describe en desvincular una taxonomía de las entradas. Para las etiquetas, selecciona las que quieres eliminar y usa quitar (remove).

Añadir una categoría a entradas en masa, paso a paso

  1. Selecciona las entradas. Usa la pestaña Filtros (Filters) (consulta la sección siguiente) y haz clic en Filtrar (Filter). Para un puñado de entradas de la página actual, marca sus casillas en su lugar. Una selección siempre tiene prioridad sobre el filtro.
  2. Comprueba el alcance. El aviso en la parte superior de la pestaña Edición masiva (Bulk Edit) dice La edición masiva se aplicará a: (Bulk editing will be applied to:) las entradas filtradas, las seleccionadas o todas las entradas del tipo de contenido.
  3. Activa la taxonomía. Marca la casilla junto a Categorías (Categories) (o Etiquetas (Tags), o tu taxonomía personalizada) en la sección taxonomías (taxonomies).
  4. Elige los términos. Selecciona uno o varios términos de la lista. Los términos hijos aparecen con sangría bajo sus padres.
  5. Establece el comportamiento en añadir (append).
  6. Haz clic en Hacer edición masiva (Do Bulk Edit) y confirma el cuadro de diálogo.

Añadir una categoría hija no añade su categoría padre. WordPress las trata como dos términos independientes, así que selecciona ambas si tu tema o tu menú lista las entradas por la categoría padre. Se pueden cambiar varias taxonomías en una sola ejecución: activa Categorías (Categories) y Etiquetas (Tags) a la vez, cada una con sus propios términos y su propio comportamiento.

Selecciona las entradas adecuadas con los filtros de taxonomías

Cada taxonomía de la pestaña Filtros tiene una lista de términos y un operador:

  • OR: entradas que tienen al menos uno de los términos seleccionados.
  • AND: entradas que tienen todos los términos seleccionados.
  • NOT IN: entradas que no tienen ninguno de los términos seleccionados.

Los filtros de texto, fecha, autor y estado se combinan con ellos, de modo que «borradores de un autor en Noticias (News) que mencionen webinar» es un único filtro.

Las entradas de categorías hijas no se incluyen

Filtrar por una categoría padre encuentra solo las entradas que tienen la propia categoría padre. Las entradas que están únicamente en una de sus categorías hijas no coinciden. Selecciona también las categorías hijas en la lista, o haz que el filtro incluya los hijos con este fragmento de código:

/*
 * WOLF Filters: filtering by a parent category also finds posts
 * that are only in its child categories.
 * Child theme functions.php or a code snippets plugin.
 */
add_filter('wpbe_filter_include_children', function ($include_children, $taxonomy) {
    if ('category' === $taxonomy) {
        return true;
    }
    return $include_children;
}, 10, 2);

Entradas sin categoría o sin etiquetas

Seleccionar todos los términos con NOT IN funciona, pero no con miles de etiquetas. WOLF tiene dos operadores ocultos para esto, EXISTS y NOT EXISTS. Filtran según si una entrada tiene algún término de la taxonomía. Actívalos con una sola línea, como se describe en la pregunta frecuente sobre filtrar por asignación de taxonomías:

// Child theme functions.php or a code snippets plugin
add_filter('wpbe_filter_taxonomies_exists_show', '__return_true');

Recarga la página de WOLF, deja vacía la lista de términos de esa taxonomía, establece el operador en NOT EXISTS y filtra. En las entradas normales, ten en cuenta que WordPress asigna a una entrada guardada sin categoría la categoría predeterminada, normalmente Sin categoría (Uncategorized). Por eso la mayoría de las entradas «sin categorizar» se encuentran filtrando por ese término con OR. Después de añadirles la categoría correcta, quita Sin categoría (Uncategorized) con una segunda ejecución que use quitar (remove).

«En la categoría A y B pero no en C»

Entre taxonomías la relación es siempre AND, y cada taxonomía tiene un solo operador. Por eso «en la categoría A y en la categoría B pero no en la categoría C» no se puede resolver con un único filtro: harían falta AND y NOT IN a la vez en Categorías (Categories). Usa una etiqueta temporal para dividirlo en dos pasadas:

  1. Crea una etiqueta temporal como batch-temp en Entradas > Etiquetas y recarga la página de WOLF. Filtra Categorías (Categories) con AND y los términos A y B, y añade batch-temp al resultado.
  2. Restablece los filtros, luego filtra Categorías (Categories) con NOT IN y C, y Etiquetas (Tags) con OR y batch-temp. Como las taxonomías se unen con AND, este es exactamente el conjunto que quieres. Ejecuta tu edición masiva sobre él.
  3. Filtra solo por batch-temp, quítala con el comportamiento quitar (remove) y elimina la etiqueta.

Si el tipo de contenido no tiene una segunda taxonomía, un campo meta de texto temporal filtrado con EXACT (=) cumple la misma función.

Una entrada o unas pocas entradas seleccionadas

Para una sola entrada, haz clic en su celda de taxonomía en el Editor de entradas. Una ventana emergente lista los términos con los actuales marcados. Tiene un campo de Búsqueda rápida (Quick search), un enlace crear un término nuevo (create new term) y un interruptor solo seleccionados (selected only). Marca la nueva categoría, mantén las demás y haz clic en Aplicar (Apply). Lo que esté marcado pasa a ser el conjunto completo de términos de la entrada.

La edición vinculada no es una adición. Cuando cambias las categorías de una fila seleccionada, el conjunto completo de términos de esa fila se copia a todas las entradas seleccionadas y se reemplazan sus propias categorías. Úsala cuando todas las entradas seleccionadas deban acabar con términos idénticos. Para añadir una categoría a las entradas seleccionadas y conservar el resto, usa la pestaña Edición masiva con añadir (append): funciona igual sobre la selección.

Etiquetas, taxonomías personalizadas y otros tipos de contenido

La pestaña Edición masiva lista todas las taxonomías registradas para el tipo de contenido actual: etiquetas, formatos de entrada, las categorías de un plugin de portafolio o de eventos, o una taxonomía que hayas creado tú (consulta añadir taxonomías personalizadas). Cambia el tipo de contenido en el panel de herramientas y las listas de taxonomías lo siguen. La guía de edición masiva de tipos de contenido personalizados da una visión más amplia. En la versión gratuita, las taxonomías que no se pueden cambiar en masa se muestran en contenedores rojos en la pestaña Edición masiva.

Si no funciona

  • Las entradas perdieron sus otras categorías: el comportamiento era reemplazar (replace), o estaba activada la edición vinculada. Revierte la ejecución en la pestaña Historial y repítela con añadir (append).
  • No se pueden marcar las categorías hijas, o las listas de términos se ven mal tras actualizar un plugin: el navegador sigue ejecutando los scripts antiguos. Vacía las cachés del sitio y del navegador y recarga la página de WOLF con Ctrl+F5 (Cmd+Shift+R en Mac).
  • Falta un término nuevo en las listas: las listas se construyen al cargar la página. Recarga la página de WOLF después de crear términos en otro lugar.
  • El filtro encuentra menos entradas de las esperadas: revisa las categorías hijas (ver arriba) y los demás filtros que sigan activos en la pestaña Filtros. Restablecer (Reset) los borra todos.
  • El archivo de la categoría sigue mostrando la lista antigua: vacía la caché de páginas.

Si una taxonomía sigue sin comportarse como se describe, publica en el foro de soporte de WOLF el tipo de contenido, la taxonomía y el filtro que usaste.