Benutzerdefinierte Schleife, Kategorie mit der Seite: Wie wird das Post-Featured-Bild angezeigt?

Ich habe diese Antwort gefunden . Es rettete meinen Tag, aber könnten Sie mir sagen, wie man das vorgestellte Bild des Posts mit dem folgenden Code anzeigt?

Wenn ich benutze

post_thumbnail('thumbnail', array('class' => 'alignleft')); ?> 

Ein Bild wird nicht angezeigt …

Code unten:

  post_name}"); if($cposts) : ?>  

post_title; ?>

post_content; ?>

post_thumbnail('thumbnail', array('class' => 'alignleft')); ?>

Können Sie mir sagen, wie der richtige Code funktionieren soll?

Solutions Collecting From Web of "Benutzerdefinierte Schleife, Kategorie mit der Seite: Wie wird das Post-Featured-Bild angezeigt?"

get_posts ein Array von WP_Post Objekten ab (eine vollständige Liste der Objekteigenschaften finden Sie in den Rückgabewerten von get_post ).

In Ihrem obigen Code-Snippet durchlaufen Sie das Array mit einer foreach Schleife. In diesem post_thumbnail() versuchen Sie derzeit, eine nicht existierende Methode ( post_thumbnail() ) dieser Objekte zu verwenden.

Verwenden Sie get_the_post_thumbnail function get_the_post_thumbnail und füttern Sie die ID-Eigenschaft der aktuellen get_the_post_thumbnail als erstes Argument:

 < ?php echo get_the_post_thumbnail( $cpost->ID, 'thumbnail', array( 'class' => 'alignleft' ) ); ?> 

Das beantwortet den core Ihrer Frage.
Nebenbei möchte ich darauf hinweisen, dass Sie keine < ?php öffnenden und schließenden Tags in jeder Zeile benötigen. Hier also eine vollständige Überarbeitung Ihres Snippets:

 < ?php if ( is_page() ) { global $post; $cposts = get_posts( array( 'posts_per_page' => -1, 'category_name' => $post->post_name )); if ( $cposts ) { foreach ( $cposts as $cpost ) { echo '
' . '

' . $cpost->post_title . '

' . '

' . $cpost->post_content . '

' . get_the_post_thumbnail( $cpost->ID, 'thumbnail', array( 'class' => 'alignleft' ) ) . '
'; } } } ?>