كيفية إضافة وقت القراءة المقدر إلى منشورات وصفحات ووردبريس بدون إضافة

 

كيفية إضافة الوقت المقدر للقراءة إلى منشورات وصفحات ووردبريس

وقت القراءة

هل يؤدي الإبلاغ عن وقت القراءة إلى زيادة الاحتفاظ بالقراءة؟

في بعض الحالات، يمكن أن تؤدي إضافة هذه المعلومات إلى زيادة مقدار الوقت الذي يقضيه الزوار على موقعك.

من التحليلات والتجارب المختلفة، على الأقل هكذا يقال، يبدو أن الناس أكثر ميلاً لزيارة مقال ما عندما يعرفون مسبقاً الوقت التقريبي الذي سيستغرقه قراءته.

ما مدى السرعة التي نقرأ بها؟

عند قراءة النصوص المختلفة، تتكرر بعض البيانات أو التقديرات التقريبية، مثل أن متوسط سرعة القراءة لدى الشخص البالغ 240 كلمة في الدقيقة مع معدل فهم 60%، ومع ذلك تنخفض سرعة القراءة بحوالي 25% عند القراءة على شاشة الكمبيوتر بدلاً من القراءة على الورق.

لهذا السبب في المثال المعروض هنا تم ضبط السرعة على 200 كلمة في الدقيقة.

إضافة وقت القراءة المقدر بدون مكون إضافي

يمكن إضافة هذه المعلومات باستخدام مكون إضافي أو بقليل من التعليمات البرمجية. بما أنه من المعتقد هنا تجنب تثبيت إضافة جديدة تخدم شيئًا واحدًا بسيطًا فقط (بالإضافة إلى أن معظمها مهمل تمامًا) سنشرح كيفية القيام بذلك باستخدام مقتطف.

إذا كنت تفضل شيئًا أكثر بساطة وبساطة مثل شريط تقدم القراءة في الأعلى الذي يملأ أثناء القراءة، يمكنك هنا معرفة كيفية إضافته بدون مكون إضافي.

لقد اخترت هذا الرمز واختبرته لأنه الأبسط لأن تلك التي تأخذ الصور في الاعتبار تقيس معيارًا نسبيًا تمامًا. ويعتمد ذلك على نوع الصور وحجمها وكمية العناصر والنصوص التي تحتويها، وما إلى ذلك، ولا ينقح العدد الإجمالي كثيرًا.

لا تضيف الكثير من المدونات هذا التقدير بما في ذلك الصور، ولكن بما أنها في هذه المدونة كثيرة ومعظمها مقالات قصيرة بطبيعتها مع القليل من النصوص، فقد قررت أن أتركها عند 10 ثوانٍ وما زالت تبدو لي كثيرة.

متوسط، على سبيل المثال، يقيس بمعدل 265 كلمة في الدقيقة مع إجراء تعديل للصور بمقدار 12 ثانية للصورة الأولى، و11 ثانية للصورة الثانية وثانية واحدة أقل لكل صورة بعد ذلك. يتم احتساب أي صورة بعد الصورة العاشرة بثلاث ثوانٍ. المصدر.

بالنسبة للمنشورات الصينية واليابانية والكورية، يضبط Medium عدد الأحرف على 500 حرف في الدقيقة بنفس الإعدادات المذكورة أعلاه للصور.

الرمز: يحسب مع مراعاة النص والصور

يأخذ هذا الكود الآخر في الاعتبار وقت قراءة الصور، والذي تم ضبطه على 10 ثوانٍ، ولكن ربما يكون هذا الوقت أكثر من اللازم بالنسبة لبعض الصور لذا خفضته إلى 6 ثوانٍ. يمكن تحسينه دائمًا عن طريق إضافة حساب الثواني أو متغيرات أكثر تعقيدًا اعتمادًا على ارتفاع الصور أو غيرها من المعلمات لمحاولة تحسين البيانات أكثر قليلاً (أشجع أي شخص يعرف أن يفعل ذلك).

/*Tiempo de lectura */

function wp_reading_time() {

// OBTENER EL CONTENIDO DE LA ENTRADA DE WORDPRESS
$content = get_post_field( 'post_content', $post->ID );

// CONTAR EL NÚMERO DE PALABRAS
$word_count = str_word_count( strip_tags( $content ) );

// CONTAR EL NÚMERO DE IMÁGENES
$image_count = substr_count( $content, '<img' );

// TIEMPO DE LECTURA DE TEXTOS - 200 PALABRAS POR MINUTO
$reading_time = $word_count / 200;

// TIEMPO DE LECTURA DE IMÁGENES - 10 SEGUNDOS POR IMAGEN
$image_time = ( $image_count * 10 ) / 60;

// AÑADIR EL TIEMPO DE LECTURA DE TEXTOS E IMÁGENES
$total_time = round( $reading_time + $image_time );

// DETERMINAR SI ES SINGULAR O PLURAL
if ( $total_time == 1 ) { $minute = " minuto"; }
else { $minute = " minutos"; }

return $total_time . $minute;

}

*هذا الرمز، على الرغم من أنه يعمل في GeneratePress، إلا أنه في مدونة_الخطأ يتم تسجيل خطأ متكرر في هذا السطر:

// OBTENER EL CONTENIDO DE LA ENTRADA DE WORDPRESS
$content = get_post_field( 'post_content', $post->ID );

هذا الخطأ

Attempt to read property "ID" on null in    ...  /ruta y nº de línea de functions.php
PHP Warning:  Undefined variable $post in    ...    /ruta y mismo nº de línea de functions.php

ما زلت أحاول معرفة كيفية إصلاحه.

هناك العديد من الطرق لإضافة الشيفرة: تنزيل وتحرير الدوال.php محليًا، مباشرةً من محرر قوالب ووردبريس (المظهر/محرر القالب) أو تحريرها "سريعًا" أيضًا من مدير ملفات Cpanel أو ما شابه ذلك.

إذا كنت لا تشعر بالشجاعة الكافية لإضافة هذا المقتطف إلى ملف functions.php الخاص بقالبك يدويًا، يمكنك اختيار القيام بذلك باستخدام إضافة Code Snippets، والتي تعمل أيضًا على الحفاظ على تنظيم مجموعة الدوال الخاصة بك بشكل أفضل في مكان واحد.

وبهذه الطريقة يمكنك التراجع عن التغييرات بسرعة وسهولة إذا تعطل شيء ما أو لم يعد الرمز متوافقًا مع تحديث PHP أو الإضافة أو WordPress الأساسي.

ثم قم فقط بإضافة هذا الرمز الذي سيرسم الدقائق على مدونتك، حيث تقول "وقت القراءة المقدر" يمكنك كتابة ما تريد.

<?php echo "Tiempo de lectura: " . wp_reading_time(); ?>

يمكنك إضافته في أي مكان تريد، على الرغم من أنك إذا قررت وضعه في تعريف المنشور، حيث يعرض القالب الخاص بك مؤلف المنشور وتاريخ النشر وعدد التعليقات وما إلى ذلك، يجب عليك إضافة الكود إلى حلقة تعريف المنشور في ملف content.php أو single.php (حسب كل قالب) أو page.php إذا كنت تريد إضافته إلى الصفحات أيضًا.

بعد التحقق من أنه يعمل، ما عليك سوى تكييف التنسيق أو إضافة أيقونة أو أي شيء آخر. هنا يبدو الأمر هكذا:

كيفية إضافة وقت القراءة المقدر إلى منشورات وصفحات ووردبريس بدون إضافة 1

لقد اخترت إضافته برمز قصير تم إنشاؤه باستخدام Ad Inserter على القالب الفرعي في القالب الذي تم إنشاؤه باستخدام Elementor PRO لجميع المنشورات.

كيفية إضافة الوقت المقدر للقراءة إلى منشورات وصفحات ووردبريس

على الرغم من أن الأمر يبدو فوضويًا، إلا أنه خيار نظيف للغاية لعدم الاضطرار إلى لمس سطر واحد من التعليمات البرمجية في WordPress والقدرة على تعديله بسرعة ودون تعقيدات في أي وقت.

الرمز: يحسب بقياس النص فقط

إليك دالة بديلة تقوم بحساب النص فقط وتظهر الدقائق والثواني، وهي الدالة التي أستخدمها الآن ولا تُرجع أي أخطاء PHP.

 * Estima el tiempo necesario para leer una entrada en WordPress */

function wpr_estima_tiempo_lectura() {

  $entrada = get_post();

  $ppm      = 250; // podemos escoger el PPM que queramos (200-300, por ejemplo)
  $palabras = str_word_count( strip_tags( $entrada->post_content ) );
  $minutos  = floor( $palabras / $ppm );
  $segundos = floor( ( $palabras % $ppm ) / ( $ppm / 60 ) );
  
  if ( 1 <= $minutos ) {
    $tiempo_estimado = $minutos . ' minuto' . ( 1 === $minutos ? '' : 's');
    if ( $segundos > 0 ) {
      $tiempo_estimado .= ', ' . $segundos . ' segundo' . ( 1 === $segundos ? '' : 's' );
    }
  } else {
    $tiempo_estimado = $segundos . ' segundo' . ( 1 === $segundos ? '' : 's' );
  }

  return $tiempo_estimado;
}

لإضافتها في أي مكان:

<?php echo "Se lee en: " . wpr_estima_tiempo_lectura(); ?>

تحديث 21 مارس 2023

إضافي، عداد الكلمات بدون مكون إضافي

طريقة بسيطة وسريعة لإضافة عدد الكلمات في كل مقالة. يمكنك وضعه تحت العنوان أو في التعريف، أو في أي مكان تريده وتنسيقه باستخدام القليل من CSS.

1-أنشئ كودًا قصيرًا باستخدام مقتطف الشفرة.

add_shortcode('contador', 'word_count');

2-تم تعيين الوظيفة.

function word_count() {
$content = get_post_field( 'post_content', get_the_ID());
$word_count = str_word_count( strip_tags( $content ) );
return $word_count;
}
echo ' ' , word_count();

أخيرًا، بنفس الطريقة الموضحة أعلاه، أضف الرمز القصير "العداد" في القالب باستخدام Elementor أو GeneratePress أو أيًا كان ما تستخدمه.

وهذه هي النتيجة:

عداد الكلمات بدون إضافة ووردبريس