2017/10/20

ワードプレス【WordPress】のmoreタグが途中から表示されるのを最初から表示に変更

WordPress(ワードプレス)で文章の途中から「続きを読む」を表示させるためのタグ【more】ですが、そのままでは文章の最初から表示されません。そんなmoreタグを自身でカスタマイズし、記事の最初から表示させるように変更する方法を説明。

moreタグの使い方

moreタグはその名の通り、記事に「続きを読む」を表示させるためのものです。お使いのワードプレスのテーマによって、「続きを読む」だったり「 (さらに…)」だったりします。

記事編集画面では

このボタンをクリックすると、—– MORE —–が書き込まれ、その続きの文章から見れるリンクが追加されます。

でも、記事って基本的に最初から表示されたほうが見やすいですよね?

functions.phpに処理を記述

ある程度、ワードプレスに使い慣れている人なら、functions.phpを書き換えるのがおすすめです。

プラグインを導入する場合、複数のプラグインがかみ合わず、不具合を起こしたり、1つ1つは軽いデータでも入れすぎることで、ページ表示の速度が遅くなったりもするので、簡単な処理はプラグインを使わず、WordPressのテーマの機能として追加するほうがおすすめです。ただし、functions.phpを書き換えるときに、誤って必要なものを削除してしまったら、ページが真っ白になり、修復が大変になる場合もあるので必ずデータを退避するなり、自己責任でお願いします。

moreをTOP表示に変更するコードを追加する

function.phpに直接コードを追加します。

// more をトップから表示する
function remove_more_jump_link($link) {
    $offset = strpos($link, '#more-');
    if ($offset) {
        $end = strpos($link, '"',$offset);
    }
    if ($end) {
        $link = substr_replace($link, '', $offset, $end-$offset);
    }
    return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

funciton.php管理画面のサイドメニュー→外観→テーマの編集→テンプレートの中のテーマのための関数(function.php)をクリックして、コードを追加してファイルを更新。

もしくは、ftpサーバーからwp-content→themes→自分の使用しているテーマ→function.phpがあるので、ローカルにダウンロードして、コードを追加、再度同じ場所にアップ。

書く場所は一番下の?>の上に書いておけば問題ないでしょう。

実際に動作を確認して、「続きを読む」をクリックしてみてください。ページの最初から表示になっていると思います。