Filtrar, buscar y ordenar entradas de WordPress por campo personalizado
Para filtrar entradas por un campo personalizado en WordPress, el campo tiene que pasar a formar parte de la consulta: "todos los eventos de Lisboa", "todos los perfiles de personal sin apellido", "inmuebles con un precio de 200.000 a 300.000". En WOLF, un campo personalizado (post meta) funciona como cualquier columna integrada una vez añadido. Puedes filtrar por su valor, buscarlo desde el panel de herramientas, ordenar la tabla por él y después editar en masa o exportar exactamente las entradas que has encontrado. Unas pocas reglas sobre los tipos de campo y los valores ausentes deciden si los resultados son correctos.
Hacer que el campo personalizado se pueda filtrar
Un campo personalizado aparece en la pestaña Filtros solo después de dos pasos:
- En la pestaña Campos meta (Meta Fields), añade la clave meta, ponle un título legible y elige su tipo: texto (string) para texto, número (number) para valores que quieras comparar u ordenar como números. Haz clic en Guardar campos meta (Save meta fields).
- En la pestaña Ajustes (Settings), activa la nueva columna y haz clic en Guardar todos los ajustes (Save all settings).
El segundo paso es el que se suele olvidar. Los filtros, la búsqueda rápida y la edición masiva solo ofrecen los campos personalizados cuya columna está activa. Cómo encontrar la clave meta real de un campo de un tema o plugin, y qué tipo asignarle, se explica en edición masiva de campos personalizados.
Filtrar entradas por el valor de un campo personalizado
La pestaña Filtros da a cada campo personalizado activo un filtro que corresponde a su tipo.
Campos de texto
Un campo texto (string) recibe un campo de texto con su título como marcador de posición y una lista desplegable de comportamientos:
| Comportamiento | Encuentra las entradas donde el campo |
|---|---|
| LIKE | contiene el texto |
| EXACT (=) | es exactamente el texto |
| NOT EXACT (!=) | tiene un valor distinto |
| NOT LIKE | no contiene el texto |
| Vacío (Empty) | está vacío, o la entrada no tiene el campo en absoluto |
| No vacío (NOT Empty) | tiene cualquier valor que no esté vacío |
Ten en cuenta la diferencia entre los comportamientos negativos y Vacío (Empty). NOT EXACT (!=) y NOT LIKE solo consideran las entradas que tienen el campo. Una entrada que nunca recibió el campo no es "distinta", simplemente no tiene valor, y solo Vacío (Empty) la encuentra. Para obtener "todas las entradas que no están en Lisboa, incluidas las que no tienen ciudad", filtra dos veces o rellena antes los valores que faltan.
A diferencia de los filtros de título y contenido, el LIKE de un campo personalizado es un simple "contiene", de modo que los puntos, los corchetes y otros símbolos de los códigos se comparan tal cual.
Campos de número, fecha y casilla
- Un campo número (number) recibe un campo desde (from) y otro hasta (to). Rellena ambos para un rango. Rellena solo desde (from) para "como mínimo". Rellena solo hasta (to) para "hasta", que empieza en 0. Valores iguales encuentran un número exacto. Con ambos campos vacíos o en 0 no hay filtro, así que el valor 0 en sí no se puede buscar de este modo.
- Un campo número (number) con la vista calendario (calendar) recibe campos de fecha en su lugar. Espera fechas almacenadas como marcas de tiempo Unix, que es como las guarda WOLF.
- Un campo con la vista casilla (checkbox) recibe una lista desplegable Sí (Yes) / No.
Todos los filtros se combinan con AND: un filtro de campo personalizado junto con una categoría, el estado de [post] ([post] status), Por autor (By author) y un rango de Fecha de publicación (Date Published) va reduciendo el resultado paso a paso.
Búsqueda rápida por un campo personalizado
La búsqueda rápida del panel de herramientas del editor de entradas ofrece por defecto Título (Title) e ID. Para localizar entradas por un código o un nombre almacenado en un campo personalizado, como un GTIN/EAN, un ISBN o un apellido, añade el campo a la búsqueda rápida:
- Abre la pestaña Ajustes (Settings) y busca Añadir campos a la búsqueda rápida (Add fields to the quick search).
- Introduce pares
meta_key:Titleseparados por comas, por ejemplo_gtin:GTIN,last_name:Last name. La parte anterior a los dos puntos es la clave meta; la posterior es la etiqueta de la lista desplegable. - Haz clic en Guardar todos los ajustes (Save all settings) y recarga la página.
El ajuste solo funciona con campos de texto, así que los campos deben ser de tipo texto (string) y tener una columna activa. Los campos de texto del núcleo también sirven, por ejemplo post_name:Slug,post_content:Content. Cuando eliges un campo personalizado en la lista desplegable de la búsqueda rápida, la lista de comportamientos cambia a las opciones de ese campo, LIKE, EXACT (=) y el resto. Una búsqueda rápida borra la pestaña Filtros y filtra solo por ese campo, así que las búsquedas combinadas se hacen desde la pestaña Filtros. Los desarrolladores pueden añadir opciones por código con el filtro wpbe_quick_search_options, que recibe el array de pares key => label.
Ordenar entradas por un campo personalizado
Las columnas de campos personalizados se pueden ordenar: haz clic en el encabezado de la columna en el editor de entradas. Para abrir la tabla siempre ordenada por un campo, elígelo en Ordenar por defecto por (Default sort by) y Orden por defecto (Default sort) de la pestaña de ajustes. El orden resultante depende del tipo que le hayas dado al campo:
- número (number) ordena numéricamente: 9, 20, 100.
- texto (string) ordena alfabéticamente, carácter por carácter: 100, 20, 9. Por eso los números guardados como texto (string) se ordenan "mal"; cambia esos campos a número (number). Los valores con unidades o separadores de miles ("15 kg", "1.200") no se pueden ordenar como números en absoluto.
Las fechas se ordenan correctamente solo en dos formatos. Las marcas de tiempo Unix o los números Ymd como 20261012 se ordenan bien como número (number). Las cadenas en orden año-mes-día como 2026-10-12 08:30:00 se ordenan bien como texto (string), porque el orden alfabético coincide con el orden de las fechas. Formatos como 12/10/2026 se ordenan por día, no por fecha. No cambies una cadena de fecha a número (number) para "hacerla ordenable". La columna mostraría entonces solo el año, y al guardar una celda se almacenaría ese número en lugar de la fecha.
Las entradas desaparecen al ordenar por el campo
Ordenar por un campo personalizado pide a WordPress las entradas ordenadas por esa clave meta. WordPress solo puede ordenar las entradas que tienen la clave, así que las entradas que no la tienen desaparecen de la tabla mientras el orden está activo. Vuelven al ordenar por otra columna. Esto ocurre a menudo con un campo recién añadido que solo tienen unas pocas entradas. Para mantener todas las entradas en la tabla ordenada, da un valor a las que faltan:
- Un campo nuevo que ninguna entrada tiene aún: ejecuta una edición masiva sobre todas las entradas con nuevo (new) y
0para un número, o nuevo (new) y un texto por defecto para una cadena. - Un campo de texto que tienen algunas entradas: fíltralo con Vacío (Empty) y establece el valor por defecto con nuevo (new) solo sobre ese resultado.
- Un campo numérico que tienen algunas entradas: los filtros numéricos no tienen la opción Vacío (Empty). Cambia el campo a texto (string) en la pestaña Campos meta un momento, filtra por Vacío (Empty), establece
0y vuelve a cambiarlo a número (number).
Rellena un valor por defecto solo si un marcador no supone ningún problema en el sitio, por ejemplo 0 para un orden. Un tema podría mostrarlo.
Guardar la combinación y después editar o exportar
Un filtro que vas a necesitar de nuevo, como "borradores de Events con un lugar vacío", se puede guardar con el botón Perfiles de filtros (Filters profiles) del panel de herramientas. Se puede guardar mientras hay un filtro aplicado. Los perfiles se guardan por usuario, así que cada editor tiene los suyos. El conjunto filtrado es también sobre lo que actúan los pasos siguientes:
- La pestaña Edición masiva aplica un cambio a todas las entradas filtradas, salvo que algunas estén seleccionadas con casillas.
- La pestaña Exportar escribe las entradas filtradas con tus columnas activas en CSV o XML.
Si el filtrado o el orden por el campo personalizado no funciona
- El campo no está en la pestaña Filtros ni en la búsqueda rápida: su columna no está activa en la pestaña de ajustes, o el tipo de contenido tiene sus propias columnas porque Columnas y meta separadas por tipo de contenido (Separate columns and meta for post types) está activado. Los campos numéricos no se pueden usar en la búsqueda rápida; fíltralos en la pestaña Filtros.
- El filtro no encuentra nada: compara el valor almacenado en una celda con lo que escribiste. Los campos de listas de opciones suelen almacenar una clave (
lisbon) en lugar de la etiqueta (Lisboa), y los arrays se almacenan serializados; LIKE encuentra texto dentro de ellos. - El orden parece aleatorio: el tipo del campo no coincide con los datos (véase más arriba).
- Al hacer clic en el encabezado no se ordena por el campo en absoluto: comprueba si la clave meta tiene mayúsculas. El parámetro de orden se convierte a minúsculas, así que una clave como
Last_Nameno se puede emparejar para ordenar. Filtrar por ella sigue funcionando.
Para un ejemplo práctico con un tipo de contenido concreto, consulta edición masiva de anuncios inmobiliarios y ofertas de empleo. Si un campo sigue sin poder filtrarse u ordenarse, describe la clave meta, su tipo en la pestaña Campos meta y un valor de ejemplo en el foro de soporte de WOLF.