【WordPress】続きを読むのリンクURLから#moreを削除する

WordPressの投稿時に抜粋と本文を<!–more–>で分けて、記事一覧では抜粋表示にし「続きを読む」のリンク先で全文または、本文を表示されるようにしてると思いますが、記事一覧で「続きを読む」をクリックした先のURLに#more-10(数字は記事ID)が付くのが気になる方いますよね?…自分もその1人です。というわけで忘れないようにメモ。

クリックした先のURLに付く#more を削除する

リンク先URLから#moreを削除する方法は、テーマのフォルダにある「functions.php」に以下のコードを追加するだけです。管理画面の外観→エディターからfunctions.phpを選択してコードを追加することもできます。functions.phpはバックアップをとってから行って下さい。

functions.php
// リンク先URLから#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');

記事一覧の「続きを読む」の表示を削除する

ついでに「続きを読む」の表示自体を削除する事があったのでメモ。「続きを読む」の表示を削除するにはwp-includesフォルダ内にある「post-template.php」の290行辺りにある以下のコードをコメントアウトか削除します。post-template.phpはバックアップをとってから行って下さい。

post-template.php(修正前)
$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );
post-template.php(修正後:コメントアウト)
/*$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );*/
これで記事一覧から「続きを読む」が削除されたと思います。尚、post-template.phpの編集についてはWordPressバージョン更新時にファイルに上書きされるので更新の度に再度行う必要があります。


PICK UP
RELATED POSTS
  • 導入しておきたいWordPressのおすすめプラグイン
  • WordPress向けのおすすめレンタルサーバー【初心者向け】
  • WordPressのエディタを前のエディタに戻すプラグイン「Classic Editor」
  • WordPressのおすすめテーマ19選【無料版・有料版】
  • 【WordPress】ページナビゲーションを簡単に設置できるWP-PageNavi
  • 【WordPress】パーマリンクの設定はどうしたらいいんだろ?
POPULAR POSTS
  • 長いURLを短くするオススメの短縮URLサービス
  • 無料で使えるおしゃれな英語の筆記体フリーフォントまとめ
  • 漢字が使えるおすすめの日本語フリーフォントまとめ
  • CSSグラデーションの作成に役立つジェネレーター・Webサービスまとめ
  • CSSで実装するボタンデザインとホバーエフェクトのアイデア
RECENT POSTS
  • hulu (フールー)で観れるおすすめの海外ドラマ・国内ドラマ【2019年8月版】
  • プライス・値段表示などに使えそうな英数字フォント13選
  • 無料で使えるレトロ・ヴィンテージな雰囲気の英語フォントまとめ
  • Photoshopで簡単に背景を伸ばすテクニック
  • CSSで作成する吹き出しとデザインのアイデア