the_excerpt () que no muestra el extracto manual de Pages

2

He habilitado la función de extracto para páginas en mi tema de wordpress -

add_action( 'init', 'my_add_excerpts_to_pages' );
    function my_add_excerpts_to_pages() {
         add_post_type_support( 'page', 'excerpt' );
    }

Esto ha habilitado el cuadro de extracto al agregar o actualizar páginas a través del área de administración, que es lo que esperaba.

Luego estoy tratando de mostrar cada extracto en la página de inicio de mi sitio como tal -

$child_pages = $wpdb->get_results("SELECT *    FROM $wpdb->posts WHERE post_parent  = 64    AND post_type = 'page' ORDER BY post_title", 'OBJECT');    ?>
            <?php if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>
            <div class="memberHover" id="member-<?php echo $pageChild->ID; ?>">
              <div><h4><?php echo $pageChild->post_title; ?></h4>
                <p><?php the_excerpt(); ?></p>
              </div><?php echo get_the_post_thumbnail($pageChild->ID, '312,156'); ?>
            </div>
        <?php endforeach; endif; ?>

El problema es que incluso si tengo un extracto manual rellenado a través del área de administración, todavía crea el extracto automático cuando se muestra en la página de inicio. Parece que no está captando el hecho de que hay un extracto personalizado en la base de datos para cada elemento.

¡Cualquier y toda ayuda es muy apreciada!

Gracias, Tristan

    
pregunta TGuimond 28.02.2012 - 12:04

3 respuestas

2

Debido a que soy muy particular acerca de cómo hacer las cosas en Wordpress cuando se trata de bucles, no pude evitar querer publicar una mejor manera de hacer el bucle anterior en tu pregunta y ver cómo lo has hecho. Parece mucho trabajo innecesario para ti mismo.

Ya respondiste tu propia pregunta, pero por el simple hecho de poder utilizar la función the_excerpt (), he reescrito el código anterior para que funcione con el objeto WP_Query, lo cual creo que es una mejor manera de abordar los asuntos relacionados con el bucle. (por no hablar más fácil). Realmente solo necesitas usar consultas manuales como esas cuando quieres consultar algo que la clase WP_Query no puede.

<?php
$args = array('post_parent' => 64, 'orderby' => 'title', 'order' => 'ASC', 'post_type' => 'page', 'post_status' => 'publish');
$child_pages = new WP_Query($args);
?>

<?php if ($child_pages->have_posts()): ?>

<?php while($child_pages->have_posts()): $child_pages->the_post(); ?>
            <div class="memberHover" id="member-<?php the_ID(); ?>">
              <div><h4><?php the_title(); ?></h4>
                <p><?php the_excerpt(); ?></p>
              </div><?php echo get_the_post_thumbnail($post->ID, '312,156'); ?>
            </div>
<?php endwhile; ?>

<?php endif; ?>
    
respondido por el Dwayne Charrington 01.03.2012 - 12:27
4

He tenido este problema antes. La forma en que lo manejaste es correcta, pero también puedes hacer esto que es esencialmente el mismo, (pero un poco diferente):

<?php echo get_the_excerpt();?>
    
respondido por el willbeeler 05.03.2012 - 15:17
0

Solucionado :)

Actualicé <p><?php the_excerpt(); ?></p> para ser <p><?php echo $pageChild->post_excerpt; ?></p> y esto resolvió el problema.

    
respondido por el TGuimond 01.03.2012 - 12:03

Lea otras preguntas en las etiquetas