私は Meta Boxプラグイン を使っていますが、すべてうまくいきます。カスタム投稿タイプのギャラリー機能を作成するために使用しています。アップロードした画像は次のコードを使用して表示できます。
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}' />";
}
}
画像は表示されていますが、各写真のキャプションも表示したいです。どうすればいいの?
st 注意:
// 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 ) );
nd 注:あなたがすでに手に入れたものを調べてください。
// Inside the foreach loop
echo '<pre>'; var_dump( $att ); echo '<pre>';
第二 注: wp_get_attachment_metadata()
はメタデータを提供します。投稿IDをそこにドロップするだけです。