web-dev-qa-db-fra.com

Inclure les légendes

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?

2
aurrutia
  1. 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 ) );
    
  2. dakota du Nord Note: Regardez dans ce que vous avez déjà:

    // Inside the foreach loop
    echo '<pre>'; var_dump( $att ); echo '<pre>';
    
  3. rd Remarque: wp_get_attachment_metadata() vous donne des métadonnées. Il suffit de déposer l’identifiant de poste ici.

2
kaiser