Est-il possible de créer une méta-boîte qui attache plusieurs images à un message?
Est-il possible de créer une méta-boîte qui attache plusieurs images à un message?
Réponses:
Cela dépend entièrement de ce que vous entendez par «attacher».
Chaque publication WordPress peut déjà avoir plusieurs pièces jointes multimédias - photos, documents, etc. Vous les téléchargez à l'aide du programme de téléchargement intégré et elles seront toutes marquées comme «jointes» à cet ID de publication spécifique.
Vous pouvez les consulter ultérieurement par programmation ailleurs. Par exemple, le code suivant répertorie toutes les pièces jointes d'un article spécifique (code de 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);
}
}
Toutes ces fonctionnalités sont accessibles via le bouton par défaut "Ajouter un média" à l'extrême droite de "Télécharger / Insérer" sur le nouvel écran de publication. Après avoir ajouté une image, vous pouvez cliquer à nouveau sur "Sélectionner les fichiers" et télécharger une deuxième image. Puis un troisième. Puis un quatrième. Autant que vous voulez.
Chacune de ces images sera "attachée" au message ... même si elles ne sont pas insérées dans le contenu.
$post
et $args
dans au moins deux contextes différents, ce qui rend très difficile de comprendre exactement ce que vous essayez de faire à un moment donné. Mais j'ai testé le code que j'ai posté ci-dessus et cela fonctionne ...
Voici un tutoriel complet avec des fichiers source qui font exactement ce que vous voulez,
vous pouvez télécharger plusieurs images en clonant le champ de saisie et vous pouvez également prévisualiser, supprimer des images avec ajax, ajouter plusieurs métaboxes à plusieurs types de publication et plus encore.
http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html
Je recommanderais également de consulter http://www.wpalchemy.com . WPAlchemy est une "classe" de kick ass (proche d'un plugin) pour ajouter facilement des meta boxes personnalisées à votre site. Je l'utilise intensivement et j'ai été impressionné par la facilité d'utilisation et l'engagement du développeur et de la communauté naissante.
Oui c'est tout à fait possible. Voir une réponse que j'ai reçue sur les métaboxes. Fondamentalement, vous voudrez simplement ajouter un crochet save_post
et vérifier le champ 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);