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

عرض المقالات الأكثر شعبية في ووردبريس

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

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

عرض المقالات الأكثر تعليقا في ووردبريس

عرض المقالات الأكثر تعليقا دون إضافة

أول ما سنقوم به هنا هو إضافة هذا الكود الذي هو عبارة عن وضيفة تقوم باستخراج المقالات الأكثر تعليقا، إلى ملف functions.php أو إلى إضافتك المخصصة.

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

/**
 * Display top commented posts.
 *
 * @package saidelbakkali.com
 *
 * @author Said El Bakkali
 */
if ( ! function_exists( 'sb_top_commented_posts' ) ) {

 /**
  * Display most commented posts en the Front-End.
  */
 function sb_top_commented_posts() {

 $sb_top_commented_posts = get_transient( 'sb_top_commented_posts_cache' );

 if ( false === $sb_top_commented_posts ) {
 // WP_Query arguments.
 $args = array(
 'post_status'            => array( 'publish' ),
 'posts_per_page'         => '5' + count( get_option( 'sticky_posts' ) ),
 'orderby'                => 'comment_count',
 );

 // The Query.
 $sb_top_commented_posts = new WP_Query( $args );

 set_transient( 'sb_top_commented_posts_cache', $sb_top_commented_posts, DAY_IN_SECONDS );
 }

 // The Loop.
 if ( ! is_wp_error( $sb_top_commented_posts ) && $sb_top_commented_posts->have_posts() ) {
 // Start output buffering.
 ob_start();

 echo '<ul class="sb-top-commented-posts">';

 while ( $sb_top_commented_posts->have_posts() ) {
 $sb_top_commented_posts->the_post();
 echo '<li>';
 echo '<figure class="sb-top-commented-posts-thumbnail">';
 if ( has_post_thumbnail() ) {
 the_post_thumbnail( 'sb-top-commented-posts' );
 }
 echo '</figure>';

 echo '<div class="content">';
 the_title( '<h3 class="sb-top-commented-posts-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' );
 comments_popup_link(
 __( 'No comments yet', 'text-domain' ),
 __( '1 comment', 'text-domain ' ),
 __( '% comments', 'text-domain' ),
 'comments-link sb-top-commented-posts-comments-link',
 __( 'Comments are off for this post', 'text-domain' )
 );

 echo '</div></li>';
 }

 echo '</ul>';

 $output = ob_get_clean();

 // Return output.
 return $output;
 }// End if().

 // Restore original Post Data.
 wp_reset_postdata();
 }
}// End if().

/**
 * Delete transient from wp_options when comment count has been updated.
 */
function invalidate_sb_top_commented_posts_cache() {
 delete_transient( 'sb_top_commented_posts_cache' );
}
add_action( 'wp_update_comment_count', 'invalidate_sb_top_commented_posts_cache' );

بعدها نصل إلى مرحلة عرض الدالة في القالب، يمكننا عمل ذلك بعدة طرق وهي تتغير حسب المكان الذي نريد أن نظهرها فيه، مثلا لإظهار المقالات الأكثر تعليقا في أي مكان من القالب يمكننا استعمال هذه الدالة، مثلا سنضعها في ملف sidebar.php لإظهارها في القائمة الجانبية.

<?php echo sb_top_commented_posts(); ?>

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

// Create shortcode.
add_shortcode('sb_top_commented_posts', 'sb_top_commented_posts');

الكود القصير الذي سنحصل عليه هو [sb_top_commented_posts] أنا في هذا الموقع أستعمل نفس الكود القصير لعرض المواضيع الأكثر تعليقا وذلك من خلال وضعه في ودجت “نص”.

اقرأ أيضا: طريقة منع المشتركين من الدخول إلى لوحة التحكم

عرض المواضيع الأكثر شعبية في ودجت
إذا كنت تريد أن تستعمل نفس الطريقة عليك التأكد من أن قالبك يسمح باستعمال الأكواد القصيرة في ودجات “نص”.

لكن إذا كنت تريد عرض الدالة تحت كل المقالات، أسهل طريقة هي استعمال واحد من الفترات الأكثر استعمالا في ووردبريس وهو the_content وذلك بوضع هذا الكود في ملف functions.php أو إضافتك المخصصة.

function sb_top_commented_after_posts( $content ) {

 $content .= sb_top_commented_posts();

 return  $content;
}
add_filter( 'the_content', 'sb_top_commented_after_posts' );

في حالة أردت عرض المقالات اﻷكثر تعليقا في صفحة المقالة فقط يمكنك استعمال الدالة الشرطية is_singuler('post').

في الأخير يجب إضافة تنسيقات بسيطة إلى ملف css حسب ذوقك، سأضع هنا التنسيقات التي أستعملها أنا كمثال:

اقرأ أيضا: كيفية التعديل على الودجة “منوعات”

/*
 المواضيع الأكثر تعليقا
 */
.sb-top-commented-posts ul li {
  border-bottom:1px solid #4C5F70;
  padding-bottom:3px;
}
  .sb-top-commented-posts ul li:after {
  clear:both;
}
.sb-top-commented-posts img {
  padding:3px;
  margin:3px;
  float:right;
}

عرض المقالات الأكثر تعليقا بواسطة إضافة.

إذا كنت لا تحب الأكواد وتريد تجنب ارتكاب الأخطاء، أو أنك من الذين يفضلون الأشياء الجاهزة لربح الوقت، أقترح عليك هاتين الإضافتين:

nrelate Most Popular (هذه الإضافة لم تعد متوفرة في المستودع الرسمي لإضافات ووردبريس) هذه الإضافة تمكنك من عرض المقالات الأكثر شعبية بأربع طرق

  1. عرض المقالات تلقائيا قبل أو بعد المقالات
  2. استعمال الكود القصير[nrelate-popular] في أي مكان تريده
  3. استعمال ودجت لإظهار المقالات في القوائم الجانبية
  4. استعمال الدالة nrelate_popular() في أي مكان من القالب

Popular Widget هذه الإضافة تضيف ودجت يمكن من عرض المقالات الأكثر تعليقا والمقالات الأكثر مشاهدة على اليوتيوب في القوائم الجانبية.

اقرأ أيضا: طريقة تعيين الصورة المصغرة لفيديو يوتيوب تلقائيا على ووردبريس

كان هذا كل شيء فيما يخص موضوع اليوم، أتمنا أن يكون قد أعجبك وأن تكون قد استفدت منه كثيرا. إلى اللقاء في الموضوع القادم بإذن الله.

close

قم بالتسجيل على قائمتي البريدية لكي تكون من الأوائل في الحصول على تدوينات وشروحات حصرية

أنا لا أرسل أبدا البريد المزعج! اقرأ سياسة الخصوصية لمزيد من المعلومات.

6 تعليقات

  1. استاذي الفاضل سعيد،
    بماذا تريدنا التعبير عن رائعتك هذه في شرح واضافة خاصية من اجمل الخصائص والتي كم نحتاج اليها.

    فثق مهما استجمعنا من كلمات لن تفيك حقك ولن نستطيع مهما حاولنا التعبير عن مدى اعجابنا بكل ما تقدمه من روائع.

    فباراك الله فيك واحتسب صنيعك هذا في موازين حسناتك، وكتب لك النجاح والتوفيق في كل ما تقوم فيه.

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

  2. ماشاء الله
    موقع جميل ومعلومات قيمة
    هل تسمح لي بطلب مساعدتك في اضافة كود المواضيع ذات الصله في ملف القالب لدي؟
    حاولت كثيراًفي اضافتة بصورة صحيحة ولكن لم استطع.

    1. السلام عليكم أخي

      الكود يمكنك إضافته في آخر ملف [code lang=”php” inline=true]functions.php[/code] للقالب المفعّل لديك كما هو مذكور في المقالة.

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

اترك تعليقًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *