WordPress の記事抜粋

以前は「抜粋を自分で書く」オプションがあったのに、このバージョンではなくなったのかな、と思ったけど、ちゃんとありました。ダッシュボードの「表示オプション」で「抜粋」にもチェックを入れればいいだけ。ここの入力しておけば適当なところで自動的にちょん切られるのを回避できる。
自動的に切れるまでの文字数の設定は子テーマの function.php に自分の設定を追加することで変更できるけど、日本語だと単語じゃないところで切れちゃうので、なんか落ち着かない気がする。自動であるのは便利だけど、時には冒頭ではなく、全体のまとめを「抜粋」にしたいときもあるし。
抜粋の種類
少し検索してみたら、WordPress の「抜粋」とその表示はけっこう複雑な構造になってることがわかりました。WordPress Manual Excerpts, Automatic Excerpts, and Teasers (More Tag) がこのあたりのまとめとしてよくわかったので、一部を引用すると、こんなところです。
- 記事の「さわり」を見せる方法は3種類ある。手書き抜粋、自動抜粋、イントロ表示(記事の途中に <!–more–> タグを入れることによって後半を切る、Teaser)。
- WordPress では抜粋を表示するために the_excerpt() という function が用意されている。
- この function の動作は条件によって変化する。まず「手書き抜粋」があるかどうか探す。あればこれを表示するが、末尾に省略記号はつけない。「手書き抜粋」は HTML タグが許容されていれば、これもそのまま表示される。
- 手書き抜粋がなかったとき、本文を読みに行き、その内容を指定された文字数だけ取得する。これが自動抜粋である。このとき get_the_excerpt() function が呼ばれる。
この「抜粋」(excerpt) は、RSS での出力内容(全文でない場合)と兼用です。
抜粋の表示のされかた
この抜粋のテキストがさらにスクリプトで加工されて最終的な表示になるので、「続きを読む」とか「記事を読む」とかはそのへんで追加されています。(参考リンク ― WordPress テーマの作り方 » 抜粋を表示する)。
現在、Iconic One というテーマをカスタマイズして使っているのですが、手動で作成した「抜粋」があると、「続きを読む」のリンクが作成されないんですね。そりゃそうか。冒頭を一定の長さのところで切ったわけじゃないので、本文は「続き」じゃないもんね。
でも、本文はもっと長いぞ、という表示がないと、まるでこれで全文みたいに見えちゃうのがよろしくない。このテーマはタイトル部分のリンク色が目立たないこともあって、どこにもつながらずにこれで終わりみたいに見えなくもない。抜粋末尾に「記事を読む」というリンクをつけないと。というわけで、いろいろ試行錯誤ののち、子テーマの content.php を編集して、「手書きの抜粋があったときは、その後に本文を読むというリンクをつける」というように変更。
手書き抜粋は入力画面がデフォルトでは表示されないし、テーマの対応も自動抜粋優先なのは、手書き抜粋はすでにレガシー扱いということかな。
抜粋とイントロ表示、表示の違い
最初の一覧ページでの表示を the_excerpt() じゃなくて the_content() を使用して、それぞれの記事に <!– more –> タグを入れるという書きかたについては、「冒頭だけ見える」という意味では似ていても、別のテンプレートタグであるだけに、抜粋のときとは表示結果がまったく違ってくることが多く、意識して使い分けしたほうがよさそうです。テンプレートによって非常に扱いがばらつくのが「アイキャッチ画像」(featured image)で、「抜粋」だとアイキャッチ画像のみ、「イントロ表示」だと本文の冒頭に画像があればそれを表示し、テーマの設定によってはさらに本文タイトル上にアイキャッチ画像も表示されます。
見ばえのために本文トップに画像を入れても「抜粋表示」だと見えません。反対に、記事作成のときに抜粋優先でアイキャッチ画像を設定しておくと、抜粋では画像が見えるけど、「イントロ表示」では見えません。両方の画像を入れておくと、意図しない表示になりがちです。
記事の内容そのものに関連してくる「抜粋」や「イントロ表示」が、どのテーマを使うかということに左右されるのはちょっと困るのですが、WordPress が非常に柔軟に「かなりの程度までやりたいことをやらせてくれる」のは確かなので、あんまり文句も言えませんね。
Thank you for reading!




現時点での投稿時の方針としては、記事本体に大きい画像が入るときは、その画像のサムネイルを作成してアイキャッチ画像に、記事本体に画像がないときは内容にあったサムネイル画像をみつくろってアイキャッチ画像にするとともに、記事本文の冒頭にも入れる、というふうにやっています。
サムネイル画像を入れるのは、以前から「次に新規で WordPress をインストールしたらやりたい」ことだったので、あんまり必要ないかもしれないけど入れてみています。サムネイル画像のストックを作っておくとよさそう。
抜粋は必要に応じて「手書き」にしていこうと思います。