使用しているテーマがそもそもアイキャッチ機能がない場合は、funcitons.phpに以下のコードを追記して使用可能に出来ます。
1 2 3 |
<?php add_theme_support('post-thumbnails'); ?> |
サムネイルの画像は、デフォルトで以下の3サイズあります
このサイズ以外のサムネイルのサイズを設定したい場合は、以下のコードで設定することが出来ます。
1 2 3 4 5 6 7 8 |
<?php set_post_thumbnail_size(150, 150, true); // 通常の投稿サムネイル add_image_size('thumbnailSmall' ,100, 100 ,true ); // オリジナルサムネイルサイズ 小 add_image_size('thumbnailMidium',250, 250 ,true ); // オリジナルサムネイルサイズ 中 add_image_size('thumbnailBig' ,500, 500 ,true ); // オリジナルサムネイルサイズ 大 ?> |
画像を挿入する時際に自動で挿入される属性(title、width、height、class)が邪魔な場合以下のコードで外す事が可能です。
1 2 3 4 5 6 7 8 9 10 |
<?php add_filter( 'image_send_to_editor', 'remove_image_attribute', 10 ); add_filter( 'post_thumbnail_html', 'remove_image_attribute', 10 ); function remove_image_attribute( $html ){ $html = preg_replace( '/(width|height)="\d*"\s/', '', $html ); $html = preg_replace( '/class=[\'"]([^\'"]+)[\'"]/i', '', $html ); return $html; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php /*---------------------------------------------------------------------------------*/ //アイキャッチ画像 サムネイル関連 /*---------------------------------------------------------------------------------*/ add_theme_support('post-thumbnails'); set_post_thumbnail_size(150, 150, true); // 通常の投稿サムネイル add_image_size('thumbnailSmall' ,100, 100 ,true ); // オリジナルサムネイルサイズ 小 add_image_size('thumbnailMidium',250, 250 ,true ); // オリジナルサムネイルサイズ 中 add_image_size('thumbnailBig' ,500, 500 ,true ); // オリジナルサムネイルサイズ 大 //画像貼り付け時の自動挿入タグを削除 add_filter( 'image_send_to_editor', 'remove_image_attribute', 10 ); add_filter( 'post_thumbnail_html', 'remove_image_attribute', 10 ); function remove_image_attribute( $html ){ $html = preg_replace( '/(width|height)="\d*"\s/', '', $html ); $html = preg_replace( '/class=[\'"]([^\'"]+)[\'"]/i', '', $html ); return $html; } ?> |
以下のコードでアイキャッチが表示されます。アイキャッチが設定されてない場合は何も表示されません。
1 2 3 |
<?php the_post_thumbnail(); ?> |
サムネイルのサイズを指定して表示させるコードは以下になります。
画像サイズの指定は ‘thumbnail’, ‘medium’, ‘large’で、追加で設定している場合は設定した名前で、 例えば、先述の設定内容では「thumbnailBig」になります。
1 2 3 |
<?php the_post_thumbnail('thumbnailBig'); ?> |
テンプレートファイル内で、記事のアイキャッチ画像が設定されている場合は、それを表示して アイキャッチ画像が設定されていない場合は、代わりの画像(今回は、テーマファイルのimgフォルダに格納されているno_image.png)を表示するコードになります。
1 2 3 4 5 6 7 8 |
<?php if ( has_post_thumbnail()) { the_post_thumbnail(); } else { echo '<img src="' . get_bloginfo('url'). '/img/no_image.png">'; } ?> |
1 2 3 4 5 6 7 |
<img src="<?php if ( has_post_thumbnail() ) { $image_id = get_post_thumbnail_id (); $image_url = wp_get_attachment_image_src ($image_id, true); echo $image_url[0]; } else { echo get_bloginfo( 'template_directory' ) . '/img/no_image.png; } ?>" alt="アイキャッチ画像"> |