WordPress のホームページで投稿の抜粋だけ、またはタイトルだけを表示する一般的な方法はいくつかあります。どれを使うべきかは、どの程度の制御が必要か、そしてテーマを編集したいかどうかによって決まります。
1. More タグを使う
もっとも簡単な解決策は、ホームページで全文表示を止めたい位置に WordPress の more タグを挿入することです。
<!--more-->
テーマがアーカイブまたはホームページのテンプレートで the_content() を使っている場合、WordPress はこのタグより前の内容だけを表示し、全文を読むためのリンクを追加します。
この方法は、記事ごとに区切り位置を手動で決めたい場合に便利です。
2. 抜粋を手動で設定する
WordPress には組み込みの抜粋フィールドもあります。投稿エディターで抜粋ボックスが非表示になっている場合は有効にし、短い要約を手動で書きます。
手動で書いた抜粋は、自動生成されたものよりも優れていることが多いです。簡潔で読みやすく、ホームページやアーカイブページ向けに意図して書けるためです。
これを機能させるには、テーマが関連するテンプレートで、the_content() による全文表示ではなく the_excerpt() による抜粋表示を使っている必要があります。該当するテンプレートには、index.php、home.php、archive.php、またはそれらのファイルで使われるテンプレートパーツなどがあります。
一般的なテーマループでは、次のように書くことがあります。
<?php the_excerpt(); ?>
次の代わりに使います。
<?php the_content(); ?>
3. 自動抜粋を使う
すべての投稿について手動で抜粋を書きたくない場合は、記事の冒頭から自動的に抜粋を生成できます。
Easy Custom Auto Excerpt のようなプラグインを使うと、この動作を実現できます。通常は、抜粋の長さ、「続きを読む」テキスト、抜粋を表示する場所も制御できます。
テーマファイルを編集したくない場合には実用的な選択肢ですが、プラグインへの依存が一つ増えます。抜粋プラグインを有効にした後は、ホームページ、カテゴリーページ、タグページ、検索結果を確認し、出力に一貫性があることを確かめてください。
4. ホームページにタイトルだけを表示する
目的が投稿タイトルだけを表示することであれば、テーマのループを編集し、タイトルを出力して本文または抜粋の出力を削除します。
最小限のループ項目は次のようになります。
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2 class="entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h2>
</article>
テーマを直接変更する前に、子テーマを使う方がよいでしょう。そうしないと、テーマの更新によって変更が上書きされる可能性があります。
クイックチェック
変更後、次のページを確認してください。
- ホームページ
- カテゴリーアーカイブ
- タグアーカイブ
- 検索結果
- 個別投稿ページ
個別投稿ページでは引き続き記事全文が表示され、ホームページとアーカイブページでは意図したデザインに応じて抜粋またはタイトルだけが表示されるべきです。
