2 روش اضافه کردن زمان مطالعه به نوشتههای وردپرس
زمانی که یک بازدیدکننده به وب سایت ما سر میزنه، قطعا ما دوست داریم زمان زیادی رو در وب سایت ما سپری کنه و نوشته های بیشتری رو مطالعه کنه. در بسیاری از وب سایت ها و وبلاگ ها، از جمله وبلاگ خودم، با استفاده از افزونه یه تابع ساده، زمان مطالعه مقاله رو نمایش میدن که البته این زمان یک زمانه تقریبی و غیر دقیقه ولی با این حال بسیار مفیده. شاید با خودتون بگید چطور همچین چیزی مفیده؟!
صاحب وب سایت هایی که از این تکنیک استفاده کردن، گزارش دادن که بعد از استفاده از این تکنیک تونستن میزان زمانی که کاربرانشون توی وب سایتشون وقت میگذرونن رو بیشتر کنن! منم با کمی تحقیق کردن متوجه شدم که واقعا همینطوره و روی مطالعه نوشته ها تاثیر زیادی داره. اما چطوری؟
زمانی که کاربر وارد وب سایت شما میشه، قطعا دنبال موضوعی بوده که توی وب سایت شما وجود داره و احتمالا همه نوشته های شما یا بخشی از اون ها، مرتبط با همون موضوعه. اگر شما هم مثل من زرنگ باشید و یه بخش نوشته های مرتبط زیر نوشته هاتون اضافه کرده باشید و بیاید و زمان مطالعه این نوشته ها رو زیرشون درج کنید (یه چیزی کمتر از مقدار واقعی)، باعث میشه کاربر ترغیب بشه که روی اون مقاله کلیک کنه.
اضافه کردن زمان مطالعه بدون استفاده از افزونه
شما با استفاده از این تابع که نوشتم به سادگی میتونید زمان مطالعه یا همون زمان خوندن مقاله یا نوشته خودتون رو به نوشته های وب سایت وردپرسی خودتون اضافه کنید.
// READING TIME
function sarvis_reading_time(){
global $post;
// گرفتن محتوای نوشته
$content = get_post_field( 'post_content', $post->ID );
// شمارنده کلمه ها(سازگار با زبان فارسی)
$word_count = count(preg_split('~[\p{Z}\p{P}]+~u', $content, null, PREG_SPLIT_NO_EMPTY));
// توی متن توضیح میدم که اینجا چیکار کردم
$readingtime = ceil($word_count / 250);
// اینجا هم که مشخصه زمان محاسبه شده رو به عنوان خروجی فرستادم
$timer = " دقیقه";
$totalreadingtime = "زمان مطالعه " . $readingtime . $timer;
return $totalreadingtime;
}
هر شخصی یه مقدار زبان PHP بلد باشه متوجه میشه چه اتفاقی افتاده.
خیلی ساده اومدم متغیر سراسری یا گلوبال POST که مربوط به وردپرسه رو فراخوانی کردم، بعد با استفاده از اون متغیر سراسری اومدم محتوای نوشته ای که تابع توش فراخوانی شده رو گرفتم و کلماتش رو شمردم.
این اونجاییه که توضیح ندادم: کلیت ماجرا اینه که ما باید ببینیم کاربر تو هر دقیقه چند کلمه میتونه بخونه و یه چیزی بنابر حدس خودمون براش مشخص کنیم. حالا من چیکار کردم؟
اومدم تعداد کل کلمات رو بدست اوردم و بر تعداد کلماتی که کاربر میتونه تو یه دقیقه بخونه تقسیم کردم و عدد رو روبهبالا گرد کردم.
دیگه تعیین تعداد کلماتی که کاربر در دقیقه میتونه بخونه، بستگی به خودتون داره، میتونید برای اینکه زمان خوندن نوشته کم نشون داده بشه و کاربر ترغیب به خوندن نوشتتون بشه، یه عدد بزرگ وارد کنید.
اونجا که نوشته : “زمان مطالعه” رو هم میتونید تغییر بدید به زمان خواندن یا هر چیزی که خودتون دوست دارید!
حالا چطور از کد استفاده کنیم؟
کد تابع رو به آخر فایل functions.php پوسته وردپرس خودتون به آدرس :
wp-content/themes/your-theme-name/functions.php قرار بدید و ذخیره کنید.
برای نمایش دادن زمان مطالعه خیلی ساده این کد رو هر جا که دوست دارید که زمان مطالعه نمایش داده بشه قرار بدید.
<?php
echo sarvis_reading_time();
?>
مثلا من تو همین نوشته از این کد استفاده کردم و بالای نوشتم زمان مطالعه رو نمایش دادم. درواقع من توی این فایل تغییرات رو انجام دادم:
wp-content/themes/your-theme-name/functions.php
برای شما ممکنه فرق کنه. در کل میتونید دنبال تابع the_content(); بگردید و بالا یا پایین اون کد فراخوانی رو اضاف کنید و با CSS یکم روی ظاهرش کار کنید.
به همین آسونی 🙂
اضافه کردن زمان مطالعه با استفاده از افزونه
روش آسون تر برای افراد مبتدی یا افرادی که امکانات بیشتری احتیاج دارن، میتونید از افزونه Reading Time WP استفاده کنن که خیلیم کار باهاش راحته. کافیه که افزونه رو نصب کنید. افزونه کاملا فارسی شدست من اینجا از اسکرین شاتی که خود افزونه توی صفحه رسمی گذاشته بود استفاده کردم برای همین انگلیسیه.
سه تا فیلد متنی وجود داره که براتون به ترتیب توضیح میدم (هر چند خیلی مشخصه که فیلد ها چی کاره حسنن):
فیلد Reading time label : متنیه که قبل از زمان نمایش داده میشه؛ مثلا میگه “زمان مطالعه” فلان دقیقه، هر چی توی این فیلد بنویسید جایگزین “زمان مطالعه” میشه و هر چی توی فیلد دوم بنویسید جایگزین دقیقه میشه.
فیلد سومم هم که تعداد کلماتی که کاربر میتونه تو یه دقیقه بخونه رو مشخص میکنه. هر چی عدده بزرگتر باشه، زمان مطالعه کمتر محاسبه میشه.
برای نمایش زمان مطالعه مقاله با این افزونه سه تا راه دارید:
تیک Insert Reading Time before content رو بزنید که افزونه بصورت اتوماتیک زمان مطالعه رو قبل از مطلب شما نمایش میده و شما نیاز نیست کار اضافه ای انجام بدید.
یا میتونید از شورت کد توی ادیتور خودتون استفاده کنید که خود این شورتکد هم یه نوع حرفه ای (نه اونقدر حرفه ای ولی خوبه) و یه نوع ساده داره.
نوع حرفه ای :
[rt_reading_time label=”زمان مطالعه:” postfix=”دقیقه”]
نوع ساده :
[rt_reading_time]
و در آخر هم میتونید از شورتکد زیر در پوسته وردپرسی خودتون استفاده کنید که تقریبا مثل فراخوانی روش بدون افزونه هست و باید توی کد پوسته وردپرستون اضافش کنید :
<?php do_shortcode('[rt_reading_time]'); ?>
به همین سادگی، به همین خوشمزگی
شاد و خندون باشید 🙂
بسیار کاربردی کدی که نوشتین هم عالی 🙂