Oferta SiteGround Black Friday

Campos personalizados en WordPress: Qué son, cómo se crean y cómo se usan

Antes de hablar de los campos personalizados en WordPress vamos a ponernos en situación…

El editor de WordPress te ayuda a crear y editar entradas. Contiene campos para añadir el título, el contenido, categorías, etiquetas, todo eso.

Pero ¿y si necesitas más campos?

Digamos, por ejemplo, que tienes un blog de recetas, y quieres añadir un campo con el tiempo de cocinado ¿cómo lo haces?

Vale, dirás que hay plugins de Schema que permiten añadir este tipo de información, pero ¿y si quieres filtrar resultados por recetas basándote en el tiempo de cocinado? ¿o si quieres hacer una lista de las recetas que menos tiempo requieren?

Ahí es dónde entran los campos personalizados.

Aunque es fácil crear y gestionar campos personalizados, usarlos requiere algo de experiencia en desarrollo de temas, así que si no te has adentrado aún en el maravilloso mundo de la creación de temas WordPress igual este artículo no es para ti.

No obstante, tanto si acabas de empezar en el desarrollo de temas como si ya eres un programador con experiencia, espero que esta guía te ayude a crear, gestionar y usar campos personalizados en WordPress.

¿Qué son los campos personalizados de WordPress?

Podría decirse que los campos personalizados en WordPress son como las propiedades de una entrada concreta.

Igual que el título, fecha de publicación, autor, etc., – técnicamente – los campos personalizados son medadatos de la entrada.

Como todo, usar campos personalizados, tiene sus ventajas y sus inconvenientes.

Ventajas de usar campos personalizados

  • Fáciles de completar: Los campos personalizados hacen que sea fácil para tus clientes y usuarios añadir metadatos adicionales sa una entrada.
  • Fácil filtrado y ordenado: Como desarrollador de temas podrás filtrar y ordenar fácilmente entradas usando los metadatos de los campos personalizados.

Inconvenientes de usar campos personalizados

  • Sin control: Cualquiera puede crear campos personalizados y cualquiera puede modificarlos si tiene acceso al editor. El más pequeño error de tecleo puede provocar que la lógica de los campos personalizados creados no funcione.
  • Sin validación: No se puede validar la introducción de un campo personalizado, así que no sabrás si los datos que has introducido valen o no.

Estos inconvenientes de los campos personalizados se pueden evitarse usando la API meta box de WordPress, pero usar esta API requiere un poco más de esfuerzo de desarrollo y código, aunque te animo a conocerla y aplicarla.

¿Cómo se activan los campos personalizados en WordPress?

Dependiendo del editor que estés utilizando se activan de un modo u otro los campos personalizados en WordPress.

Si aún utilizas el editor clásico tienes que desplegar las «Opciones de pantalla» en la parte superior derecha del editor y marcar la casilla correspondiente para que se muestren.

Por otro lado, si ya usas el editor de bloques Gutenberg, es un poco más tedioso, porque son más clics.

Para empezar, tienes que ir al icono de los 3 puntitos de la parte superior derecha del editor, el de «Más herramientas y opciones» y activar la opción del final, «Opciones».

En la ventana emergente que verás tienes que hacer clic para activar el panel avanzado de campos personalizados.

Y a continuación confirmar en el botón de «Activar y recargar» los campos personalizados antes de poder siquiera verlos en el editor.

¿A qué es debido que haya 3 pasos?

Pues porque actualmente el editor de bloques tiene una compatibilidad con los campos personalizados «de aquella manera», y debes saber que es una recarga completa del editor, si no has guardado cambios en tu contenido los perderás al activarlos.

Bueno, en cualquier caso, ya tenemos los campos personalizados. Verás esto…

¿Cómo se crean y gestionan los campos personalizados?

Ahora que ya has activado la interfaz de campos personalizados en el editor vamos a ver cómo se usan.

Para empezar verás que un campo personalizado tiene dos partes:

  • Nombre: Identifica el campo personalizado. Al usar un campo personalizado te refieres a él por su nombre.
  • Valor: Contiene el valor del campo personalizado.

Puedes añadir más campos personalizados haciendo clic en el botón de «Añadir un campo personalizado»

Hasta aquí bien ¿verdad?

Editar un valor de un campo personalizado es igual de fácil, solo tienes que cambiar el campo del valor. Pero tienes que tener cuidado al cambiar el campo del nombre porque tu tema se puede romper si aún está utilizando un nombre de campo personalizado antiguo

¿Cómo se usan los campos personalizados desde un tema?

Para que los usuarios puedan ver o usar un campo personalizado se requiere que alguien lo haya programado antes.

Si es tu primera vez, y estás simplemente añadiendo campos personalizados a un tema existente, para experimentar, te recomiendo que lo hagas en un tema hijo.

Cómo mostrar campos personalizados

Para mostrar los campos personalizados en el loop de WordPress lo primero es buscar en el tema algo así:

<?php while ( have_posts() ) : the_post(); ?>

Y esto:

<?php endwhile; ?>

Una vez localizado puedes mostrar un campo personalizado entre esas dos líneas de código usando esta sintáxis:

<?php echo get_post_meta( get_the_ID(), ’nombre’, true ); ?>

Creo que habrás adivinado que nombre es el valor de la parte del nombre del campo personalizado.

Cómo mostrar entradas con un valor concreto de un campo personalizado

Como te decía al principio, los campos personalizados facilitan la búsqueda y visualización de entradas a partir de valores de los campos personalizados.

Aquí tienes un ejemplo de código con el que mostrarías entradas con un tiempo de cocinado de 5 minutos, siguiendo la idea que te planteé al comienzo de esta guía.

$args = array(
  'meta_key' => 'tiempo-de-cocinado',
  'meta_value' => '5',
);
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) : the_post();
// Código para mostrar la entrada.
endwhile;

Cómo ordenar entradas basándonos en el valor concreto de un campo personalizado

Igual que te comenté antes, también puedes ordenar enteradas basándote en un valor de un campo personalizado.

Para mostrar entradas en orden descendente según el tiempo de cocinado (por seguir el ejemplo) se haría así:

$args = array(
  'order' => 'DESC',
  'orderby' => 'meta_value_num',
  'meta_key' => 'tiempo-de-cocinado',
);
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) : the_post();
  // Código para mostrar la entrada.
endwhile;

Creación y gestión de campos personalizados usando plugins

Bueno, ya sabes que si quieres ampliar las funcionalidades de WordPress para eso tienes los plugins  ¿no?

Pues sí, también puedes crear y administrar campos personalizados en WordPress mediante plugins, aquí tienes los más populares…

Advanced Custom Fields

Actualmente ACF es la estrella del rock de la creación y gestión de campos personalizados en WordPress.

Es muy fácil de usar pero tiene características realmente potentes. Parte nada más instalarlo con más de 30 tipos de campos, y dispond de una amplia documentación.

Es el más utilizado con diferencia.

Pods

Muy parecido a ACF, fue durante mucho tiempo el estándar y recomendable.

Además de campos personalizados permite crear taxonomías personalizadas y páginas de ajustes para tus campos personalizados, entre otras funcionalidades.

Meta Box

Otro competidor en la batalla por los campos personalizados.

Meta Box tiene más de 40 tipos de campos personalizados y se ofrece como el modo más sencillo de crear, duplicar y personalizar campos personalizados.

¡Te toca!

Da igual si eliges crear campos personalizados manualmente o mediante plugins, son un modo estupendo de ampliar las funcionalidades de WordPress y deberías al menos probarlos y valorar sus posibilidades.

También es cierto que los campos personalizados son una característica cuya popularidad en WordPress va y viene.

Hace unos años prácticamente no había ningún tema que no usase campos personalizados, y está por ver su convivencia con el mundo de bloques que se avecina, pero lo que es indudable son sus enormes posibilidades a la hora de personalizar los contenidos de una web.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.1 / 5. Total de votos: 18

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

3 comentarios en “Campos personalizados en WordPress: Qué son, cómo se crean y cómo se usan”

  1. Hola Fernando,

    Me ha parecido un tema intersante la verdad, yo nunca los había uso.
    ¿sería un uso intersante usarlo para por ejemplo marcar entradas como populares y mostrar un widget con ellas? ¿Cómo funciona el widget de entradas populares aqui en AyudaWP? Es algo que sin acceso a estadísticas no se puede conocer salvo por los comentarios.

    Un saludo,

  2. Hola!

    Excelente post! Pero tengo una gran inquietud. Cuando voy a «Opciones de pantalla» no encuentro la opción de «Campos personalizados», por lo tanto no puedo habilitarla y no puedo trabajar con ellos. Esto me pasa tanto con el editor clásico como con Gutenberg.
    Sabes por qué puede pasar esto? Cómo puedo solucionarlo?

    Espero puedas ayudarme.
    Desde ya muchísimas gracias.
    Abrazo!

  3. Excelente post como dice el tocayo Francisco, pero al igual que el me estoy en la misma situación, con el plugin de ACF no se me habilita la opción de «Campos Personalizados» cuando lo activo. He probado la otra manera con el Gutenberg Editor y cuando marco cl check y recargo la página, la opción sigue sin estar habilitada. Esto es una locura…

    Saludos
    Paco Ortega

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio