more-link の #more-xxxx を削除する

WordPress の more-link には URL の後ろに #more-xxxx が含まれるため、以前は wp-includes/post-template.php を直接修正して #more-xxxx を付加しないようにしていました。
WordPress 2.8.x からは "the_content_more_link" フィルタが追加されたので、more-link の #more-xxxx を削除するのは簡単になりました。
以下のようなコードをテーマの functions.php に追加するだけで実現できます。

<?php
// #more-$id を削除する。
function custom_content_more_link( $output ) {
	$output = preg_replace('/#more-&#91;\d&#93;+/i', '', $output );
	return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );
?>

コアソースを書き換えちゃうと、アップデートが面倒になるので、できるだけフィルタフックやプラグインを使用してカスタマイズするように心がけましょう。
大抵のことは、コアソースを弄らずともできます。

追記:
すでに WordPress Codex にも乗っているテクニックだそうです。
# @ounziw 情報ありがとうございます。
「続きを読む」のカスタマイズ – WordPress Codex 日本語版

more-link の #more-xxxx を削除する」への5件のフィードバック

  1. ピンバック: moreタグでURL末端に付く #more-xxxx を削除する | oki2a24

  2. ピンバック: WordPressを新規に設置したときにやったこと | ヒデの日記

  3. ピンバック: WordPress初期手順 | 松本たちの実験場

  4. ピンバック: #moreを吐き出さないようにする。 « ビボ〜log

  5. ピンバック: WordPressの「続きを読む」リンクから #more を削除する | Web部活メモ帳

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください