it-swarm.asia

عدد الروابط الخارجية في التعليقات - خيار الإشراف

لقد واجهت مشكلة في استخدام عدد الروابط الخارجية (بمعنى عدم وجود ارتباطات نسبية أو مطلقة لمدونتي) على مدونتي لخيار العد تعليق التعديل .

تم وضع علامة عليه احتفظ بتعليق في قائمة الانتظار إذا كان يحتوي على [رقمك هنا] أو روابط إضافية. (هناك سمة شائعة للتعليقات غير المرغوب فيها هي وجود عدد كبير من الارتباطات التشعبية.) على الإعدادات -> مناقشة في النهاية الخلفية لـ Wordpress. لقطة شاشة:

alt text

أدرك أنه حاليًا يتم حساب جميع الروابط inkl. روابط إلى المدونة وتعليقات أخرى (أبلغ عنها هنا: # 14681 ) ولكن لا يمكنني أن أتخيل أنه لا يوجد مكون إضافي أو اختراق متاح بالفعل أن يصحح العد إلى الروابط الخارجية فقط.

لذلك سؤالي هو: هل هناك مكون إضافي/قرصنة يجعل Wordpress يقوم بحساب الروابط الخارجية فقط بشكل صحيح في التعليقات الخاصة بخيارات الإشراف؟

3
hakre

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

class JPB_CommentCounter {

  var $count = 0;

  function __construct(){
    add_filter( 'pre_comment_content', array( $this, 'content' ), 100 );
    add_filter( 'comment_max_links_url', array( $this, 'counter' ) );
  }

  function JPB_CommentCounter(){
    $this->__construct();
  }

  function counter( $num, $url ){
    if($this->count < 1)
      return $num;
    elseif( $this->count > $num )
      return 0;
    else
      return $num - $this->count;
  }

  function content( $content ){
    $homeurl = preg_quote( home_url() );
    if( preg_match_all( '@<a [^>]*href=[\'|"](/|'.$homeurl.')@i', $content, $matches ) )
      $this->count = count($matches[0]);
    return $content;
  }

}

$JPBCC = new JPB_CommentCounter();

أود أن أضيف أنني لم أختبر هذا بأي حال من الأحوال. ولكن يجب أن تعمل من الناحية النظرية.

1
John P Bloch

لقد كتبت الآن البرنامج المساعد الكامل لهذا يوفر واجهة حساب العد الأساسية لإضافة التعليقات مع وورد 3.0. بالإضافة إلى ما اقترحه John ، فقد قمت ببعض التغييرات/الإضافات بناءً على تتبع الخطافات التي تم تشغيلها عن طريق إضافة التعليق حيث أردت تنفيذ هذا فقط عند إضافة تعليق جديد بالفعل.

لذلك اخترت comment_text بدلاً من ربط pre_comment_content. الباقي هو نفسه في الأساس ولكن تمت إضافة بعض عمليات التحقق من التعقل بحيث يتم تنفيذها فقط مرة واحدة وعند إضافة تعليق جديد فقط. سيكون التحقق الإضافي (ولكن غير المنفَّذ حاليًا) لتمكينه فقط بعد قراءة خيار comment_max_links بواسطة get_option() (رمز pre_option_comment_max_links-) ، لكن حتى الآن لم ينجح ذلك في الاختبار ، لم أقم بذلك حتى الآن.

يمكن الاطلاع على شفرة المصدر عبر الإنترنت في trac .

سأجيب عن جون حتى أنني لم أختر اقتراحه لأنه نشر نفس المبدأ هنا أولاً.

1
hakre