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', ' <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', ' <a href="' . get_permalink() . "\" class=\"more-link\">$more_link_text</a>", $more_link_text ); // #more-$id を消す。
と、変更しました。
<!–more–>は「続きを読む」ですから、<!–more–>の直後にアンカーが打ってあるのが、動作としては正しいんですが、短いブロックしかないページで、途中からの表示はちょっとウザいので、このように変更しました。
っていうか、元々やってたんですが、本体ファイルを変更して対応していたのを忘れてアップグレードしちゃったもんで、変更したファイルが上書きされて……。
今度は忘れないように、こちらにメモ。