ちょっとタイトルがわかりにくくなってしまったので、まずは最初に説明を。

ワードプレスは記事の中で「<!–more–>」と記述するとそれ以前がトップページに表示されて、それ以降は「Read More」などのリンクをクリックして個別記事に移動するする事ですべての内容を表示させる事ができます。

この仕組みはほとんどの場合「the_content」というコードが使われていて、このコード1つで上記した「<!–more–>」以前のテキスト表示とRead Moreリンクを出力してくれます。

※テーマによってはthe_contentを使っていな事も多々あるので、すべてのテーマがこういう仕様ではありません。

the_contentの使い方
<?php the_content( '続きを読む!' ); ?>

引数を指定すればRead Moreのテキストを設定できます。

<?php the_content(); ?>

Read MoreとかMoreとか、テーマ作者が設定したテキストで表示されます(設定されてない場合はワードプレスで決められた表示)

このthe_content、とても便利なんですが個人的に1つだけあまりよろしくないと感じる仕様があって、続きを読むリンクをクリックしたときに記事ページの途中(<!–more–>の位置)まで自動で移動してしまうことです。

「/categoryname/post/#more-100」のように#more-100の部分が自動挿入されるので、<!–more–>を記述した位置に出力される「<span id="more-100"></span>」まで飛ばされます。

「続きを読む」んだからそれでいい!と言われてしまうとそうなんですが、トップページにある記事内容をすべて読んでからリンクをクリックするユーザーは少ないと思うので、それをすべて読んだ前提で続きまで移動させてしまうのはどうかと思いますし、SEOの面から見ても#more-100あり・なしで被リンク効果が分散される可能性もゼロではなく(以前ほど心配する必要はありませんが1つの方がが望ましい)、リンクを貼ってくれるブロガーさんがいた場合にもどっちか一方でリンクを貼られる事になります。

という事で前置きが非常に長くなってしまいましたが、この#more-100部分を付属させることなく続きを読むリンクを出力させる方法の紹介です。

以下の2つの方法があります。
プラグインで簡単に実現できるんですが、可能ならプラグインを使わない方が推奨です。

テーマファイルを書き換える

上記しましたがthe_contentは「<!–more–>までのコンテンツの表示」と「記事へのリンク(#more-100付)」の2つの役目を果たしてくれます。

まずは「<!–more–>までのコンテンツの表示」だけにしてしまいましょう。
<?php the_content(); ?>を以下のように書き換えます。

<?php the_content('',FALSE,''); ?>

こうすると続きを読むのリンクが表示されず、コンテンツ表示のみ出力されます。

次は続きを読むリンクを出力します。

<a href="<?php the_permalink() ?>" class="more-link">続きを読む &raquo;</a>

これで#more-100なしのリンクが出力されます。
「続きを読む »」の部分はお好きなテキストに変更してお使い下さい。

2つ続ければthe_contentと同じ役目を果たしてくれます。
こうです。

<?php the_content('',FALSE,''); ?>
<a href="<?php the_permalink() ?>" class="more-link">続きを読む &raquo;</a>

目次に戻る

プラグイン「Custom More Link Complete」を使う

「Custom More Link Complete」というプラグインを使うとファイルを書き換えることなく実現できます。
設定やインストールはこちらの記事「ワードプレスプラグイン「Custom More Link Complete」のSEOにいい初期設定」をご覧下さい。

目次に戻る