サイトからのおしらせ(クリックで一覧)

ブログやサイトに「この記事は約 ○ 分で読めます」という読了所要時間を表示するには?

この記事は約4分で読めます。

本記事では「記事を読み終える時間」を表示する方法について紹介します。

具体的には、本サイトの記事右上にある「この記事は約 ○ 分で読めます」いう表記です。

私の活動している「小説家になろう」でも読了時間表示があります。
それくらい読み手にとってありがたい機能なのは間違いないでしょう。

質問者の写真

この記事って何分くらいで読めるのかなあ……
時間掛かるなら怖くて読めないかも
 

こういった形での機会損失を減らすことができます。

読了所要時間の表示方法

以下のコードを表示したい場所に貼り付けます。

<?php
$mycontent = $post->post_content;
$word = mb_strlen(strip_tags($mycontent));
$m = floor($word / 600)+1;
$time = ($m == 0 ? '' : $m) ;
?>
<div style="border-top:2px dotted #ccc;border-bottom:2px dotted #ccc;padding:0.1em 0;text-align:right;font-size:small;color:#444">この記事は約 <span style="color:#f00"><?php echo $time; ?></span> 分で読めます。
</div>

テーマによっては点線装飾が邪魔となりますので、各自で加工・削除してください。

参考記事は二つ。

こちらは方法そのものズバリ。

下は、この機能を持ったプラグインEstimate。
レイアウトの参考にさせていただきました。
どの場所に表示されてもいいなら、このプラグインを入れるのが一番手っ取り早いです。

コードを貼る場所

解答者の写真
一般的なテーマでしたらsingle.phpです
 

例えばLuxeritasですと、次のコードの下に配置します。

<?php
if( function_exists('dynamic_sidebar') === true ) {
if( isset( $luxe['amp'] ) ) {
if( is_active_sidebar('post-title-upper-amp') === true ) {
$amp_widget = thk_amp_dynamic_sidebar( 'post-title-upper-amp' );
if( !empty( $amp_widget ) ) echo $amp_widget;
}
}
else {
if( is_active_sidebar('post-title-upper') === true ) {
dynamic_sidebar( 'post-title-upper' );
}
}
}

if( have_posts() === true ) {
while( have_posts() === true ) {
the_post();

echo apply_filters( 'thk_h_tag', 1, '', 'headline name', '', 'entry-title' ); // <h1> タイトル

?><div class="clearfix">

ただしSimplicityは構造が複雑なため、場所が見つけづらいです。

答えは、

解答者の写真
entrybody.phpに貼り付けてください
 

時間表記をつけない方がいい場合もあります

質問者の写真

時間表記つけたら、逆にアクセス飛んじゃったよ~
 
解答者の写真
あなたの記事は長いのばかりだから
読了時間表示しちゃうと「そんな時間ない」と冷静になって逃げちゃう人多いかもね
 

ケースバイケースでしょう。
読み応えあれば時間なんて関係ないですし、短すぎてもダメって場合もありますし。
まずは設置して、様子見ながら判断するしかありません。

まとめ

解答者の写真
設置の是非はともかくとして
設置自体はコピペでOKですし、外すのもすぐにできます
とりあえず試してみませんか?
 
この記事を書いた人:天満川 鈴

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。

ADHD、精神障害者手帳3級所持。

慶應義塾大学商学部→国家一種経済職→公安調査庁。
在職時は国際テロ、北朝鮮を担当。

「小説家になろう」の底辺作者。
朝鮮総聯へのスパイ工作を描いた小説「キノコ煮込みに秘密のスパイスを」はアマチュア小説ながら週刊誌報道され、話題となった。