it-swarm.com.de

the_excerpt () zeigt keinen manuellen Auszug für Pages an

Ich habe die Auszugsfunktion für Seiten in meinem WordPress-Theme aktiviert -

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

Dies hat das Auszugsfeld beim Hinzufügen oder Aktualisieren von Seiten durch den Admin-Bereich aktiviert, was ich erwartet hatte.

Ich versuche dann jeden Auszug auf der Homepage meiner Seite so darzustellen -

$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; ?>

Das Problem ist, dass selbst wenn ich einen manuellen Auszug im Admin-Bereich habe, dieser trotzdem den automatischen Auszug erstellt, wenn er auf der Homepage angezeigt wird. Es scheint, dass es nicht die Tatsache aufgreift, dass es einen benutzerdefinierten Auszug in der Datenbank für jeden Artikel gibt.

Jede Hilfe wird sehr geschätzt!

Danke, Tristan

2
TGuimond

Da ich sehr genau weiß, wie man in Wordpress vorgeht, wenn es um das Schleifen geht, könnte ich nicht anders, als einen besseren Weg zu finden, um die obige Schleife in Ihrer Frage durchzuführen, da es so aussieht, als ob Sie es in Wordpress gemacht haben viel unnötige arbeit für dich.

Sie haben Ihre eigene Frage bereits beantwortet, aber um die Funktion the_excerpt () verwenden zu können, habe ich den obigen Code umgeschrieben, damit Sie stattdessen das WP_Query-Objekt verwenden können leichter zu erwähnen). Sie müssen solche manuellen Abfragen wirklich nur verwenden, wenn Sie etwas abfragen möchten, was die WP_Query-Klasse nicht kann.

<?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; ?>
2

Ich hatte dieses Problem schon einmal. Die Art und Weise, wie Sie damit umgegangen sind, ist korrekt, aber Sie können dies auch tun, was im Wesentlichen gleich ist (aber ein wenig anders):

<?php echo get_the_excerpt();?>
4
willbeeler

Fest :)

Ich habe <p><?php the_excerpt(); ?></p> auf <p><?php echo $pageChild->post_excerpt; ?></p> aktualisiert und dadurch das Problem behoben.

0
TGuimond