time 2017/10/17
使っているテーマによって違うとは思いますが、WordPressは『<!–more–>』を入力しない限り記事を全文表示します。
「<!–more–>を入力しなくても、抜粋で表示して『続きを読む』で個別記事を表示する」という要望はけっこうあると思います。
というわけで、記事一覧を抜粋表示に変更する方法を紹介したいと思います。
僕のテーマは、『Twenty Eleven 1.2』を元に作ったので『Twenty Eleven 1.2』に合わせて説明します。
他のテーマを使用している方は、使用しているテーマに置き換えてお考えください。
それでは、やってみましょ。
PHPの『subStr関数』や『mb_strimWidth関数』を使用する方法もありますが、WordPressには『the_excerpt』という便利なテンプレートタグが用意されているので、今回はテンプレートタグを使用したいと思います。
(※日本語はマルチバイト文字なので、色々と不具合もでるみたいです。けど、『WP Multibyte Patch』プラグインを使用することで問題解決するらしいので、入ってない方はインストールしてくださいね!)
まずは、テンプレートタグを書き込みます。
テーマのディレクトリ内にある『content.php』の41行目付近に『the_content』があると思います。
この部分を、
the_excerpt();
に、書き換えます。
これで、個別記事以外は抜粋表示に変更されます。
基本的にはたったこれだけです。
抜粋箇所にある画像などは自動的に表示されなくなります。
とっても簡単ですよね><
さすがWordPressって感じです。
ちなみにデフォルトでは、110文字を抜粋して表示されるので、変更したい方は『WP Multibyte Patch』プラグインを編集します。
プラグインを表示し、『WP Multibyte Patch』の下の編集をクリックすると、
'excerpt_mblength' => 110,
と書かれていると思います。
この『110』というのが文字数なので、これを変更します。
50文字を抜粋したいのなら、『110』を『50』に変更し保存すれば50文字抜粋になります。
これもすごい簡単ですね><
『…』という文字を変更したい場合もとても簡単です。
使用しているテーマのディレクトリ内にある『functions.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。簡単に実装できちゃいます!!
コメント
1. WordPress <–!more–> を使った「続きを読む」をカスタマイズする方法 | Yasigani-ni Blog 2011 / 9 / 14 13:29
[…] 前回、自動的に記事を全文表示から抜粋表示にする方法を紹介したので、今回は<–!more–>を使った「続きを読む」のカスタマイズ方法を紹介しようと思います。 […]