TwentyTwelveのアイキャッチ画像サイズをページごとに変える

今回はTwentyTwelveのアイキャッチ画像サイズをページごとに変えるカスタマイズです。個別記事なら大きなアイキャッチ画像を使用してトップページやカテゴリー等の記事一覧ページでは小さいアイキャッチ画像を使用するというカスタマイズです。

ついでに記事一覧ページでは抜粋記事にしてます。見てもらった方が早いかな?私のトップページやカテゴリーページではアイキャッチ画像がこのように表示されてます(現在は抜粋にはしてません)。

アイキャッチ画像-3

小さなアイキャッチ画像と記事の抜粋になっているでしょ?そして個別記事を表示するとこのように大きなアイキャッチ画像が表示されます。

アイキャッチ画像-4

このように表示するページによってアイキャッチ画像のサイズを変えるカスタマイズをしていきます。ちなみに前回までの記事でアイキャッチ画像のサイズを決めて、記事下に表示するカスタマイズをしました。

さらに記事一覧ページでは抜粋記事にして「続きを読む」を設置できたと思います。

今回はその続きになりますので前回までのカスタマイズをまだしてない方は先にやっておく事をおすすめします。

この3つのカスタマイズの内、アイキャッチ画像の位置を記事下にするカスタマイズだけは必ずやっておいて下さい。今回のカスタマイズは記事下にアイキャッチ画像を設定している前提でのカスタマイズです。

さて、これまでのカスタマイズで記事一覧ページを抜粋記事にしたのですが、設定したアイキャッチ画像が表示されていません。

アイキャッチ画像-6

この抜粋記事の左にサムネイルサイズのアイキャッチ画像を表示できるようにカスタマイズしていきます。

スポンサーリンク
スマートフォン買取

事前にサムネイル画像のサイズを確認しておく

最初に説明しておきますが、トップページや記事一覧ページの画像のサイズはサムネイルサイズというサイズです。これはWordPressの管理画面から「設定」⇒「メディア」で設定したサムネイルのサイズです。これをまず確認しておきます。

アイキャッチ画像-5

私の場合は100pxというサイズに設定しています。初期状態では150pxだったのですが、若干大きいと感じたので少し小さめにしてます。

このサイズを100pxにしておくと抜粋記事の文字量とちょうどいいと思いますが、これは好みの問題ですので、150pxのままでも良いです。一度カスタマイズしてみて大きいと感じたら変更してみて下さい。

それから個別記事で表示するアイキャッチ画像のサイズは前回の記事で設定したのでOKですよね。この2種類のサイズを把握しておいて下さい。これを把握しておくのはカスタマイズ後にサイズが気にいらない時に変更できるようにしておくためです。

ページごとにアイキャッチ画像のサイズを変更する

普通の個別記事では大きいサイズのアイキャッチ画像を表示させ、それ以外の記事一覧ページではサムネイル画像を表示されていきます。今回使うファイルは「content.php」です。前回までのカスタマイズで使ったファイルですので、子テーマには追加されてますよね。

トップページやアーカイブページの記事一覧ページを抜粋記事にするカスタマイズでこのコードを変更しました。

<?php if ( is_search() ) : // Only display Excerpts for Search ?>

これをこのように変更して抜粋記事にしましたよね。

<?php if ( is_search() || is_home() || is_archive() ) : // Only display Excerpts for Search ?>

ここまでは出来ていると思いますので、このコードのすぐ下に次のコードを足します。

<div class="entry-post-thumbnail">
<?php the_post_thumbnail('thumbnail'); ?>
</div>

これで記事一覧ページにメディア設定で設定されている「サムネイルサイズ」のアイキャッチ画像が表示できるようになります。

また、ここのサイズに関しては次のような書き方でサイズを指定する事もできます。

<?php the_post_thumbnail(array(100, 100)); ?>

表示を確認してみると設定したアイキャッチ画像は表示されているのですが、本文がアイキャッチ画像の下から表示されてます。これを画像の右に持ってきたいのです。

アイキャッチ画像-7

この抜粋記事をアイキャッチ画像の右に持ってくるために今度は子テーマのスタイルシート(style.css) に次の記述を付け加えます。

div.entry-post-thumbnail {
float: left;
margin: 0 10px 10px 0;}

これでアイキャッチ画像の右側に抜粋記事が表示されるはずです。完成形は私のブログのようになってます。

記事抜粋-1

もしここで表示されるアイキャッチ画像が正方形でない場合はメディア設定で「サムネイルを実寸法にトリミングする」にチェックを入れてないのが原因だと思われます。その場合はWordPressの管理画面から「設定」⇒「メディア」と進み、「サムネイルを実寸法にトリミングする」にチェックを入れて下さい。

アイキャッチ画像-8

その後改めて画像をアップロードし、再びアイキャッチ画像に設定してみて下さいね。一括でリサイズできるプラグインもありますので、使ってみてもいいかもしれません。

それでは次回はフッター部分のカスタマイズをしていきます。

TwentyTwelveのアイキャッチ画像サイズをページごとに変える”に46件のコメントがあります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

  1. しげぞう 投稿作成者

    pen-chi様

    コメントありがとうございます。サムネイルの位置がずれる問題ですが、これは実際にサイトを見てチェックしないと原因が特定できません。なので、もし良かったら一度サイトのURLを教えて下さいませ。もちろんコメント公開時にはURLは削除しますのでどうぞよろしくお願い致します。

  2. pen-chi

    しげぞう様
    いつもしげぞう様のサイトで勉強させていただいています。
    自分もWordpressをさわり始めたのですが、『サムネイルの表示位置』がずれる現象に困っています。疑わしい部分のヒントをいただけないでしょうか?

    現象は以下の通りです。
    ■記事一覧ページのサムネイル画像の位置が右にずれる
    1.記事一覧ページに抜粋記事を作成する。
     この時点ではサムネイルの表示を設定していないときは、「抜粋記事一覧」の記事の位置は適正です。
    2.記事一覧にサムネイルを表示させる。
     本サイトの通り、以下のコードをの直下に張り付けました。

     するとアイキャッチ画像を設定している記事にはサムネイルの表示はされましたが、サムネイル画像の配置が右にずれてしまいます。
    ※ちょうどサムネイル画像1個分のスペースが挿入されているイメージです。
     また、アイキャッチ画像を設定していない記事は、記事の先頭文字にスペースが挿入されたみたいな表示になります。
    ■サイドバーの人気記事一覧のサムネイルが右にずれる。
    1.popular postsを使って人気記事一覧を表示させています。
    すると『人気記事一覧』のタイトル枠の左端と『サムネイル画像』の左端一致しません。『サムネイル画像』が右にずれてしまいます。

    どうぞよろしくお願いいたします。

  3. しげぞう 投稿作成者

    りっきのすけ様

    返信ありがとうございます。上手く解決されたようで良かったです。

    さて、カテゴリーの最新記事だけ全文表示という方法はこちらの記事で書いてますので、一度試して見て下さい。
    ⇒https://affiliate150.com/new-article-no-excerpt

  4. りっきのすけ

    しげぞう様

    いつも拝見させて頂いております。
    さっそくですが、1つ質問させて下さい。

    ・抜本記事の設定は、おかげ様で上手くできたのですが
     表示されるのがすべて抜本記事になっているので
     トップページだけ抜本記事にならないようにできますか?

     理想は、本サイトのように、カテゴリーのトップページがあり
     下に抜本記事がくるようなイメージです。

    素人の質問で申し訳ないのですが
    ご回答の程よろしくお願いいたします。

  5. Okingatarashi

    しげぞう様

    こんばんは!
    スゴイ。。。今、サイトを確認してみたんです。
    昨日、子テーマ記述をして、反映されず、一度、エクスプローラー閉じてもう一度、見てもダメでリロードして、それでもだめで、コメントに来たのですね。

    PC切る前にしげぞう様のコードをもう一度コピペして
    確認したけどまだ駄目だったんですが今、サイトを見ると反映されています。
    サイトの左上隅にコードが出てしまってはいたのですが。

    頂いたコードを今、コピペしてみたら、
    左角のコードも消えて適度な文字数150字にしたら

    解決です!
    ありがとうございました。ほんとにすごい!!
    そして、ポンコツでごめんなさい。

  6. しげぞう 投稿作成者

    Okingatarashi様

    返信ありがとうございます。子テーマのfunctions.phpはこの記述以外は何もないですよね?それなら一度子テーマのfunctions.phpの中身を全部コピーしておいて元に戻せるようにしておき、コピーできたらfunctons.phpの中身を削除して保存して下さい。functions.phpのファイルだけある感じにしてみて下さい。

    それで、WordPressの管理画面から「外観」⇒「テーマの編集」⇒「functions.php」と進み、以下のコードを追加して保存。

    <?php
    
    //抜粋文の文字数
    function custom_excerpt_length( $length ) {
         return 200; 
    }       
    add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
    
    ?>

    これで反映されるか試して見て下さい。

    それで反映されない場合ですが、考えられる原因がありまして、既に親テーマの方に抜粋分の文字数を変更する記述があるかもしれません。その場合には親テーマの方を変更する必要があるかな?と思いますので、また連絡下さい。ちなみに使っているテーマは何でしたっけ?それ一緒に教えてもらえると助かります。