2014/12

12

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

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

Advertisement

Advertisement

最新記事
Facebook