Cómo mostrar el valor de campos personalizados en la página
Tengo un tipo de entrada personalizada llamada 'software', que contiene varios campos personalizados como subtítulo, precio, capturas de pantalla, enlace de descarga, etc. Creé una función para permitir el uso de la ventana de edición tinyMCE para algunos de estos campos personalizados. He estado tratando de mostrar estos campos en la página pero sin éxito.
El método que estoy usando es este:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
Aquí hay un enlace a la página.
Debajo del <hr/>
en la página hay una lista de todos los meta creados. Por alguna extraña razón, el ÚNICO de los campos que se mostrará es 'price'.
¿Alguien tiene idea de qué me estoy perdiendo?
Bien, estás usando:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Entonces, le estás diciendo a WordPress que obtenga el valor meta del campo 'subtítulo' y que el valor devuelto esté en formato de cadena. Consulta la documentación de get_post_meta().
Para obtener todos los metadatos de una publicación deberías usar la función get_post_custom() en su lugar. Por ejemplo, si estás dentro del loop:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
Esto devolverá todos los metadatos de la publicación. Si quieres comprobar, por ejemplo, el campo meta "precio":
if(isset($custom['price'])) {
echo 'Precio: '.$custom['price'][0];
}
