[WP覚書]固定ページ毎にトップイメージに異なる画像を表示させる方法(アイキャッチ画像使用)

2013年11月14日

MTだといつもテンプレートタグで画像ファイル名のところにclass名を出力する方法でやっていたのですが、Wordpressだとアイキャッチ画像を使う方法が主流のようですね。

こちらの方法を採用。

wordpress ページ毎のヘッダ画像をアイキャッチで変更する方法 | WEBデザイナーのしおり

vicunaだと初めからアイキャッチ画像は使えるようになってるので、
固定ページのヘッダー部分に以下のソースをそのまま貼ればOKでした。
しかもposition:abosolute設定になってるようで、CSSもそんなにいじらずに済みました。

<?php
                    // Check if this is a post or page, if it has a thumbnail, and if it's a big one
                    if ( is_singular() &&
                            has_post_thumbnail( $post->ID ) &&
                            ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
                            $image[1] >= HEADER_IMAGE_WIDTH ) :
                        // Houston, we have a new header image!
                        echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
                    else : ?>
                        <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
                    <?php endif; ?>

20131114追記
今構築中のサイトでも、この方式を導入することにしました。
今回のサイトもvicunaを使ってるのですが、アイキャッチの設定ボックスが投稿ページに表示されてないので、
function.phpに以下を記述しました。レイアウトによる???

if ( function_exists( 'add_theme_support' ) ) {
  add_theme_support( 'post-thumbnails' );
  set_post_thumbnail_size( 960, 220, true ); // サムネイルのサイズ
}

WordPress

Posted by ponnao