WordPressで投稿画像のサムネイルリンクを作成する

画像投稿時に新着画像順にその記事パーマリンクへリンクするサムネイルを作成します。新聞サイトみたいなものによく使っている方法です。表示するサムネイルの数は$numで編集できます。トップページなどで使うようなやり方です。これアイキャッチ画像を表示する方法と違うますのでご注意。あくまでもブログに貼り付けた画像を取り出す方法です。
この関数の肝は、wp_get_attachment_imageを使うことです。WPに元々組み込まれている関数なので、随時呼び出して使うことが可能です。この関数は、投稿されたイメージやメディアを直接呼び出すのではなくHTMLに書かれたimgタグを呼び出す関数です。なので、投稿された記事との関連付けが容易にできます。
画像そのもののサムネイルを作成する際にはthe_post_thumnail関数などが用意されています。

<div id='photos-block'>
    <?php
        $my_id = 0;
        $num = 10;
        $re = attachment_ancherlinks($my_id,$num);

        function attachment_ancherlinks($my_id=0, $num){
            $args = "category=".$my_id."&numberposts=".$num;
            $posts = get_posts($args);

            for($i=0; $i <$num ;$i++){
                if($i>= count($posts) ) return;
                    $attachments = get_children(array('post_parent' => $posts[$i]->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order'));
                    $url = $posts[$i]->guid;
                    $title= $posts[$i]->post_title;
                    if(is_array($attachments)){
                        $attachment = array_shift($attachments);
                    if (wp_get_attachment_image($attachment->ID)) {
                        print "<a href='".$url."' title='".$title."'><div class='resize_thumbnail'>".wp_get_attachment_image($attachment->ID)."</div></a>¥n";
                    }
                }
            }
        }
    ?>
</div>
<br clear="both" />
Last update: 2016.09.21 (水)