本記事では「記事を読み終える時間」を表示する方法について紹介します。
具体的には、本サイトの記事右上にある「この記事は約 ○ 分で読めます」いう表記です。
私の活動している「小説家になろう」でも読了時間表示があります。
それくらい読み手にとってありがたい機能なのは間違いないでしょう。
この記事って何分くらいで読めるのかなあ……
時間掛かるなら怖くて読めないかも
こういった形での機会損失を減らすことができます。
【2024年11月12日追記】
Cocoonなどテーマによっては機能が備わっているものもあります。
まずはそちらを御確認ください。
読了所要時間の表示方法
以下のコードを表示したい場所に貼り付けます。
<?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ですし、外すのもすぐにできます
とりあえず試してみませんか?