インターネットやコミュニケーションの話題を中心に、思ったことをつらつらと書いていくブログです。

Wordpress の「続きを読む」のリンク先に #more をつけないようにする方法

このやり方は WordPress のコアファイルをいじるのでおすすめできません。こちらを参考にしてください。
» more-link の #more-xxxx を削除する : dogmap.jp

Wordpress のテンプレートの多くは
メインインデックスのページで「続きを読む」を吐き出すようになっている。

具体的には、メインインデックスのテンプレートで
記事本文を吐くところを

あるいは

などとしておいて、
記事を投稿するときに
<!--more-->
というタグを入れておけば
その部分に「続きを読む」というリンクが表示されて
そこをクリックしたら個別記事に飛んで全文が読めるというもの。

インデックスページを「記事の一覧+出だし」だけにしたい場合には
このやり方が便利なんだけど、ひとつ困ることがある。

ここで吐き出される「続きを読む」のリンクが
個別記事へのパーマリンクに

#more-xxx

というページ内リンクがついたものになってしまう点。
xxx のところは何か数字ね。

これだと確かに続きのところから表示されるけど、
個別記事の URL が #more つきとそうでないのと2つあることになって
リンクが分散してしまうから
検索とかブックマークとかの都合でいろいろよろしくない。

というわけで「続きを読む」のリンクに
#more をつけないようにする方法を。

この「続きを読む」を吐き出す
the_content() というテンプレートタグは
/wp-includes/post-template.php
に書かれているようなので、これをちょっと修正。

このファイルで「#more」を検索すると
手元のバージョン (2.7) だと 221 行目あたりに

という部分があるので、この
#more-$id
の部分を削除する。

あとはこのファイルを上書きすれば、
#more-xxx なしのリンクが吐き出されるようになると。

No more #more.

関連エントリ

トラックバック

コメント

2009年03月15日 01:10

WordPressに限らずコアファイルはいじらない方がいいですよ!
自分のサイトで同じ動作をさせるプラグインを公開しています。プラグインとして使えばWordPressのバージョンアップにも対応できるので、もしよかったら使ってみてください!