كيفية الحصول على عدد التعليقات في المنشور؟

إذا كنت تتطلع إلى الحصول على إجمالي تعليقات Wordpress و Discourse لمنشور واحد، فستعمل الدالة get_comments_number() (أي أنها ستعيد مجموع كليهما).

إذا كنت تتطلع إلى الحصول على مجموع إجمالي لجميع التعليقات على موقعك (وليس من منشور معين)، سواء من Wordpress أو Discourse، فهذا سؤال ذاتي إلى حد ما. يعتمد الأمر على ما تقصده بـ “جميع التعليقات”. ستحتاج إلى كتابة دالة مخصصة لهذا الغرض، وستفعل ذلك إذا كنت تقوم فقط بعد تعليقات Wordpress بمفردها. ستقوم بشيء مثل هذا واستخدامه في رمز قصير أو كتلة

function count_all_comments() {
     $wordpress_count = wp_count_comments();
     $count = $wordpress_count->approved;
     $query_args = array(
      	'post_status' => 'publish',
     );
     $query = new WP_Query($query_args);
     if ( $query->have_posts() ) {
	    while( $query->have_posts() ) {
		  $query->the_post();
		  $count += intval( get_post_meta( get_the_ID(), 'discourse_comments_count', true ) );
        }
     }
    return $count;
}

(لقد كتبت هذا للتو على الطاير لذا يرجى اختباره قبل استخدامه :slight_smile: )

لاحظ أنني اخترت إرجاع عدد تعليقات Wordpress approved وعدد تعليقات Discourse على المنشورات المنشورة. هناك خيارات أخرى يمكنك اتخاذها هناك حول ما يؤهل لعدك.