今日の人気記事

  1. WordPressのマルチサイト機能で複数のサイトを管理(サブディレクトリ)

WordPressの「続きを読む」リンクから#more-xxxを消す方法

当ページのリンクには広告が含まれています。

スポンサーリンク

WordPressのデフォルト設定で「続きを読む」をクリックするとそのリンク先は記事のトップではなく、記事の続きです。これって便利なのでしょうか?私、個人的には非常に不便に感じます。不便どころか、リンクをクリックした瞬間、自分がどこにいるのか……訳がわからなくなります。

#more-xxxを消す設定

さて、「続きを読む」リンクから#more-xxxを消す方法を説明します。設定方法は2つあります。前者はfunction.phpに関数を追加する方法、後者はpost-template.phpを直接編集する方法です。後者はWordPressのバージョンアップ時に上書きされてしますので、前者をおすすめします。

①function.phpに関数を追加

function.phpファイルに関数を追加します。

function custom_content_more_link( $output ) {
    $output = preg_replace('/#more-[\d]+/i', '', $output );
    return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );

②post-template.phpを編集

wp-includes/post-template.phpを編集します。

サーバー上にある wp-includes/post-template.php ファイルをFTPダウンロードします。念のため、バックアップを作成します。

$ cp post-template.php post-template.php.org

次に wp-includes/post-template.php ファイルから #more-{$post->ID} を削除します。

// wp-includes/post-template.php の抜粋
$output .= apply_filters( 'the_content_more_link', ' ID}\" class=\"more-link\">$more_link_text", $more_link_text );

diff をとると下記のようになります。

$ diff post-template.php post-template.php.org 
217c217
< 				$output .= apply_filters( 'the_content_more_link', ' $more_link_text", $more_link_text );
---
> 				$output .= apply_filters( 'the_content_more_link', ' ID}\" class=\"more-link\">$more_link_text", $more_link_text );

以上で、「WordPressの「 続きを読む」リンクから#more-xxxを消す方法」の紹介は終了です。

関連記事(一部広告含む)