it-swarm.asia

ضبط التعليقات كافتراضي للصفحات وأنواع المنشورات المخصصة؟

أريد إيقاف التعليقات بشكل افتراضي مع الصفحات وأنواع النشر المخصصة

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

19
Mild Fuzz

بناءً على ما أفهمه ، فأنت تريد تعيين الصفحات وبعض أنواع المنشورات المخصصة بحيث يكون تعليقها "إيقاف" بشكل افتراضي ، في حين أن المنشورات ستظل تستخدم الخيار الافتراضي (مثل التعليق "تشغيل"). إذا كان هذا هو الحال ، فستقوم الوظيفة التالية بذلك.

function default_comments_off( $data ) {
    if( $data['post_type'] == 'page' && $data['post_status'] == 'auto-draft' ) {
        $data['comment_status'] = 0;
    }

    return $data;
}
add_filter( 'wp_insert_post_data', 'default_comments_off' );
8
sorich87

عندما تنشئ منشورًا جديدًا (نوعًا مخصصًا أو عاديًا) ، يستدعي WordPress get_default_post_to_edit والذي يقوم بعد ذلك بتعيين القيم الافتراضية لنشر جديد.

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

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

function my_default_content( $post_content, $post ) {
    if( $post->post_type )
    switch( $post->post_type ) {
        case 'page':
        case 'movie':
            $post->comment_status = 'closed';
        break;
    }
    return $post_content;
}
add_filter( 'default_content', 'my_default_content', 10, 2 );

تم اختبار الرمز في WP 3.0.1 وله التأثير المطلوب لتعطيل التعليقات لأنواع المنشورات على وجه التحديد مع ترك الآخرين يرثون الحالة الافتراضية الحالة من خيار default_comment_status.

امل ان يساعد.... :)

10
t31os

لقد كتبت مكونًا إضافيًا لتعطيل التعليقات على الصفحات افتراضيًا. http://wordpress.org/extend/plugins/page-comments-off-please/

ربما هذا سوف يساعد؟

2
Techism

وفقًا لـ هذا الموضوع ، ما تطلبه غير ممكن بدون استخدام مكون إضافي أو وظيفة لإنجازه.

1
Travis Northcutt

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


تحديث

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

انتقل إلى الإعدادات >> مناقشة في قسم إدارة WordPress. في القسم الأول ("إعدادات المقالة الافتراضية" ، سترى خيارًا يسمى "السماح للأشخاص بنشر تعليقات على مقالات جديدة" ... ألغ تحديد هذا الخيار.

الآن ، افتراضيًا ، سيتم إيقاف التعليقات "لجميع المنشورات والصفحات وأنواع المنشورات المخصصة الجديدة. لا يزال بإمكانك إعادة تشغيل التعليقات "على" كل حالة على حدة من خلال تحديد مربع الاختيار المناسب في مربع "مناقشة" التعريف على شاشة تعديل النشر/الصفحة الفردية.

1
EAMann