【WordPress】読了時間を表示する方法

【WordPress】読了時間を表示する方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

こんにちは!たぬきうどんです!

私は2018年に非IT業界から未経験でエンジニアに転職し、現在までエンジニアとして働いています。

この記事ではWordPressのブログに読了時間を表示する方法を解説しますので、ぜひ最後まで見ていただけると嬉しいです。

はじめに

自分の記事に読了時間を表示したい!と思ったことはありませんか?

私自身、読了時間が表示されている記事は、読了時間が記事を読む際の目安となってくれるため、読了することが多いです。

そのため個人的には、読了時間の表示は読者離脱防止策の一つだと思います。

じゃあどうやって読了時間を表示すればいいのか?

読了時間を表示する有名なプラグインについては以下のようなものがあります。

  • Insert Estimated Reading Time
  • Reading Time WP

ただどちらのプラグインも1年以上アップデートが行われておらず(2021/12/16現在)、あまり使いたくない…。

ならば実装だ!

今回紹介する方法はHTMLやPHPが少しわかる方であれば、そこまで難しい方法ではないため、ぜひ挑戦してみてください。

実装方法

この記事執筆時点の当ブログの環境は以下です。

  • WordPress バージョン 5.8.2
  • PHP バージョン 8.0.13

1. 文字数カウント機能と読了時間計算機能を実装する

functions.phpに文字数カウント機能と読了時間計算機能を実装します。

注意

記述をミスするとサイトアクセス不可になるので、編集時はご注意ください!

functions.phpの編集方法は

  • 管理画面から編集する
  • FTPソフトやWordPressがインストールされているサーバーにSSH接続等でアクセスし、直接ファイルを編集する

等があります。

ただ直接ファイル編集する方法が、構文ミス等時に対応が可能になるので、直接、functions.phpファイルを編集するほうがいいでしょう。

functions.php
// 文字数カウント関数
function count_content_words() {
  $content = get_the_content();
  $text = strip_tags(strip_shortcodes($content));
  
  return mb_strlen($text);
}

// おおよその読了分数計算関数
function get_time_to_finish_reading() {
  // 一分間に読める文字数を500文字とする
  $number_of_characters_per_minute = 500;
  return round(count_content_words() / $number_of_characters_per_minute);
}

人が1分間に読める文字数は400~600文字と言われているので、今回は1分間に500文字を読むと仮定して計算を行い、おおよその読了分数を算出するようにしています。

また、個人的には文字数カウント処理と読了分数計算処理は分けたかったので分けていますが、一つにまとめてもいいでしょう。

2. 好きな場所に読了時間を表示する

あとは好きな場所で以下のように表示させてあげれば完成です!

HTML
<spna>読了時間: <?php echo get_time_to_finish_reading(); ?>分</sapn>

個人の好みやテーマによって表示場所が変わってくると思うので、これ以上の詳しい説明は行いません。

最後に…

以上がWordPressのブログに読了時間を表示する方法でした。

読了時間表示機能を実装し、記事に読了時間を表示することで読者の目線に沿った優しい記事にすることができます。

少しでも読者の離脱防止に役立てていただければ幸いです!

最後まで読んでいただきありがとうございました!

コメントを残す

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