WordPressで<!–more–>でくくるとリストの本文はそこで切れ、「続きを読む→」というリンクが現れます。これをリンクすると記事本文へとび、<!–more–>のところを頭出しした状態で表示されるで、確かに「続き」であることは間違いないですが、知らないと中途半端に表示された様に見えてびっくりします。そこで、WordPressで<!–more–>のリンクを本当に続きではなく記事先頭にする方法です。

もしかしたら設定でエンドユーザーが簡単にできたりするのかもしれませんが、WordPressのリンク作成部分に直接手を入れるブログ管理者向けの方法です。複数のユーザーを管理する管理者の方は、皆に影響する部分なので注意が必要です。

WordPressのバージョンにもよるのかもしれませんが、テキストエディタ等で「#more-」をGrep検索すると、wp-includes/post-template.phpで1ヶ所ひっかかります。<a href=”‘ . get_permalink() . “#more-$id\” class=\”more-link\”> とまさにリンクにアンカーをつけている部分なので、これを以下の通り編集して、サーバーにアップロードすれば完了です。

変更前

  <a href="' . get_permalink() . "#more-$id\" class=\"more-link\">

変更後

  <a href="' . get_permalink() . "#main\" class=\"more-link\">

#more-$idのところを#mainにしておくことで、今まで通り「続きを読む→」をクリックすると、そのページの本文の先頭にとぶようになります。<!–more–>の前半部分はそんなに長い文章ではないはずなので、タイトルや既読部分も出ていた方がエンドユーザーの戸惑いは少ないと思います。

ちなみに、サーバーの最新を取得したところ、WordPressのバージョンアップの影響だと思いますが、「#more-$id」のところが「#more-{$post->ID}」となっていましたが、探し方と変え方は特に違いありません。更新前には最新版をサーバーから取得することを忘れずに。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です