1. ホーム
  2. php

[解決済み] wp_get_attachment_image()の正しい使い方

2022-02-06 08:23:45

質問

wp_get_attachment_image()の正しい使い方を探しています。

以下のようなコードです。

<?php
    $args = array(
        'type' => 'attachment',
        'category_name' => 'portfolio'
        );
    $attachments = get_posts($args);
    print_r($attachments);
?>

以下のような結果を生成します。

Array
(
    [0] => stdClass Object
        (
            [ID] => 54
            [post_author] => 1
            [post_date] => 2010-06-22 00:32:46
            [post_date_gmt] => 2010-06-22 00:32:46
            [post_content] => <a href="http://localhost/wordpress/wp-content/uploads/2010/06/Capture.jpg"><img class="alignnone size-medium wp-image-55" title="Capture" src="http://localhost/wordpress/wp-content/uploads/2010/06/Capture-300x114.jpg" alt="" width="300" height="114" /></a> 
            [post_title] => Our Own Site
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => open
            [ping_status] => open
            [post_password] => 
            [post_name] => our-own-site
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2010-06-22 00:40:22
            [post_modified_gmt] => 2010-06-22 00:40:22
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => http://localhost/wordpress/?p=54
            [menu_order] => 0
            [post_type] => post
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
        )
)

しかし、次のようにすると、何も返さない。

<?php
    echo wp_get_attachment_image(54, array('300', '300'));
?>

何が間違っているのでしょうか?

どうすればいいですか?

機能 wp_get_attachment_image は、wordpressにアップロードされた画像を取得するだけで、投稿内容の画像は出力されません。

例の画像は投稿の内容を出力する必要があります。

のように。 echo $attachments['post_content'];