J'utilise le plugin Meta Box , tout fonctionne bien. Je l'utilise pour créer une fonction de galerie sur un type de message personnalisé et je peux afficher les images téléchargées à l'aide du code suivant:
global $wpdb;
$meta = get_post_meta( get_the_ID(), 'meta_key', false );
if ( ! is_array( $meta ) )
$meta = ( array ) $meta;
if ( ! empty( $meta ) )
{
$meta = implode( ',', $meta );
$images = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts}
WHERE post_type = 'attachment'
AND ID IN ( {$meta} )
ORDER BY menu_order ASC" );
foreach ( $images as $att )
{
// Get image's source based on size, can be 'thumbnail', 'medium', 'large', 'full' or registed post thumbnails sizes
$src = wp_get_attachment_image_src( $att, 'full' );
$src = $src[0];
// Show image
echo "<img src='{$src}' />";
}
}
Les images sont affichées, mais je souhaite également afficher les légendes de chaque image. Comment puis-je le faire?
st Remarque:
// Prepare the code for safety
$images = $wpdb->get_col( $wpdb->prepare( "
SELECT ID FROM %s
WHERE post_type = 'attachment'
AND ID IN ( %s )
ORDER BY menu_order ASC
", $wpdb->posts, $meta ) );
dakota du Nord Note: Regardez dans ce que vous avez déjà:
// Inside the foreach loop
echo '<pre>'; var_dump( $att ); echo '<pre>';
rd Remarque: wp_get_attachment_metadata()
vous donne des métadonnées. Il suffit de déposer l’identifiant de poste ici.