10 Stimmen

Programmgesteuertes Hinzufügen von Beiträgen mit Miniaturansicht in WordPress

Ich weiß, ich kann die wp_insert_post() Funktion in WordPress, um Beiträge programmatisch hinzuzufügen, aber ich möchte Beiträge mit einem Vorschaubild hinzufügen und dabei auch die Größe des Beitragsfotos an die richtigen WordPress-Größen anpassen.

Ist all dies programmatisch möglich, oder muss ich einige Arbeiten manuell durchführen (z. B. die Größenänderung/den Zuschnitt)?

14voto

John K Punkte 274

Auschecken wp_insert_attachment() , gefunden in wp-includes/post.php ( Codex-Artikel ).

Sie erstellen Ihren Beitrag also zunächst mit wp_insert_post() und fügen Sie dann die Datei an, etwa so (der Codex wurde geändert):

<?php 
    $post_id = wp_insert_post( $my_post_data ); 

    $attach_id = wp_insert_attachment( $attachment, $filename, $post_id );
    $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
    wp_update_attachment_metadata( $attach_id,  $attach_data );
    set_post_thumbnail( $post_id, $attach_id );
?>

Was die Größenanpassung von Bildern betrifft, so können Sie in Ihren Medieneinstellungen (yoursite.com/wp-admin/options-media.php) benutzerdefinierte Größen für Ihre Bilder festlegen. Wahrscheinlich ist das nicht so stabil, wie Sie es sich wünschen, aber wenn Sie die Ausgabe mit etwas wie dem TimThumb-Skript kommen Sie vielleicht dem, was Sie suchen, schon sehr nahe.

Um alle Variablen zu sehen, die die Funktion hat, lesen Sie die kommentierte Info in post.php.

5voto

guigouz Punkte 1213

Nachdem Sie den Beitrag und das Attachment mit den Wordpress-Funktionen wp_insert_post und wp_insert_attachment eingefügt haben, können Sie das Thumbnail zum Beitrag hinzufügen, indem Sie die _thumbnail_id mit der id des Attachments verwenden, sofern Ihr Theme Post-Thumbnails unterstützt.

// $post_id = wp_insert_post(...)
// $attach_id = wp_insert_attachment(...)

add_post_meta($post_id, '_thumbnail_id', $attach_id, true);

Auf diese Weise können Sie die Standardfunktionen von WordPress für die Größenanpassung von Vorschaubildern usw. nutzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X