Hinzufügen eines vorgestellten Bildes zu einer foreach WordPress-Schleife

Ich habe gerade einen cleveren Code in der Zeile gefunden, der WordPress-Posts in nebeneinander liegenden Spalten anzeigt und hervorragend mit dem Titel und dem Post-Ausschnitt funktioniert, den ich anzeigen möchte.

Ich möchte jedoch auch ein bestimmtes vorgestellten Bild anzeigen, das ich in der function Datei in jedem Beitrag definiert habe. Hier ist der Code, der gut funktioniert, abgesehen von einer fehlenden Ausgabe für das vorgestellte Bild. Ich vermute, dass meine Syntax zu diesem Zeitpunkt falsch ist.

 -1, 'order' => 'ASC', 'post_type' => 'treatments' ); //For this example I am setting the arguments to return all posts in reverse chronological order. Odds are this will be a different query for your project $allposts = get_posts($args); $numCol = 2; // Set number of columns // Start Counter $counter = 0; foreach ($allposts as $post) { $content = '
'; // Add class to the columns depending on if it is odd or even $content .= '
'; $content .= '
'; $content .= 'the_post_thumbnail->small).'" />'; $content .= '
'; $content .= '

'.$post->post_title.'

'; $content .= $post->post_excerpt; $content .= '
'; $content .= '
'; echo $content; $counter ++; } ?>

Ich möchte ein Fallback-Bild, wenn der Benutzer auch kein ausgewähltes Bild angegeben hat. Ich würde vermuten, dass eine if-else-statement ähnlich der kurzen Hand, die verwendet wird, um eine class zu den Spalten hinzuzufügen, angemessen wäre? Hier ist der vorgestellte Bildcode, der sich in der functionsdatei befindet.

  

Solutions Collecting From Web of "Hinzufügen eines vorgestellten Bildes zu einer foreach WordPress-Schleife"

Dies ist das Syntaxproblem:

 $content .= ''; 

Die function ” the_post_thumbnail() ist nicht Teil des $post Objekts und würde die post-Miniaturansicht drucken , anstatt sie zurückzugeben , selbst wenn diese Methode funktionieren würde.

Verwenden Sie stattdessen get_the_post_thumbnail() :

 $thumbnail = get_the_post_thumbnail( $post->ID, 'small' ); 

Beachten Sie, dass diese function das vollständig -Tag-Markup zurückgibt, sodass Sie Ihren Code entsprechend anpassen müssen:

 $content .= get_the_post_thumbnail( $post->ID, 'small' ); 

Bearbeiten

Beachten Sie, dass 'small' eine Bildgröße ist, die bereits von WordPress definiert wurde, daher sollten Sie einen anderen Namen verwenden. Ich würde etwas verwenden, das den Standort beschreibt, wie zum Beispiel 'post-two-column' :

 add_image_size( 'post-two-column', 120, 120, true ); 

Dann referenziere entsprechend in deiner Schleife:

 $content .= get_the_post_thumbnail( $post->ID, 'post-two-column' );