È possibile creare una meta-box che allega più immagini a un post?
È possibile creare una meta-box che allega più immagini a un post?
Risposte:
Dipende interamente da cosa intendi per "attaccare".
Ogni post di WordPress può già avere più allegati multimediali: foto, documenti, ecc. Puoi caricarli utilizzando l'uploader integrato e saranno tutti contrassegnati come "allegati" a quell'ID post specifico.
Puoi fare riferimento a questi più tardi in modo programmatico altrove. Ad esempio, il seguente codice elencherà tutti gli allegati per un post specifico (codice di Snipplr ) :
$args = array(
'post_type' => 'attachment',
'numberposts' => null,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
echo apply_filters('the_title', $attachment->post_title);
the_attachment_link($attachment->ID, false);
}
}
Tutte queste funzionalità sono accessibili tramite il pulsante "Aggiungi media" predefinito all'estrema destra di "Carica / Inserisci" nella schermata del nuovo post. Dopo aver aggiunto un'immagine, è possibile fare nuovamente clic su "Seleziona file" e caricare una seconda immagine. Quindi un terzo. Quindi un quarto. Quanti ne vuoi.
Ognuna di queste immagini sarà "allegata" al post ... anche se non sono inserite nel contenuto.
$post
e $args
in almeno due contesti diversi, il che rende molto difficile capire esattamente cosa stai cercando di fare in qualsiasi momento. Ma ho testato il codice che ho postato sopra e funziona ...
Ecco un tutorial completo con i file sorgente che fanno esattamente quello che vuoi,
Puoi caricare più immagini clonando il campo di input e puoi anche visualizzare in anteprima, eliminare immagini con Ajax, aggiungere multi metabox a più / diversi tipi di post e altro ancora.
http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html
Consiglio anche di dare un'occhiata a http://www.wpalchemy.com . WPAlchemy è una "classe" di culo (vicino a un plugin) per aggiungere facilmente meta box personalizzate al tuo sito. Lo uso ampiamente e sono stato colpito dalla facilità d'uso e dall'impegno della comunità di sviluppatori e fiorenti.
Sì è del tutto possibile. Vedi una risposta che ho ricevuto sui metabox. Fondamentalmente, ti consigliamo di aggiungere un hook save_post
e verificare il campo nonce.
function my_save_post_callback( $post_id, $post )
{
if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
{
return $post->ID;
}
// Handle the upload here
}
add_action( 'save_post', 'my_save_post_callback', 1, 2);