পৃষ্ঠা এবং কাস্টম পোস্ট ধরণের জন্য ডিফল্ট হিসাবে মন্তব্যগুলি সেট করা?


20

পৃষ্ঠাগুলি এবং কাস্টম পোস্ট ধরণের মাধ্যমে আমি ডিফল্টরূপে মন্তব্যগুলি বন্ধ করতে চাই

প্রাথমিকভাবে আমি এই পৃষ্ঠাগুলিতে ব্লকটি প্রদর্শন এড়াতে কমেন্টস ডিসপ্লে ফাংশনটিতে শর্তাবলীর সাহায্যে ব্যবহার করেছি, তবে আমার প্রয়োজন মতামতগুলি ফিরিয়ে দিতে সক্ষম হওয়া প্রয়োজন।


1
কেবল একটি বন্ধুত্বপূর্ণ অনুস্মারক আমি এই প্রশ্নের একটি উত্তর যুক্ত করেছি যে আমার বিশ্বাস পছন্দসই প্রভাব ফেলেছে ..
t31os

1
আমি নিশ্চিত যে আপনার ফাংশনটি ভালভাবে কাজ করে তবে আমি ইতিমধ্যে একটি উত্তর নির্বাচন করেছি যা আমার উদ্দেশ্যে কাজ করে।
হালকা Fuzz

উত্তর:


9

আমি যা বুঝি সেগুলি থেকে আপনি পৃষ্ঠাগুলি এবং কিছু কাস্টম পোস্ট ধরণগুলি ডিফল্টরূপে 'অফ' মন্তব্য করার জন্য সেট করতে চান, যখন পোস্টগুলি এখনও ডিফল্ট বিকল্পটি ব্যবহার করবে (অর্থাত্ 'অন' মন্তব্য করা)। যদি এটি হয় তবে নিম্নলিখিত ফাংশনটি এটি করবে।

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' );

1
আপনি মন্তব্যগুলি আবার চালু করতে ইচ্ছুক হলে এটি ব্যর্থ হয়। এটি সম্পাদনা করা দরকার যে এটি একবারে চলবে
মাইল্ড ফাজ

1
এখনই কোনও মেশিনে নেই, তবে আমার ধারণা আপনি মেটা পরীক্ষা করার জন্য মেটাটাটা মেকানিক ব্যবহার করতে পারেন, যদি সেখানে ফাংশনটি না চালানো হয়, অন্যথায় মেটা যুক্ত করুন এবং ফাংশনটি চালান run
হালকা Fuzz

1
পরীক্ষিত, এটি এতটা সহজভাবে কাজ করবে না কারণ পোস্ট আইডিটি আপনার ফাংশনে ডেটা ভেরিতে নেই।
হালকা Fuzz

1
আমি আমার উত্তর জমা দেওয়ার আগে এটি (ডাব্লুপিপি 3.0 সহ) পরীক্ষা করেছি এবং এটি কার্যকর হয়েছে। কোন সমস্যার মুখোমুখি হচ্ছেন? পোস্ট আইডি $ ডেটাতে নেই কারণ ফাংশনটি চালুর আগে পোস্টটি এখনও তৈরি করা হয়নি (wp_insert_post ফাংশনে ফিল্টারটি দেখুন)। ক্ষেত্রগুলিতে কোনও সামগ্রী প্রবেশের আগে আপনি কেবল ডাব্লুপি-অ্যাডমিন / পোস্ট-নতুন.পিপি? পোস্ট-টাইপ = এক্সএক্সএক্স-এ গেলেই ফাংশনটি চলবে।
sorich87

1
আমার পরীক্ষার সার্ভারে, আমি মন্তব্যগুলি আবার চালু করতে পারি না, সেগুলি স্থায়ীভাবে বন্ধ থাকে।
হালকা ফাজ

10

আপনি যখন একটি নতুন পোস্ট তৈরি করেন (কাস্টম টাইপ বা নিয়মিত), তখন ওয়ার্ডপ্রেস কলগুলি 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 );

কোডটি ডাব্লুপি ৩.০.১-তে পরীক্ষা করা হয়েছিল এবং পোস্টের জন্য মন্তব্যগুলি অক্ষম করার কাঙ্ক্ষিত প্রভাব রয়েছে বিশেষত অন্যদের বিকল্প থেকে ডিফল্ট স্ট্যাটাসে রেখে যাওয়ার জন্য leavingdefault_comment_status

আশা করি এইটি কাজ করবে.... :)


2

আমি ডিফল্টরূপে পৃষ্ঠাতে মন্তব্যগুলি অক্ষম করতে একটি প্লাগইন লিখেছি। http://wordpress.org/extend/plugins/page-comments-off-please/

সম্ভবত যে সাহায্য করবে?


1
sorich87 এর উত্তরে 5 লাইন সমাধান দেওয়া অতিরিক্ত মনে হচ্ছে! চিয়ার্স যদিও।
মাইল্ড ফাজ

1
আসলে নয়, কোড প্রয়োজনীয়তার সাথে লড়াই করার জন্য অনেকগুলি পদ্ধতি রয়েছে, এটি কেবল একটি ভিন্ন পদ্ধতি।
t31os

1

এই থ্রেড অনুসারে , আপনি যা অনুরোধ করছেন তা কোনও কাস্টম প্লাগইন বা এটি সম্পাদন করার জন্য ফাংশন ব্যবহার না করেই সম্ভব নয়।


1
আমার একটি লিখতে সমস্যা নেই, কেবল সঠিক দিকে নির্দেশ করা দরকার। হুকস এবং ফিল্টারগুলি যা সাহায্য করতে পারে।
হালকা Fuzz

1
আপনি যদি একটি লেখা শেষ করেন তবে দয়া করে এখানে আপনি যা করেছেন তা ভাগ করুন! এমন একটি প্লাগইন মনে হচ্ছে যা এটি করতে পারে যা প্রচুর ব্যবহার পাবে।
ট্র্যাভিস নর্থকুট

1

আমি এখনও মন্তব্য প্রদর্শনে আপনার শর্তাবলী ব্যবহার করার পরামর্শ দিচ্ছি, তবে আপনার শর্তযুক্ত সেটিংস সঞ্চয় করার জন্য বিকল্পগুলি ব্যবহার করব। তারপরে আপনি সেটিংস মেনুতে একটি পৃষ্ঠা যুক্ত করতে পারেন যা প্রশাসকদের প্রয়োজন অনুযায়ী মন্তব্যগুলি চালু বা বন্ধ করতে দেয়।


হালনাগাদ

আমার সাথে এটি ঘটে যে আপনি প্রতিবার পৃষ্ঠা তৈরির সময় আপনি "অফ" হিসাবে সেট করার চেয়ে বিশ্বব্যাপী সেটিংস হিসাবে "অফ" মন্তব্য করার জন্য ডিফল্ট সেট করতে চান। এই হল সম্ভব।

সেটিংসে যান >> ওয়ার্ডপ্রেস অ্যাডমিন বিভাগে আলোচনা। প্রথম বিভাগে ("ডিফল্ট নিবন্ধের সেটিংস") আপনি "নতুন নিবন্ধগুলিতে লোকদের মন্তব্য পোস্ট করার মঞ্জুরি দিন" নামক একটি বিকল্প দেখতে পাবেন ... এই বিকল্পটি আনচেক করুন।

এখন, ডিফল্টরূপে, সমস্ত নতুন পোস্ট, পৃষ্ঠা এবং কাস্টম পোস্ট ধরণের জন্য মন্তব্যগুলি "বন্ধ" করা হবে। আপনি স্বতন্ত্র পোস্ট / পৃষ্ঠা সম্পাদনা স্ক্রিনে "আলোচনা" মেটা বাক্সে উপযুক্ত চেকবক্সটি নির্বাচন করে কেস-বাই-কেস ভিত্তিতে মন্তব্যগুলি "চালু" করতে পারেন।


1
যদিও সেখানে ইতিমধ্যে একটি বিকল্প রয়েছে। আমি কেবল এটি ডিফল্টরূপে বন্ধ করতে চাই।
হালকা Fuzz

1
ইতিমধ্যে একটি বিকল্প আছে যেখানে? আপনি কি পোস্ট / পৃষ্ঠা সম্পাদনা স্ক্রিনের নীচে "আলোচনা" বাক্সটি উল্লেখ করছেন?
এএমআনান

1
হ্যাঁ, আমি কেবল এটিটি পরীক্ষা না করা চাই। Sorich87 সমাধান প্রায় কাজ করে। কিছু চেষ্টা করার জন্য কোনও মেশিনে নেই।
হালকা Fuzz

-2

যদি আপনি কেবল এই ফাংশন.এফপি এই কোডটি যুক্ত করেন

<?php
add_post_type_support( 'your_custom_post_type', array( 'comments' ) );
?>

পোস্টে যান এবং স্ক্রিন অপশনে, "আলোচনা" এবং "মন্তব্যগুলি" এ টিক দিন, আপনি প্রতিটি কাস্টম পোস্ট ধরণের জন্য মন্তব্যগুলি সক্ষম / অক্ষম করতে পারবেন।


2
(ইতিমধ্যে উত্তর দেওয়া হলেও) প্রশ্নের উত্তরটি সত্যই দেয় না
মাইল্ড ফাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.