先日、このブログのトップページにアイキャッチ画像を追加したので、その方法を備忘録として書き残しておきます。
このブログのトップページの記事一覧では、最初の15件の記事でアイキャッチ画像が設定されているもののみ表示するようにしました。以下がその方法です。
1. functions.phpでアイキャッチ画像を有効にする
まずはアイキャッチ画像を有効にするために、functions.php
に以下を追加します。
add_theme_support( 'post-thumbnails' );
2. 記事をカウントする変数を追加する
記事一覧を表示するLoop内に、記事数をカウントする変数を追加します。
<?php $postcount++; ?>
3. 条件式を追加してアイキャッチを表示させる
今回は以下の2つの条件を満たす場合のみ、アイキャッチ画像を表示するためのHTMLコードを挿入するようにしています。
- 最初の15件
- アイキャッチ画像が設定されている
<?php if ($postcount <= 15 and has_post_thumbnail()) : ?>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php echo get_the_post_thumbnail( $post_id, 'thumbnail' ); ?></a>
<?php endif; ?>
1つ目の条件は、先ほど追加した$postcount
をチェックして、$postcount <= 15
で15件以下の場合に表示するように指定しています。
2つ目の条件は、WordPressの関数のhas_post_thumbnail() を使って、アイキャッチ画像が設定されているかチェックしています。
アイキャッチ画像の表示には、WordPressのテンプレートタグのget_the_post_thumbnail() を使います。
<?php echo get_the_post_thumbnail( $post_id, 'thumbnail' ); ?>
最終的にアイキャッチ画像を表示する部分のソースコードは以下のようになっています。これが一番効率の良いやり方なのかはわかりませんが、ご参考までに。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php $postcount++; ?>
<div <?php post_class( 'title-set' ); ?>>
<div class="title<?php if ($postcount <= 15 and has_post_thumbnail()) : ?> has-thumb<?php endif; ?>">
<?php if ($postcount <= 15 and has_post_thumbnail()) : ?>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php echo get_the_post_thumbnail( $post_id, 'thumbnail' ); ?></a>
<?php endif; ?>
<p class="category"><?php the_category('、') ?> | <?php the_time('Y.m.d') ?></p>
<h3><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
</div>
</div>
...
以上、WordPressの記事一覧に、件数を指定してアイキャッチ画像を表示する方法でした。こういったことが簡単にできて、WordPressって便利ですね〜。
WordPress関連の記事
よかったら他のWordPress関連の記事もどうぞ
- WordPressの投稿をカレンダー表示できるプラグイン、Editorial Calendarが便利
- WordPressで投稿日時を○日前と表示する方法
- 年末だし、WordPressのバックアップとローカル環境への復元
- WordPressでレスポンシブ・イメージの自動化を可能に。RICG公認プラグインが公開
- HTML5やCSS3のサポート状況を簡単に記事に挿入できる「Can I use…」のWordPressプラグインが便利
- WordPress 4.4からデフォルトで実装されたレスポンシブイメージってどうなのよ?
- WordPress 4.4以降でのレスポンシブ・イメージ・プラグインはどうなるの?
- WordPressで同じタグをつけた記事のリンク一覧を表示させるショートコードを作ってみた
- WordPressの過去記事を自動でSNS投稿してくれる「Revive Old Post」の文字化け解消方法
- WordPressデータベースの復元の際、wp_commentmetaでエラーが出る件
- WordPressの投稿にURLだけでYouTube動画を埋め込む際のHTMLをカスタマイズする方法
- WordPressの投稿でSVG画像を使えるようにしても、OGPやTwitter Cardsで対応してなかった件
- さくらのレンタルサーバー上のWordPressの常時SSL化でハマりまくったのでシェアしておきます
- WordPress 4.9.9でSVGがアップロードできない!原因と応急処置
- WordPressデータベース復元の際にphpMyAdminで「Incorrect format parameter」エラーが出た時の対処法
- Local(macOS)のSSLのFirefoxの警告を回避する方法
2016年5月9日に公開され、2017年2月25日に更新された記事です。
About the author
「明日のウェブ制作に役立つアイディア」をテーマにこのブログを書いています。アメリカの大学を卒業後、ボストン近郊のウェブ制作会社に勤務。帰国後、東京のウェブ制作会社に勤務した後、ウェブ担当者として日英バイリンガルのサイト運営に携わる。詳しくはこちら。
ウェブ制作・ディレクション、ビデオを含むコンテンツ制作のお手伝い、執筆・翻訳のご依頼など、お気軽にご相談ください。いずれも日本語と英語で対応可能です。まずは、Mastodon @rriver@vivaldi.net 、Twitter @rriver 、またはFacebook までご連絡ください。