2010-04-20 15 views
10

So che posso usare la funzione wp_insert_post() in WordPress per aggiungere post in modo programmatico, ma voglio aggiungere post con una miniatura e, inoltre, ridimensionare/ritagliare la foto del post sulla corretta Dimensioni di WordPress.Aggiunta di post con la miniatura in WordPress

Tutto ciò è possibile in modo programmatico oppure è necessario eseguire alcuni lavori manualmente (ad esempio il ridimensionamento/ritaglio)?

risposta

14

Verificare wp_insert_attachment(), trovato in wp-includes/post.php (Codex article).

in modo da creare il tuo post prima utilizzando wp_insert_post(), quindi allegare il file, un po 'come questo (modificato il Codex):

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

Per quanto riguarda il ridimensionamento delle immagini/ritaglio, se si va alle impostazioni multimediali (tuosito. com/wp-admin/options-media.php), puoi definire dimensioni personalizzate per le tue immagini. Probabilmente non è robusto come quello che stai cercando, ma se integri l'output con qualcosa come lo TimThumb Script, potresti avvicinarti a quello che stai cercando.

Per vedere tutte le variabili della funzione, leggere le informazioni commentate in post.php.

+1

Grazie! Mi chiedo perché questo non sia stato più documentato. –

+0

non posso crederci e 3 ore! Grazie ;) –

5

Dopo aver inserito il post e l'allegato utilizzando le funzioni wordpress "wp_insert_post e wp_insert_attachment, è possibile aggiungere la miniatura al post utilizzando _thumbnail_id con l'id dell'allegato, a condizione che il tema supporti le miniature dei post.

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

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

In questo modo sarete in grado di utilizzare le funzioni predefinite di wordpress per il ridimensionamento delle miniature e così via.

1

Ci sono 2 articoli che sono stati scritti da quando è stata fatta la domanda. Entrambi offrono soluzioni leggermente diverse al tuo problema. Spero che questi aiuto a qualcuno:

livello di programmazione che importano migliaia degli miniature pubblicare propria immagine in WordPress http://www.zdnet.com/blog/diy-it/programmatically-importing-thousands-of-featured-image-post-thumbnails-into-wordpress/118

Come: Carica file multimediali tramite URL a livello di programmazione in WordPress http://theme.fm/2011/10/how-to-upload-media-via-url-programmatically-in-wordpress-2657/

Problemi correlati