ホームページ  >  記事  >  CMS チュートリアル  >  WordPressテーマに記事の文字数と読書時間を追加

WordPressテーマに記事の文字数と読書時間を追加

藏色散人
藏色散人転載
2019-10-21 11:32:512294ブラウズ

記事の文字数と読了時間を表示します。この機能は何に使うのですか?わかりませんが、他のユーザーが持っている場合に追加してもよいかという質問があったので、追加しましょう。次のコラム WordPress チュートリアル では、WordPress テーマに記事の文字数と読書時間を追加する方法を紹介します。

WordPressテーマに記事の文字数と読書時間を追加

WordPress テーマの記事の文字数と読書時間を追加WordPress テーマの記事の文字数と読書時間を追加

具体的なコードはここでも共有されています:

記事の単語数

// 字数统计
function zm_count_words ($text) {
global $post;
if ( '' == $text ) {
$text = $post->post_content;
if (mb_strlen($output, &#39;UTF-8&#39;) < mb_strlen($text, &#39;UTF-8&#39;)) $output .= &#39;<span class="word-count">共&#39; . mb_strlen(preg_replace(&#39;/\s/&#39;,&#39;&#39;,html_entity_decode(strip_tags($post->post_content))),&#39;UTF-8&#39;) .&#39;字</span>&#39;;
return $output;
}
}

コードは、現在のテーマの関数テンプレートfunctions.phpに追加されます。

記事閲覧時間

// 阅读时间
function zm_get_reading_time($content) {
$zm_format = &#39;<span class="reading-time">阅读时间%min%分%sec%秒</span>&#39;;
$zm_chars_per_minute = 300; // 估算1分种阅读字数
 
$zm_format = str_replace(&#39;%num%&#39;, $zm_chars_per_minute, $zm_format);
$words = mb_strlen(preg_replace(&#39;/\s/&#39;,&#39;&#39;,html_entity_decode(strip_tags($content))),&#39;UTF-8&#39;);
 
$minutes = floor($words / $zm_chars_per_minute);
$seconds = floor($words % $zm_chars_per_minute / ($zm_chars_per_minute / 60));
return str_replace(&#39;%sec%&#39;, $seconds, str_replace(&#39;%min%&#39;, $minutes, $zm_format));
}
 
function zm_reading_time() {
echo zm_get_reading_time(get_the_content());
}

コードは現在のテーマの関数テンプレートfunctions.phpに追加されます。

記事の文字数と読み取りタイムコードを呼び出します

記事の文字数コードを表示:

<?php echo zm_count_words($text); ?>

読み取りタイムコードを表示:

<?php zm_reading_time(); ?>

上記の呼び出しコードを追加します現在のテーマ本体テンプレートの適切な位置で十分です。

ただし、単語数と朗読時間はあまり正確ではなく、特に朗読時間はさらにナンセンスで、デフォルトは CCTV アナウンサーの話す速度に基づいています。

この記事を書いた後、インターネット上にもっと簡単なコードがあることを知りました。違いは、上記のコードは秒単位の精度であるのに対し、次のコードは分単位までしか推定できないことです。

function count_words_read_time () {
global $post;
$text_num = mb_strlen(preg_replace(&#39;/\s/&#39;,&#39;&#39;,html_entity_decode(strip_tags($post->post_content))),&#39;UTF-8&#39;);
$read_time = ceil($text_num/300); // 修改数字300调整时间
$output .= &#39;本文共计&#39; . $text_num . &#39;个字,预计阅读时长&#39; . $read_time  . &#39;分钟。&#39;;
return $output;
}

呼び出し元コード:

<?php echo count_words_read_time(); ?>

以上がWordPressテーマに記事の文字数と読書時間を追加の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はzmingcx.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。