WordPressの記事の内容を「だいたい何分で読めるか?」がわかるようにするカスタマイズ方法の紹介です。
目次
主な手順
目安時間を表示するための、主な手順はこちら。
- functions.phpに時間取得関数追加
- テンプレートで関数の呼び出し
コピペのみで実装できるかと思います。
functions.phpに時間取得関数追加
まずは、テーマ(子テーマ)のfunctions.phpに以下の関数をコピペします。
//本文を読むのにかかる時間 function get_time_to_content_read($content){ $count = mb_strlen(strip_tags($content)); if ($count == 0) { return 0; } $minutes = floor($count / 600) + 1; return $minutes; }
上記は、「読む時間」を計算する関数です。
大体、平均的な日本人の読むスピードが「1分間に600文字」ということから算出しています。
日本人の3人に2人は、読書スピードは400文字~800文字/分の範囲にあることが分かっています。平均読書スピードは毎分600文字で、文庫本1ページの平均文字数が約600文字(古い文庫本には800文字ほどのものもあります)ですから、1分間に1ページを読んでいる、というスピードになります。
参考 速読の理論 あなたの読書スピードと、日本人平均値の関係
いろいろなサイトを調べてみても、だいたい「平均1分間に600文字」と書かれていたので、それを採用しています。
テンプレートで関数の呼び出し
あとは、「目安時間」を表示させたいテンプレートの箇所に以下のコードをコピペで挿入します。
<div class="read-time"> <?php echo sprintf('この記事は約%s分で読めます。', get_time_to_content_read(get_the_content())); ?> </div>
こちらでは、get_time_to_content_read関数に本文を渡して、返り値として「読む目安時間(分)」を取得し、出力しているだけです。
動作確認
あとは、挿入したコードが表示されるページを開けば、以下のように表示されます。
まとめ
こんな感じで、「本文を読む時間の目安」を表示することができます。
ただ、今回は「時間表示」機能に絞ってコードを書いたので、余計な装飾はありません。
今回のカスタマイズに、HTMLタグ、CSSでの装飾、アイコンフォントを追加すれば、以下のように見た目を変更することも可能かと思います。
記事の冒頭に読む時間が表示されていれば、その時間で読む余裕がある人は「読んでみようかな」と思ってくれるかもしれません。