Los Campos Personalizados
Vamos a echar hoy un vistazo introductorio a los campos personalizados de WordPress, esto es, aquellas cajas de edición extras que en el Editor de WordPress podemos llenar de información, más allá del artículo que hayamos escrito, y que pueden ser útiles cuando la mayoría de nuestros posts son marcados con fragmentos de información adicionales.
Por ejemplo, si escribimos sobre música, en vez de llenar el cuerpo del post con los detalles del álbum sobre el que hemos escrito, podremos usar los campos personalizados y sistematizar la clasificación extra.
Título del Album :
Año :
Discográfica :
Género :
Puntuación : (5 estrellas, etc).
Cada uno de estos elementos sería un campo personalizado (“nombre”) creado por nosotros y llenado con texto o imágenes (“valor”).
El uso pues de los campos personalizados cobra su interés cuando hay que sistematizar datos añadidos al cuerpo de un post : librerías, reseñas de cine, links recomendados …
Los campos personalizados sin embargo, permite aplicaciones más creativas, en el caso de que, en la ocurrencia, queramos dos, tres o cuatro Extractos y no sólo uno, o querramos rodear el artículo principal con párrafos extra, o si cada uno de nuestros artículos tuviera un botón al que dotar de un link (una url hacia la página de un producto por ejemplo).
Imprimir los campos personalizados
No nos bastará con haberlos creado y rellenado, que tendremos que abrir nuestro single.php (o, en su defecto, index.php, a los que encontraremos en el directorio de nuestro tema), y añadir, dentro del Loop, este código, que nos los traerá de la base de datos :
<?php echo get_post_meta($post->ID, "NOMBREDELCAMPO", true); ?>
En el ejemplo de las reseñas de discos, habría que hacer algo así :
<h2>Título del Album</h2>
<p>
<?php echo get_post_meta($post->ID, "Album", true); ?>
</p>
Es decir, escribir también en el template el título de la información que vamos a mostrar.
Recordemos que si nos interesa almacenar y recojer imágenes en los campos personalizados tendremos que escribir su ubicación en HTML, o sino simplemente nos saldría impresa su URL !
<img src="http://www.camino.com/ala/imagen.png" alt="">
Y si los requiero fuera del Loop ?
Nos podemos encontrar entonces con que quisiéramos usar los campos personalizados en nuestra barra lateral, o en el header de cada uno de nuestros artículos.
Con este pequeño snippet de código conseguiremos que nuestra base de datos nos proporcione tal o cual campo personalizado en cualquier lugar de nuestro template :
<?php global $wp_query; $postid = $wp_query->post->ID; echo get_post_meta($postid, 'NOMBREDELCAMPO', true); ?>
Aquí, tendréis que sustituir NOMBREDELCAMPO por tal o cual nombre de campo que hayáis creado.
Esperamos vuestros comentarios.



10 comentarios
14/10/2009
Gracias por el articulo, me ha venido estupendamente para un tema que tenia pendiente.
Un saludo
14/10/2009
@Danisoft, gracias, me alegra que te haya sido de utilidad !
25/10/2009
Muy bueno, lo estaba buscando amigo…
25/10/2009
Hola de nuevo quiero saber si me pueden ayudar con esta duda. Supongamos que tengo un archivo llamado autor.php este archivo tiene toda la información que necesito mostrar. en el Head de mi Post Como puedo insertar este archivo con un campo personalizado?
25/10/2009
@Richard, si lo que quieres es que en cada artículo salga ‘impreso’ su autor antes del título por ejemplo (como aquí en TodoWP), aquí encontrarás la información : http://codex.wordpress.org/Author_Templates . Tendrás que copiar/pegar en tu single.php o index.php los ‘template tags’ que ahí se listan, y que linkarán a archivos de autor.
Si autor.php fuera otro tipo de template, lo puedes incluir en single.php o index.php con un ‘include’. Aquí está la info : http://codex.wordpress.org/Include_Tags
Pero piensa que los campos personalizados tienen su lógica aparte : son básicamente cachos de texto que, por cada artículo, añades con cierta comodidad en la página de la que se trate.
01/11/2009
muchisimas gracias
07/11/2009
Saludos
No importa, sea en el sidebar, index, home se puede insetar un campo personalizado de esta manera. ID, “TACTIVIDAD PARA EL CAMPO”, true); ?> bueno, porlomenos en mis páginas funcionan perfectamente.
saludos…
16/02/2010
Hola, interesante post. Tengo una pregunta, ¿es posible mostar un campo personalizado que pertenezca a otro post distinto mediante la ULR o el permalink?
Me sería de gran ayuda.
Un saludo
22/02/2010
Hola Miguel,
Si eventualmente quieres mostrar campos de un post en particular, siempre puedes ir a la Administración y mirar cuál es su ID numérica (sobrevolando con el cursor su link para ser editados), y ponerla donde en el código tenemos $post->ID.
Para hacerlo programáticamente, lo tendría que mirar más, espero que esto ayude.
29/06/2010
Hola,
¿Alguien sabe como hacer para imprimir estos campos en los post que se muestran en el index, pero solo si no se ha indicado una etiqueta [more]?. Quiero que me salgan al final del contenido de cada post, pero cuando hago un salto, no.
Trackbacks
Deja tu comentario