Campos personalizados de WordPress 101: Consejos, trucos y hacks

Los campos personalizados son una función muy útil de WordPress que te permite añadir varios datos/información adicional a tus publicaciones y páginas de WordPress.
Muchos plugins y temas populares de WordPress usan campos personalizados para almacenar datos importantes. También puedes usar campos personalizados para almacenar tus propios datos y luego usarlos en tu sitio web.
En este artículo, te mostraremos cómo usar los campos personalizados de WordPress con algunos consejos, trucos y hacks.
Como este es un artículo extenso, hemos añadido una tabla de contenidos para facilitar la navegación.
- ¿Qué son los campos personalizados de WordPress?
- Añadir campos personalizados en WordPress
- Mostrar campos personalizados en temas de WordPress
- No puedo encontrar el campo personalizado en el desplegable de la pantalla de edición de mensajes
- Creación de una interfaz de usuario para campos personalizados
- Añadir campos personalizados usando campos personalizados avanzados
- Ocultar los campos personalizados vacíos con la declaración condicional
- Agregar múltiples valores a un campo personalizado
- Mostrando los mensajes con una llave personalizada específica
- Añadir el nombre del autor invitado usando el campo personalizado
- Mostrar los colaboradores de un artículo utilizando campos personalizados
- Mostrar los campos personalizados fuera del bucle en WordPress
- Mostrar el encabezado, el pie de página y la barra lateral personalizados usando campos personalizados
- Manipular el contenido del feed RSS con campos personalizados
- Manipular el título de la fuente RSS con campos personalizados
- Fijar la fecha de caducidad de los mensajes utilizando campos personalizados
¿Qué son los campos personalizados de WordPress?
Los campos personalizados de WordPress son metadatos que se utilizan para añadir información adicional relacionada con el puesto o la página que está editando.
De forma predeterminada, cuando escribes un nuevo post, página o cualquier tipo de contenido, WordPress lo guarda en dos áreas diferentes.
La primera parte es el cuerpo de tu contenido que añades usando el editor del post.
La segunda parte es la información sobre ese contenido en particular. Por ejemplo, el título, el autor, la fecha, la hora y más. Esta parte de información del post se llama metadatos.
WordPress agrega automáticamente todos los metadatos necesarios a cada publicación o página que creas.
También puede crear y almacenar sus propios metadatos utilizando los campos personalizados.
Por defecto, la opción de campos personalizados está oculta en la pantalla de edición de mensajes. Para verla, debes hacer clic en el menú de tres puntos de la esquina superior derecha de la pantalla y seleccionar "Opciones" del menú.
Esto hará que aparezca un popup en el que deberás marcar la opción "Campos personalizados" en los paneles avanzados. Después de eso, haz clic en el botón "Activar y recargar" para recargar el editor de publicaciones.
El editor de posts se recargará, y podrás ver el panel de campos personalizados debajo del editor de contenidos.
Los campos personalizados pueden utilizarse para añadir cualquier información relacionada con el puesto, la página o cualquier tipo de contenido. Esta meta-información puede ser mostrada en su tema.
Sin embargo, para hacer eso necesitarás editar tus archivos de temas de WordPress.
Por eso se recomienda este tutorial a los usuarios familiarizados con la edición de archivos de temas. También es útil para los aspirantes a desarrolladores de WordPress que quieran aprender a utilizar correctamente los campos personalizados en sus propios temas o plugins.
Dicho esto, veamos cómo agregar y usar campos personalizados en WordPress.
Añadir campos personalizados en WordPress
Primero, debes editar el artículo o la página en la que quieres añadir el campo personalizado e ir al meta-cuadro de los campos personalizados.
A continuación, debe proporcionar un nombre para su campo personalizado y luego ingresar su valor. Haz clic en el botón Añadir campo personalizado para guardarlo.
El campo se almacenará y se mostrará en el meta-cuadro de campos personalizados como este:
Puedes editar este campo personalizado en cualquier momento y luego hacer clic en el botón de actualización para guardar los cambios. También puedes eliminarlo cuando sea necesario.
Ahora puedes guardar tu mensaje para almacenar tu configuración de campo personalizada.
Mostrando campos personalizados en temas de WordPress
Para mostrar tu campo personalizado en tu sitio web, necesitarás editar tus archivos de temas de WordPress. Si no lo has hecho antes, entonces echa un vistazo a nuestra guía sobre cómo copiar y pegar código en WordPress.
En primer lugar, tendrás que encontrar el archivo de tema que debes editar para mostrar tu campo personalizado. Lo ideal sería que quisieras mostrarlo en una sola página de publicación. Tendrás que editar el archivo single.php o content-single.php.
Tendrás que introducir el código de tus campos personalizados dentro del bucle de WordPress. Busca la línea que se ve así:
1
Quieres asegurarte de que añades tu código antes de la siguiente línea:
1
Ahora tienes que añadir este código a tu archivo de temas:
1ID, $0027key$0027, true); ?>
No te olvides de reemplazar la llave con el nombre de tu campo personalizado. Por ejemplo, usamos este código en nuestro tema de demostración:
1
El estado de ánimo de hoy: ID, $0027Mood$0027, true); ?>
Ahora puedes guardar tus cambios y visitar el post donde agregaste el campo personalizado para verlo en acción.
Ahora puedes usar este campo personalizado en todas tus otras publicaciones de WordPress también.
Simplemente crea una nueva entrada o edita una ya existente. Ve al meta-cuadro de campos personalizados y selecciona tu campo personalizado en el menú desplegable e introduce su valor.
Haz clic en el botón "Agregar campo personalizado" para guardar los cambios y luego publica o actualiza tu publicación.
No puedo encontrar el campo personalizado en el desplegable de la pantalla de post edición
De forma predeterminada, WordPress sólo carga 30 campos personalizados en este formulario.
Si utilizas temas y plugins de WordPress que ya utilizan campos personalizados, existe la posibilidad de que éstos aparezcan primero en el menú desplegable y no puedas ver el campo personalizado recién creado.
Para solucionar este problema, tendrás que añadir el siguiente código al archivo functions.php de tu tema o a un plugin específico del sitio.
1234add_filtro( $0027postmeta_form_limit$0027, $0027meta_limit_increase$0027);functionmeta_limit_increase( $limit) { return50;}
El código anterior cambiará ese límite a 50. Si todavía no puedes ver tu campo personalizado, entonces intenta aumentar ese límite aún más.
Creación de una interfaz de usuario para campos personalizados
Como puedes ver, una vez que añadas un campo personalizado, tendrás que seleccionar el campo e introducir su valor cada vez que escribas un mensaje.
Si tiene muchos campos personalizados o múltiples usuarios escribiendo en su sitio web, entonces esta no es una solución ideal.
¿No sería bueno que pudieras crear una interfaz de usuario en la que los usuarios puedan rellenar un formulario para añadir valores a tus campos personalizados?
Esto es lo que ya hacen muchos plugins populares de WordPress. Por ejemplo, el título de SEO y la caja de meta descripción dentro del popular plugin All in One SEO es una caja de meta personalizada:
La forma más fácil de hacerlo es usando el plugin Advanced Custom Fields.
Añadir campos personalizados usando campos personalizados avanzados
Lo primero que tienes que hacer es instalar y activar el plugin Advanced Custom Fields. Para obtener más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Una vez activada, debes visitar la página de Grupos de campos de Custom Fields " y hacer clic en el botón añadir nuevo.
Un grupo de campos es como un contenedor de un conjunto de campos personalizados. Esto le permite agregar varios paneles de campos personalizados.
Ahora, necesitas proporcionar un título para tu grupo de campo y luego hacer clic en el botón "Agregar campo".
Ahora puede proporcionar un nombre para su campo personalizado y seleccionar un tipo de campo. Campos personalizados avanzados te permite crear todo tipo de campos, incluyendo texto, carga de imágenes, número, desplegables, casillas de verificación y más.
Desplácese hacia abajo, y verá otras opciones para ese campo en particular. Puedes cambiarlas a tus propias necesidades.
Puedes añadir varios campos a tu grupo de campos si lo deseas. Una vez que hayas terminado, haz clic en el botón de publicación para guardar los cambios.
Ahora puedes editar una entrada o crear una nueva y verás un nuevo panel para tus campos personalizados debajo del editor de contenido.
Para obtener instrucciones detalladas paso a paso, consulte nuestra guía sobre cómo añadir metacuadros personalizados en entradas y tipos de entradas de WordPress.
Ocultar campos personalizados vacíos con declaración condicional
Hasta ahora hemos cubierto cómo crear un campo personalizado y mostrarlo en su tema.
Ahora veamos cómo comprobar si el campo personalizado no está vacío antes de mostrarlo. Para ello, modificaremos nuestro código para comprobar primero si el campo tiene datos.
123456789101112131415ID, $0027Mood$0027, true); if($mood) { ?>
El estado de ánimo de hoy:
No te olvides de reemplazar "Mood" con tu propio nombre de campo personalizado.
Agregar valores múltiples a un campo personalizado
Los campos personalizados pueden ser reutilizados en el mismo puesto de nuevo para añadir múltiples valores. Sólo tienes que seleccionarlo de nuevo y añadir otro valor.
Sin embargo, el código que hemos utilizado en los ejemplos anteriores sólo podrá mostrar un único valor.
Para mostrar todos los valores de un campo personalizado, tenemos que modificar el código y hacer que devuelva los datos en una matriz. Necesitarás añadir el siguiente código en tu archivo de temas:
123456789101112131415ID, $0027Mood$0027, false);if( count( $mood) != 0 ) { ?>
El estado de ánimo de hoy:
<?php foreach($moodas$mood) { echo$0027
$0027; } ?>
No te olvides de reemplazar "Mood" con tu propio nombre de campo personalizado.
En este ejemplo, notará que hemos cambiado el último parámetro de la función get_post_meta a false. Este parámetro define si la función debe devolver un único valor o no. Ponerlo en false le permite devolver los datos como una matriz, que luego mostramos en un bucle foreach.
Mostrando mensajes con una clave específica personalizada
WordPress te permite mostrar los mensajes con teclas personalizadas y sus valores. Por ejemplo, si intentas crear una página de archivo personalizada para mostrar todas las publicaciones con claves personalizadas específicas, puedes usar la clase WP_Query para consultar las publicaciones que coincidan con esos campos.
Puedes usar el siguiente código como punto de partida.
123456789101112131415161718192021222324252627$args= array( $0027meta_key$0027 => $0027Mood$0027, $0027meta_value$0027=> $0027Happy$0027);$the_query= newWP_Query( $args); have_posts() ) : ?> have_posts() ) : $the_query->the_post(); ?>
No olvides reemplazar los parámetros de meta_clave y meta_valor con tus propios valores.
Añadir el nombre del autor invitado usando campos personalizados
¿Quieres añadir un post de invitado pero no quieres añadir un nuevo perfil de usuario sólo para añadir un solo post? Una forma más fácil de hacerlo es añadiendo el nombre del autor invitado como un campo personalizado.
Primero, necesitas añadir el siguiente código en el archivo functions.php de tu tema o un plugin específico del sitio.
123456789add_filter( $0027el_autor$0027, $0027nombre_de_invitado$0027);add_filter( $0027get_the_author_display_name$0027, $0027nombre_de_invitado$0027);functionguest_author_name( $name) {global$post;$author= get_post_meta( $post->ID, $0027guest-author$0027, true );if( $author)$name= $author;return$name;}
Este código engancha una función al_autor y obtiene los filtros de nombre de la pantalla del_autor en WordPress.
La función primero busca el nombre del autor invitado. Si existe, entonces reemplaza el nombre del autor con el nombre del autor invitado.
Ahora tendrás que editar el post en el que quieres mostrar el nombre del autor invitado. Ve al meta box de campos personalizados y añade tu nombre de autor invitado.
Para más detalles, vea nuestro artículo sobre cómo reescribir el nombre del autor invitado con campos personalizados en WordPress.
Mostrar los contribuyentes a un artículo usando campos personalizados
En muchos blogs y sitios de noticias populares, varios autores contribuyen a escribir un artículo. Sin embargo, WordPress sólo permite que un solo autor se asocie a un artículo.
Una forma de resolver este problema es usando el plugin Co-Authors Plus. Para saber más, vea nuestra guía sobre cómo añadir varios autores en un post de WordPress.
Otra forma de hacerlo es añadiendo colaboradores como un campo personalizado.
Primero debes editar el post donde quieres mostrar a los coautores o colaboradores. Desplácese hacia abajo hasta la meta casilla de campos personalizados y añada los nombres de los autores como campo personalizado de coautores.
Ahora añade este código a tus archivos de temas donde quieras mostrar a los coautores.
12345678910111213141516ID, $0027co-autor$0027, false);if( count( $coauthors) != 0 ) { ?><
- Colaboradores
- ...$coautores.
<?php echo$0027
$0027; } ?>
Para mostrar los nombres de los autores separados por comas, puedes añadir el siguiente CSS personalizado.
12345678910111213141516.coautores ul { display:inline;}.coautores li { display:inline;list-style:none;}.coautores li:after { content:","}.coautores li:última-niño:after { content: "";}.coautores li:primer-niño:después de { contenido: ":";}
Así es como se veía en nuestro sitio de demostración.
Mostrar los campos personalizados fuera del bucle en WordPress
Hasta ahora les hemos mostrado todos los ejemplos donde los campos personalizados se muestran dentro del bucle de WordPress. ¿Y si necesitabas mostrarlos fuera del bucle? Por ejemplo, en la barra lateral de un solo post.
Para mostrar los campos personalizados fuera del bucle de WordPress, añade el siguiente código:
123456post->ID;echoget_post_meta($postid, $0027key$0027, true);wp_reset_query();?>
No te olvides de reemplazar la llave con tu nombre de campo personalizado.
Mostrar el encabezado, pie de página y barra lateral personalizados usando los campos personalizados
Normalmente la mayoría de los temas de WordPress usan el mismo encabezado, pie de página y barra lateral en todas las páginas. Hay múltiples maneras de mostrar diferentes barras laterales, encabezado o pie de página para diferentes páginas de su sitio web. Consulta nuestra guía sobre cómo mostrar diferentes barras laterales para cada publicación o página de WordPress.
Una forma de hacerlo es usando campos personalizados. Edita el mensaje o la página en la que quieres mostrar una barra lateral diferente y luego agrega la barra lateral como campo personalizado.
Ahora necesitas editar tus archivos de temas de WordPress como single.php donde quieres mostrar la barra lateral personalizada. Estarás buscando el siguiente código:
1
Reemplaza esta línea con el siguiente código:
1234567post->ID;$sidebar= get_post_meta($postid, "sidebar", true);get_sidebar($sidebar);wp_reset_query();?>
Este código simplemente busca el campo personalizado de la barra lateral y luego lo muestra en tu tema. Por ejemplo, si añades wpbpage como campo personalizado de la barra lateral, el código buscará el archivo sidebar-wpbpage.php para mostrarlo.
Tendrás que crear el archivo sidebar-wpbpage.php en tu carpeta de temas. Puedes copiar el código del archivo sidebar.php de tu tema como punto de partida.
Manipulación del contenido del feed RSS con campos personalizados
¿Quiere mostrar datos o contenidos adicionales a los usuarios de sus canales RSS? Usando campos personalizados puedes manipular tu feed RSS de WordPress y añadir contenido personalizado a tus feeds.
Primero necesitas añadir el siguiente código en el archivo functions.php de tu tema o un plugin específico para el sitio.
1234567891011121314151617functionwpbeginner_postrss($content) {global$wp_query;$postid= $wp_query->post->ID;$coolcustom= get_post_meta($postid, $0027coolcustom$0027, true);if(is_feed()) {if($coolcustom!== $0027$0027) {$content= $content."
".$coolcustom."";}else{$content= $contento;}}retorno$contento;}add_filtro($0027the_excerpt_rss$0027, $0027wpbeginner_postrss$0027);add_filter($0027the_content$0027, $0027wpbeginner_postrss$0027);
Ahora sólo tienes que crear un campo personalizado llamado "coolcustom" y añadir el valor que quieras. Puedes usarlo para mostrar anuncios, imágenes, texto o lo que quieras.
Manipular el título de la fuente RSS con campos personalizados
A veces puede que quieras añadir texto extra al título de una publicación para los usuarios de los canales RSS. Por ejemplo, si estás publicando un post patrocinado o un post de invitado.
Primero añades el siguiente código en el archivo functions.php de tu tema o un plugin específico del sitio.
123456789101112131415161718functionwpbeginner_titlerss($content) {global$wp_query;$postid= $wp_query->post->ID;$gpost= get_post_meta($postid, $0027guest_post$0027, true);$spost= get_post_meta($postid, $0027sponsored_post$0027, true); if($gpost! == $0027$0027) {$contento= $0027Puesto de invitados$0027: $0027.$content;}elseif($spost!== $0027$0027){$content= $0027Correo patrocinado: $0027.$content;}else{$content= $content;}retorno$contento;}add_filtro($0027the_title_rss$0027, $0027wpbeginner_titlerss$0027);
A continuación, debes editar el post en el que quieres mostrar el texto extra en el campo de título y añadir guest_post y sponsored_post en los campos personalizados.
Si alguno de estos dos campos personalizados se encuentra con el valor "true", entonces añadirá el texto apropiado antes del título. Esta técnica puede ser utilizada de varias maneras para adaptarse a lo que se desee.
¿Quieres saber más sobre los mejores hackers de feeds RSS? Consulta nuestra guía sobre cómo añadir contenido y manipular tus fuentes RSS de WordPress.
Establecer la fecha de caducidad de los mensajes en WordPress usando campos personalizados
¿Quieres fijar una fecha de caducidad para algunos posts en tu sitio de WordPress? Esto es útil en situaciones en las que quieres publicar contenido sólo por un período específico, como la realización de encuestas u ofertas de tiempo limitado.
...
Deja una respuesta