Campo personalizado perdiendo etiquetas p en la pantalla

2

Tengo un tipo de publicación personalizada que tiene varios campos personalizados. Uno de los campos es multilínea e incluye texto con etiquetas p.

Cuando veo este campo en el editor visual, todas las etiquetas p están ahí.

Sospecho que el problema es cómo muestro los datos en una plantilla personalizada.

Este es el código que estoy usando en la plantilla para extraer este campo personalizado en particular

 <?php $key="story"; echo get_post_meta($post->ID, $key, true); ?>

¿Es el get_post_meta que está eliminando estas etiquetas o algo más? Si es esto, ¿qué debería usar en su lugar?

Gracias por cualquier pista

    
pregunta Colin 24.10.2013 - 16:53

2 respuestas

3

Agregue esto a su archivo functions.php :

add_filter( 'meta_content', 'wptexturize' );
add_filter( 'meta_content', 'convert_smilies' );
add_filter( 'meta_content', 'convert_chars' );
add_filter( 'meta_content', 'wpautop' );
add_filter( 'meta_content', 'shortcode_unautop' );
add_filter( 'meta_content', 'prepend_attachment' );

Luego use este código para obtener el resultado:

<?php $story_content = get_post_meta($post->ID, 'story', true); echo apply_filters('meta_content', $story_content); ?>
    
respondido por el Seth Alling 24.10.2013 - 17:17
2

Prueba esto:

$key="story";
$content = get_post_meta($post->ID, $key, true);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
echo $content;

Esto debería obtener su campo personalizado y aplicar filtros (con etiquetas p)

    
respondido por el Lukas J. 24.10.2013 - 17:20

Lea otras preguntas en las etiquetas