WordPressで運営している別のサイトで、記事の途中に moreタグ(<!–more–>)を挿入したところ、「続きを読む」ではなく「(さらに…)」って表示されてしまいました。
テーマを作成するときに、「(さらに…)」などと指定した覚えがなかったので、正直「なんで?」って感じでした。
これを変更する方法と、その原因について書いておこうと思います。
moreタグの表示が (さらに…) になってしまう
任意の文字に変更する方法
リンクのテキストを変更する方法は、主に2つあります。
- テーマを編集する方法
- 翻訳ファイルを変更する方法
前者の場合は、配布されているテーマを利用している場合は、テーマの更新があると上書きされてしまいます。
後者の場合も、WordPressの更新などによって上書きされる可能性があります。
ただ、どちらかと言えば、前者の「テーマを編集する方法」をオススメします。
テーマを編集する方法
カテゴリテンプレート(category.php)や、メインインデックスのテンプレート(index.php)の中に、
<?php the_content(); ?>
と書かれた部分があると思います。
テーマによっては、他のphpファイルに書かれている場合もあります。
これを
<?php the_content('続きを読む...'); ?>
のように変更することで、表示されるリンクのテキストを「続きを読む…」に変更することができます。
シングルクオーテーションで囲まれた「続きを読む…」の部分を任意の文字に変えることで、好きなテキストを表示させることができます。
翻訳ファイル(ja.po)を編集する方法
WordPressでは、システムの中で使われる英語のテキストを日本語表記にするための翻訳ファイル(ja.po)があります。
このファイルがあるのは「wp-content/languages」フォルダ。
試しに、ja.poファイルの中を「さらに」で検索すると、
#: wp-includes/post-template.php:231 msgid "(more…)" msgstr "(さらに…)"
と書かれた部分を発見できます。
つまり、英語で「(more…)」と表示されるテキストを、日本語版WordPressでは「(さらに…)」と変換して表示しています。
これを好きな文字列に変更すれば良いのですが、「ja.po」だけではなく、そのpoファイルから作成される「ja.mo」というファイルを変更する必要があるようです。
このファイルを作成するには、poedit というツールを使えばできるようですが、ここでは割愛します。(試していないので)
なぜ、(さらに…)が表示されるのか?
テーマで設定していないことが原因
先述したとおり、テーマの中で本文を読み込む the_content(); で、好きなリンク文字列を指定することができます。
特にテーマで指定されていない場合は、WordPressの標準テキストである「(more…)」が表示されるのです。
しかも、日本語版WordPressでは「(more…)」が日本語に変換されて、「(さらに…)」と表示されてしまうわけです。
コメント