2013-12-18 7 views
8

Wordpress Media Libraryに画像をアップロードしました。Wordpress Media Libraryから1つの特定のイメージを取得

イメージを表示してからその特定のイメージのURLを取得し、img htmlタグを使用してこれをページに表示できることを理解しています。

しかし、画像のalt,,,captionおよびdescriptionは表示されません。 img

はポストまたはページフィールドに添付されていないので、私はあなたが得るの添付ファイル機能を使用することはできませんと仮定など

私は静的img htmlコードを書くのではなく、機能を使いたい理由がありますエンドユーザにとっては分かりづらいHTMLコードを編集するのではなく、メディアライブラリで画像のすべてのデータを更新して、それらのデータをよりよく保守しやすくしています。

ありがとうございます。

答えて

7

最初のget画像

function get_images_from_media_library() { 
    $args = array(
     'post_type' => 'attachment', 
     'post_mime_type' =>'image', 
     'post_status' => 'inherit', 
     'posts_per_page' => 5, 
     'orderby' => 'rand' 
    ); 
    $query_images = new WP_Query($args); 
    $images = array(); 
    foreach ($query_images->posts as $image) { 
     $images[]= $image->guid; 
    } 
    return $images; 
} 

と表示画像

function display_images_from_media_library() { 

    $imgs = get_images_from_media_library(); 
    $html = '<div id="media-gallery">'; 

    foreach($imgs as $img) { 

     $html .= '<img src="' . $img . '" alt="" />'; 

    } 

    $html .= '</div>'; 

    return $html; 

} 

と使用PHPの火災イベント

<?php echo display_images_from_media_library(); ?> 

またはこの機能を使用する

<?php 

if ($attachments = get_children(array(
'post_type' => 'attachment', 
'post_mime_type'=>'image', 
'numberposts' => 1, 
'post_status' => null, 
'post_parent' => $post->ID 
))); 
foreach ($attachments as $attachment) { 
echo wp_get_attachment_link($attachment->ID, '' , true, false, 'Link to image attachment'); 
} 

?> 
13

あなたは添付ファイルIDを持っていると思いますか?あなたは添付ファイル機能を使ってみましたか?コーデックスから

:メディアアイテムが「記事」は自分の権利でもあり、 はWordPressテンプレート階層を経由して、このようなとして表示することができ

注意。テーマは、 を使用してメディアアイテムをループしたり、ギャラリーを作成したりすることができます。

次の関数は、あなたが始める必要があります。

をあなたが使用して画像srcを取得できます。wp_get_attachment_image_src()

$img= wp_get_attachment_image_src($attachmentID, $imageSizeName); 

あなたが使用して画像のキャプションを取得することができます。get_post_field()

get_post_field('post_excerpt', $attachmentID) 

あなたはalt使用してタグ:get_post_meta()

get_post_meta($attachmentID, '_wp_attachment_image_alt', true); 
+0

この答えは最高の私の作品、ありがとうございました。 –

+1

しかし、添付ファイルの実際のIDはどこで取得できますか? – Philip

+0

メディアライブラリでイメージを表示しているときに、ブラウザバーのURLに添付ファイルIDが表示されます。 – Tamara

0

コードの下にしてみてください:

<?php 
     $attachmentID = 1875; 
     $imageSizeName = "thumbnail"; 
     $img = wp_get_attachment_image_src($attachmentID, $imageSizeName); 
     //print_r($img); 
?> 

<img src="<?php echo $img[0]; ?>" alt="image"> 
関連する問題