Pregunta:
Tengo un tipo de publicación personalizado llamado 'software', que contiene varios campos personalizados como subtítulos, precio, capturas de pantalla, enlace de descarga, etc. Creé una función para permitir el uso de la ventana de edición de tinyMCE para algunos de estos campos personalizados. Intenté mostrar estos campos en la página, pero no tuve é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 de <hr/>
en la página hay una lista de todos los meta creados. El ÚNICO de los campos que se mostrará es 'precio' por alguna extraña razón.
¿Alguien tiene alguna idea de lo que me estoy perdiendo?
Respuesta:
Bueno, estás usando:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Entonces, le está diciendo a WordPress que obtenga el valor meta del campo 'subtítulo' y que el valor devuelto esté en formato de cadena. Consulte get_post_meta () docu .
Para obtener todos los metadatos de una publicación, debe usar la función get_post_custom () en su lugar. Por ejemplo, si está dentro del bucle:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
Esto devolverá todos los metadatos de la publicación. Si desea comprobar, por ejemplo, el metacampo "precio":
if(isset($custom['price'])) {
echo 'Price: '.$custom['price'][0];
}