WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

【WordPress】プラグインなしで投稿や固定ページの本文へ「読む時間」の目安を表示する方法

公開日:2015(平成27)年5月12日/最終更新日:

Knowledge Base Wordpress パソコン カスタマイズ 設定



【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています

最近よく見かけるページ先頭の「このページは○○分で読むことができます」とか「所要時間○○分」と言った訪問者がページを読むのにかかるおおよその時間の表示。何となくで見てはいたのですが、あったら読む側に便利なのかと思って実装してみました。

ひょっとしたらプラグインにこういうのがあるかもしれませんが、わざわざプラグインに頼ってサーバーに負荷をかけなくてもできることはコードを書いて実装したいので、いろいろ調べて以下のコードにたどり着きました。

WordPressでプラグインなしで記事やページの本文の直前に「読む時間」の目安を表示する方法

設置方法は簡単で、テーマのfunctions.phpの一番下あたりに以下のコードをコピペするだけです。

// 記事本文の前に記事文字数と読む時間を表示する
function countdown($content){
$count = floor(mb_strlen(strip_tags($content)) / 700) + 1;
return '<p class="countdown">このページはおおよそ '.$count.' 分で読むことができます。時間がないときは、お気に入りに登録するなどして後からゆっくりご覧ください。</p>'.$content;
}
add_action('the_content','countdown');

コードの途中に出てくる700という数字はおおよそ1分で700文字読めるかなという目安です。一般的には400~600文字らしいですが、自分でいろいろな記事を読んでみて700が適当だったのでこの値にしました。実装したら調整してみてください。

また、「このページはおおよそ」と「分で読むことができます。時間がないときは、お気に入りに登録するなどして後からゆっくりご覧ください。」の文字は自由に変更できますので、サイトに合わせた言葉で表現されるといいと思います。

ちなみに、Metamanagerプラグインで自動的に作られる要約の先頭にこのメッセージが含まれるため、Googleの検索結果での要約にも反映され、「○○分で読めるのか~」とアクセスしてもらえるきっかけにもなりそうです。

functions.phpへ安全にコードを追加するために

functions.phpはWordPressの動作に必要な関数というのを格納しておく大切なファイルです。このファイルの編集に失敗すると画面が真っ白になって操作できなくなります。変更前にバックアップを取っておけば不具合が起きたときに元に戻せますが、大事なときに限ってバックアップを取り忘れるものです。そんな不具合を最小限にするためにWordPressには便利なプラグインがあります。functions.phpにコードを入力して動作するプログラムの塊のことを「スニペット」といいますが、このプラグインはスニペットをfunctions.phpに挿入したりスニペット毎に管理できるプラグインです。このプラグインには簡単な構文エラーチェック機能も備わっていますので、これを使うことでより安全にスニペットを追加することができます。

テーマのfunctions.phpへ挿入するコードを管理するプラグイン「Code Snippets」