Existen muchas características en Wordpress que muchas veces no usamos y que nos podrían resultar útiles. Tal es el caso de los campos personalizados, que incluso muchos no saben cómo usarlos. Si te interesa el tema, ¡este artículo podría ayudarte!
¿Qué son los campos personalizados?
Son pares clave-valor (nombre/datos), que podemos asignarle a cada entrada que creemos, con lo cual podemos agregarles metadatos. Podemos crear cuantos nombres de clave necesitemos y asignarles cualquier tipo de datos.
Pero... ¿para qué podría utilizarlo?
Existen muchos usos disponibles para los campos personalizados. Por ejemplo, en este blog los uso para mostrar cierto "Aviso legal" cuando publico información que procede de terceros. Pero lo mejor es mostrarles un ejemplo...
Creando campos personalizados...
En el siguiente ejemplo vamos a usarlos para mostrar la información de Autor y Fuente de las entradas que son traducidas de otros idiomas, como es el caso de la que escribí ayer: 10 maneras de acelerar el arranque en Linux.
Al momento de escribir una entrada, podemos añadir campos personalizados usando un formulario que aparece en la parte de abajo. En mi caso añadiré estos cuatro campos:

Para añadir un campo nuevo basta con escribir el nombre en la caja de texto Clave, introducir el valor del mismo en la caja Valor y hacer clic en Añadir un Campo Personalizado.
Usando campos personalizados...
Para usar los campos creados, podemos usar el método get_post_meta incluido con Wordpress, el cual recibe tres argumentos: get_post_meta($post_id, $key, $single); $post_id es el ID de la variable equivalente a cada post que se lista en el blog; $key es el nombre de la clave a recuperar; y $single recibe un valor booleano (true o false): si el argumento es true devuelve solo un dato para $key, si el argumento es false devuelve un arreglo con los datos que tengan las claves $key.
Siendo así, el código para este ejemplo en particular es el siguiente:
<?php
//Esto lo tienen casi todas las plantillas de Wordpress
//Y lo que hace es permitir el uso de la variable $post
//que contiene la información de cada post individualmente
if (have_posts()) : while (have_posts()) : the_post(); ?>
//Por lo general, en esta parte está el código
//que genera el HTML de las entradas del blog
/** Esta es la parte donde usamos los campos personalizados **/
//Mirar si es una traducción
$tipo = get_post_meta($post->ID, "tipo", true);
if( $tipo == "traduccion"){
echo "<div class='aviso'>Esta entrada es una traducción libre del artículo";
echo "de <strong>".get_post_meta($post->ID, "autor", true);
echo "</strong>: <a href='".get_post_meta($post->ID, "link", true)"
echo "'>".get_post_meta($post->ID, "nombre", true)."</a>.";
echo "Todo crédito es para el autor de dicho artículo.</div>";
}
/** Aquí termina el uso de los campos personalizados **/
//Por lo general, así termina el ciclo que imprime los posts
<php endwhile; ?>
Recuerda que la manipulación de los campos la debes poner dentro del ciclo while que la mayoría de plantillas utilizan. El resultado en mi caso sería:

Como en el ejemplo anterior, es buena idea mostrar los mensajes dentro de etiquetas div que pertenezcan a alguna clase de nuestro CSS, de tal manera que podamos aplicar estilo sin mucho esfuerzo.