毎日モザイク

White Room Layout Works

2009-10-25T00:28:52+09:00 [Sun]
--> [WordPress]

wordpress more link俺メモ。

wordpressで、<!–more–>タグのリンク先のアンカーを取っ払う方法。

More Link Modifierでやるのが簡単だし、自動アップグレードしたときにも、ファイルの変更をしなくて済むので一番簡単。

wordpressの出力をいじるプラグインは、DBから拾ってきたデータを検索&置換でいじるんで、他のプラグインが既にいじったデータをさらにいじるような使い方をすると、思ったように動作しなくなることがあったりします。

MD Comics Neoのページ(※注 アダルトコンテンツ)はそうなっちゃったんで、仕方ないので、本体ファイルを……。

/* wordpress2.8.5 wp-includeds/post-template.php 221行目から */
	if ( count($content) > 1 ) {
		if ( $more ) {
			$output .= '<span id="more-' . $id . '"></span>' . $content[1];
		} else {
			if ( ! empty($more_link_text) )
				$output .= apply_filters( 'the_content_more_link', ' &lt;a href="' . get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>", $more_link_text ); //ここ
			$output = force_balance_tags($output);
		}

	}
/* 変更箇所 */
$output .= apply_filters( 'the_content_more_link', ' &lt;a href="' . get_permalink() . "\" class=\"more-link\">$more_link_text</a>", $more_link_text ); // #more-$id を消す。

と、変更しました。

<!–more–>は「続きを読む」ですから、<!–more–>の直後にアンカーが打ってあるのが、動作としては正しいんですが、短いブロックしかないページで、途中からの表示はちょっとウザいので、このように変更しました。

っていうか、元々やってたんですが、本体ファイルを変更して対応していたのを忘れてアップグレードしちゃったもんで、変更したファイルが上書きされて……。

今度は忘れないように、こちらにメモ。