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を消す方法」の紹介は終了です。