※ ソースを直に修正しているため、テーマをアップデートすると上書きされてしまい修正し直す必要がある。
Basicのアイキャッチ画像の表示位置は以下のようになっている。
- 一覧ページ:タイトルの左。
- 個別記事:タイトルの上。
-
固定ページ:表示されない。何でだよ!
投稿に関しては Themify Custom Panel からアイキャッチ画像を登録できるようになっているが、固定ページにはそもそもそのような項目が用意されていない。
Basic の設定画面を見ても一覧と投稿記事にしかアイキャッチに関する設定項目がない(そのわりには固定ページの Themify Custom Panel にはアイキャッチ画像のON/OFF設定があったりするのが謎)。
これを、以下のように変更する。
まずは一覧ページと投稿ページ。loop.phpを以下のように修正する(15-42行目をタイトルの下に移動する)。
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<?php themify_post_start(); // hook ?> <?php //check if there is a video url in the custom field if( themify_get('video_url') != '' ){ global $wp_embed; themify_before_post_image(); // Hook echo $wp_embed->run_shortcode('[embed]' . themify_get('video_url') . '[/embed]'); themify_after_post_image(); // Hook } elseif( $post_image = themify_get_image($themify->auto_featured_image . $themify->image_setting . "w=".$themify->width."&h=".$themify->height) ){ if($themify->hide_image != 'yes'): ?> <?php themify_before_post_image(); // Hook ?> <figure class="post-image <?php echo $themify->image_align; ?>"> <?php if( 'yes' == $themify->unlink_image): ?> <?php echo $post_image; ?> <?php else: ?> <a href="<?php echo themify_get_featured_image_link(); ?>"><?php echo $post_image; ?><?php themify_zoom_icon(); ?></a> <?php endif; ?> </figure> <?php themify_after_post_image(); // Hook ?> <?php endif; //post image } ?> <div class="post-content"> <?php if($themify->hide_date != 'yes'): ?> <time datetime="<?php the_time('o-m-d') ?>" class="post-date" pubdate><?php the_time(apply_filters('themify_loop_date', 'M j, Y')) ?></time> <?php endif; //post date ?> <?php if($themify->hide_title != 'yes'): ?> <?php themify_before_post_title(); // Hook ?> <?php if($themify->unlink_title == 'yes'): ?> <h1 class="post-title"><?php the_title(); ?></h1> <?php else: ?> <h1 class="post-title"><a href="<?php echo themify_get_featured_image_link(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1> <?php endif; //unlink post title ?> <?php themify_after_post_title(); // Hook ?> <?php endif; //post title ?> |
↓
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<?php themify_post_start(); // hook ?> <div class="post-content"> <?php if($themify->hide_date != 'yes'): ?> <time datetime="<?php the_time('o-m-d') ?>" class="post-date" pubdate><?php the_time(apply_filters('themify_loop_date', get_option('date_format'))) ?></time> <?php endif; //post date ?> <?php if($themify->hide_title != 'yes'): ?> <?php themify_before_post_title(); // Hook ?> <?php if($themify->unlink_title == 'yes'): ?> <h1 class="post-title"><?php the_title(); ?></h1> <?php else: ?> <h1 class="post-title"><a href="<?php echo themify_get_featured_image_link(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1> <?php endif; //unlink post title ?> <?php themify_after_post_title(); // Hook ?> <?php endif; //post title ?> <?php //check if there is a video url in the custom field if( themify_get('video_url') != '' ){ global $wp_embed; themify_before_post_image(); // Hook echo $wp_embed->run_shortcode('[embed]' . themify_get('video_url') . '[/embed]'); themify_after_post_image(); // Hook } elseif( $post_image = themify_get_image($themify->auto_featured_image . $themify->image_setting . "w=".$themify->width."&h=".$themify->height) ){ if($themify->hide_image != 'yes'): ?> <?php themify_before_post_image(); // Hook ?> <figure class="post-image <?php echo $themify->image_align; ?>"> <?php if( 'yes' == $themify->unlink_image): ?> <?php echo $post_image; ?> <?php else: ?> <a href="<?php echo themify_get_featured_image_link(); ?>"><?php echo $post_image; ?><?php themify_zoom_icon(); ?></a> <?php endif; ?> </figure> <?php themify_after_post_image(); // Hook ?> <?php endif; //post image } ?> |
次に固定ページ。まずは custom-functions.php の修正。以下を追加する。
1 |
set_post_thumbnail_size(幅, 高さ, true); |
第3引数はなくてもいい(切抜きするかどうかの設定。true=する、false=しない。省略時はfalse扱い)。「add_theme_support」の設定はテーマ側で行われているため不要。また、ここでサイズを指定しても一覧ページや個別記事は Basic の設定画面で指定した幅や高さが優先されるため問題ない。
続けて page.php も修正する。
39 40 41 |
<div class="page-content"> <?php the_content(); ?> |
↓
39 40 41 42 43 |
<div class="page-content"> <?php the_post_thumbnail(); ?> <?php the_content(); ?> |