Wie füge ich ein vorgestellten Bild per PHP einem bestehenden Post hinzu?

Ich habe Probleme, ein vorhandenes Bild zu einem vorhandenen Post über PHP hinzuzufügen. Das Bild befindet sich im Ordner wp-content / upload. Das Skript, das ich gerade mache, ist kein Plugin, Theme oder ähnliches. Es ist nur ein Automatisierungsskript, das bei jedem Aufruf ausgeführt wird.

Was ist der beste Ansatz für diesen Fall?

Solutions Collecting From Web of "Wie füge ich ein vorgestellten Bild per PHP einem bestehenden Post hinzu?"

Der Trick ist media_sideload_image() und set_post_thumbnail() . media_sideload_image() geht davon aus, dass Sie die URL zu dem Bild media_sideload_image() können, unabhängig davon, ob sie in /wp-content/ oder woanders existiert (eine andere Seite sogar). Solange Sie programmgesteuert auf die URL des Bildes verweisen können, sollte so etwas funktionieren.

 $image = 'image.jpg'; $media = media_sideload_image($image, $post->ID); if(!empty($media) && !is_wp_error($media)){ $args = array( 'post_type' => 'attachment', 'posts_per_page' => 1, 'post_status' => 'any', 'post_parent' => $post->ID ); // reference new image to set as featured $attachments = get_posts($args); if($attachments){ foreach($attachments as $attachment){ set_post_thumbnail($post->ID, $attachment->ID); // only want one image break; } } } 
  • functionsreferenz / Medien sideload Bild «WordPress Codex

  • functionsreferenz / post post thumbnail «WordPress Codex