固定ページ直下の「アイキャッチ画像」を表示する – wordpress –


今回は、wordpressの固定ページで、その固定ページ直下の「アイキャッチ画像」を表示する方法を紹介します。ページテンプレート(page.php)等に記載して使用すると良いと思います。

<?php
// === 商品紹介以下、サムネイル自動表示
function attachment_children_thumbnail($postID){
  $pageID=2; // 親ページにしたいページIDを指定
  if($postID == $pageID){
    // 現在のページの下のページを取得。編集の「順序」で指定した順番で。
    $pages = get_pages('child_of='.$pageID.'&sort_column=menu_order&sort_order=asc');
    echo "<ul>";
    foreach($pages as $page) {
      if ($page->post_parent != $productID) continue; // 直下以外は無視
      // image from gallery
      $link = get_page_link($page->ID);
      if(has_post_thumbnail($page->ID)) {
        $image_id = get_post_thumbnail_id($page->ID);
        $image_url = wp_get_attachment_image_src($image_id,'thumbnail', true); 
echo <<<_PRODUCT_
        <li><a href="{$link}"><img src="{$image_url[0]}" width="{$image_url[1]}" height="{$image_url[2]}" />
        <span>{$page->post_title}</span></a></li>
_PRODUCT_;
      }else{
         // アイキャッチ画像が無い場合。noimage.pngは予め用意する
echo <<<_PRODUCT_
        <li><a href="{$link}"><img src="/images/noimage.png"  />
        <span>{$page->post_title}</span></a></li>
_PRODUCT_;
      }
    }
    echo "</ul>";
  }
}
?>

先日、「wordpress プラグイン」としてリリースしたので、こちらも参考にしてください。