【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バージョン更新時にファイルに上書きされるので更新の度に再度行う必要があります。


\ Webデザインに関するお役立ち情報を定期的に配信中 /

Follow @webclips_jp

RecentPosts
  • 無料で使えるフリーイラスト素材サイト54選(商用利用可)
  • 【2023年9月版】WordPress対応のおすすめレンタルサーバー比較 ( 初心者向け )
  • イラスト素材サイト「イラストAC」の使い方
  • ConoHa WINGでWordPress(ブログ)の始め方を解説 -初心者向け-
  • WordPressの使い方を分かりやすく解説 -初心者向け-
WordPress対応! 初心者におすすめのレンタルサーバー特集
PopularPosts
  • 無料で使える日本語・英語のかわいいフリーフォント20選
  • 無料で使えるフリーイラスト素材サイト54選(商用利用可)
  • 漢字が使える日本語フリーフォント97選(商用利用可)
  • フォントを調べる時に役に立つツール・サイト10選
  • 無料で使えるおしゃれな英語の筆記体フリーフォント20選