WordPress [続きを読む]の設定 投稿時に自動的に記事を抜粋表示する
2013/03/06
WordPressでブログを作る場合、moreタグを入力しない限り記事が全文表示されてしまいますので、毎回moreタグを入力しなくても抜粋表示し『続きを読む』で個別記事を表示する方法を説明します。
使用するテーマによって異なりますが、ほとんどの場合これから説明する方法でトップページで記事の抜粋表示が可能になるのではないかと思います。
これ以外にも記事を抜粋表示させる方法はあると思いますが、実際に自分で設定してみてWordPress初心者にとって一番簡単ではないかと思う方法で解説します。
まずは、テーマディレクトリ内(「wp-content」の中の「themes」の中の自分が有効化しているテーマ内)の「content.php」の41行目付近の
the_content
この部分を、
the_excerpt();
に書き換えます。
「content.php」自体が存在しない場合は、「続きを読む」を表示させたいページのファイル(index.phpなど)の
<?php the_content(__('more')); ?>
部分を
<?php the_excerpt(__('more')); ?>
に書き換える。
これだけです!
これだけで、ブログ記事一覧ページは抜粋表示に変更されます。
(その記事の始まりが画像の場合はその直後のテキスト部分が抜粋されます。)
初期設定で抜粋文字数は110文字表示されるので、変更したい場合はWordPressインストール時に最初からインストールされているプラグイン「WP Multibyte Patch」を編集します。
管理画面からプラグインを表示し「WP Multibyte Patch」の編集をクリックすると、32行目付近に
'excerpt_mblength' => 110,
と書かれていると思います。
この「110」というのが抜粋表示される文字数なので、これを変更します。
150文字抜粋したいのなら「110」を「150」に変更して保存すれば150文字抜粋されます。
ここまででほとんどやりたかった事は実現できているかと思います。
ですが、このままでは、抜粋部分以降が「…」という表示になっていますので、「続きを読む」や「本文へ」などに変更したい場合はテーマディレクトリ内(「wp-content」の中の「themes」の中の自分が有効化しているテーマ内)の「functions.php」に以下のコードを追加するだけです。
追加する場所は最初の<?php から最後の ?>の間であればどこでも大丈夫です。
function new_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'new_excerpt_more');
この「return」の後にあるシングルクオート(’)で囲まれた部分が表示されるようになります。
この部分を変更したい場合は、上記のコードを編集します。
function new_excerpt_more($post) { return '<a href="'. get_permalink($post->ID) . '">' . '続きを読む' . '</a>'; } add_filter('excerpt_more', 'new_excerpt_more');
これで、抜粋表示の後の「…」が「続きを読む」に変わります。
以上で、投稿時に自動的に記事を抜粋表示し、その後に「続きを読む」を表示する設定は完了です。
WordPress初心者の方でも10分~15分程度で設定できるのではないでしょうか。
簡単ですね!
僕自身、まだまだWordPress初心者なので、間違いがあればご指摘頂けると幸いです。