कस्टम पोस्ट प्रकार: संपादक से छुटकारा पाने के लिए कैसे (-मेटा बॉक्स)


9

मैं सवाल कर रहा हूं कि मैं पोस्ट-एडिटर (विज़ुअल + एचटीएमएल) से कैसे छुटकारा पा सकता हूं । मैंने पोस्ट प्रकार के समर्थन को पंजीकृत नहीं करने की कोशिश की, और यह अभी भी प्रकट होता है (पोस्ट-एडिट स्क्रीन पर हर दूसरे डिफ़ॉल्ट मेटा बॉक्स के साथ काम करना ठीक है)। मैंने इसे remove_meta_box के साथ डीरजिस्टर करने की भी कोशिश की, जो भी काम नहीं करता था (शीर्षक मेटा बॉक्स को छोड़कर बाकी सब काम करता है)। शायद मुझे कुछ याद आ रहा है। पहले से ही वेब खोजा और कुछ भी नहीं मिल सका। मुझे उम्मीद है कि कोई मुझे बता सकता है। धन्यवाद!

Ps। मैं शीर्षक क्षेत्र को अक्षम करने के लिए एक सावधानी के बारे में भी खुश हूं, लेकिन यह 2 है (पोस्ट प्रकार के कार्यों के साथ इसे पंजीकृत नहीं करना)।

(वर्डप्रेस संस्करण 3.0.4 है।)

जवाबों:


17

पोस्ट प्रकार की घोषणा में 'समर्थन' के लिए एक खाली सरणी देते हुए एडिट पोस्ट पेज में हर दूसरे डिफ़ॉल्ट बॉक्स के साथ संपादक और शीर्षक से छुटकारा पाना चाहिए।

$supports = array ('');
    $args = array(
      'label' => 'people',
      'supports' => $supports,
      'hierarchical' => false,
      'public' => true,
      'rewrite' => true
         );

    register_post_type( 'people', $args);

परिणाम: वैकल्पिक शब्द आप जो भी ट्रैकबैक, टिप्पणियां आदि दिखाना चाहते हैं, उन तत्वों के साथ 'समर्थन' को पॉप्युलेट करें या पृष्ठ को खाली छोड़ने के लिए इसे खाली छोड़ दें, केवल उस बॉक्स को छोड़कर जो आपको आपके पोस्ट सहेजने देता है। यदि आप पदानुक्रमित टैक्सोनॉमी मेटाबॉक्स से भी छुटकारा पाना चाहते हैं, तो यहां जाना सुनिश्चित करें ।


अब तक धन्यवाद। मेरी समस्या यह है कि मैं सब कुछ खाली नहीं कर सकता। मैंने कस्टम पोस्ट प्रकार, कस्टम टैक्सोनॉमी और टैग की पीढ़ी को गति देने के लिए तीन कक्षाएं लिखी हैं। उन्हें चूक मिली। कस्टम पोस्ट प्रकारों के मामले में यह बस सब कुछ है। लेकिन मुझे विशिष्ट पोस्ट प्रकारों के लिए कुछ बक्से को अलग करने की आवश्यकता है। और एक के लिए मुझे संपादक बॉक्स को भी अलग करना होगा।
केसर

मुझे दिलचस्पी है कि आप सब कुछ खाली करने का क्या मतलब है? यदि आप संपादक से छुटकारा पाना चाहते हैं, तो अपनी कक्षा में पोस्ट प्रकार बनाते समय संपादक का 'समर्थन' सरणी में मत डालें।
मैन्नी फ्लेममंड

2
@kaiser अगर यह आपकी अपनी कक्षाएं हैं तो क्या समस्या है? उन्हें संभालना है? ..
Rarst

@ सार: यह केवल एक आधार है जो निम्नलिखित चीजें बनाता है: एक सरणी से पोस्ट प्रकार और वर्गीकरणों को पंजीकृत करें और $ लेबल और $ args (डिफ़ॉल्ट और विशिष्ट) के लिए एक फ़िल्टर की पेशकश करें। शब्द वर्ग केवल गैर-हटाने योग्य शब्द उत्पन्न करता है जो एक सरणी से अद्यतन और असाइन करता है। मेटा बॉक्स बिना वर्ग के आसान हो सकता है और मुझे एकीकृत करने के लिए समझ में नहीं आएगा। क्लासेस केवल मुझे समय बचाने और सिस्टम की जरूरतों को हटाने के लिए क्लाइंट्स रखने के लिए हैं। लेकिन देखने के लिए धन्यवाद। आपकी मदद की बहुत सराहना की गई है (फिर से) :)
kaiser

2
@kaiser तो supportsफिल्टर के माध्यम से खाली सरणी में स्थापित करने में क्या समस्या है ?
रार्स्ट

15

यदि आप supportsतर्क के लिए कुछ भी नहीं करते हैं, तो डिफ़ॉल्ट सेटिंग्स का 'title', 'editor'उपयोग किया जाता है (जहां "कुछ भी नहीं" कुछ भी है empty())।

हालाँकि, जैसे आप पोस्ट प्रकार को पंजीकृत करने के बाद किसी चीज़ के लिए समर्थन जोड़ सकते हैं, वैसे ही आप add_post_type_support( $post_type, $feature )कॉल करके किसी चीज़ के लिए समर्थन हटा सकते हैं remove_post_type_support( $post_type, $feature )। इसलिए अपने पोस्ट के प्रकार को पंजीकृत करने के बाद इसे संपादक को हटा देना चाहिए:

remove_post_type_support( 'my_post_type', 'editor' );

ये फ़ंक्शंस सिर्फ ग्लोबल $_wp_post_type_featuresवैरिएबल में हेरफेर करते हैं , लेकिन एपीआई फ़ंक्शंस के साथ ऐसा करना हमेशा बेहतर होता है, क्योंकि यह अपने आप को फील करता है।


Sollution! मैंने हमेशा सोचा था कि यह केवल पूर्व को हटाने के लिए था। एक बच्चे के विषय के माध्यम से थंबनेल या nav_menu। आपका बहुत बहुत धन्यवाद!
केसर

1
आउच, मुझे याद आया। अच्छा बिंदु, खाली सरणी पास करना रिक्त का मूल्यांकन करेगा ... खाली मान पास करना हमेशा एक ऐसी गड़बड़ी है, यह प्रति-सहज है ताकि कुछ भी नहीं के बजाय डिफ़ॉल्ट की तरह व्यवहार किया जाए । :(
रारस्ट

1
@ सार: मुझे लगता है कि यदि आप एक डमी फीचर नाम से गुजरते हैं तो यह भी काम करेगा। यह सिर्फ एक सरणी कुंजी है, इसलिए यह महत्वपूर्ण नहीं है कि डमी डेटा डाला जाता है या नहीं। मैंने एक बार0.10empty() चेक पास करने के लिए एक पैरामीटर के बजाय उपयोग किया था
Jan Fabry

1
@Jan Fabry हां, यह पहली बार नहीं है जब मैंने empty()खदान पर कदम रखा है । जैसा कि ऊपर - अत्यधिक प्रति-सहज।
रारस्ट

हम्म। यह कुंजियों के साथ काम नहीं कर रहा है और इसलिए मुझे लगता है कि बाद में अपग्रेड करते समय "डमी वैल्यू" एक और "मेरा" बन सकता है (खराब मूल्य को खोजने की कोशिश करें)। वैसे भी: आप दोनों को बहुत-बहुत धन्यवाद! :) संपादित करें: यह उपयोगी होगा यदि मान बस वहाँ नहीं होंगे, लेकिन कुंजी / मान जोड़े हैं। पूर्व। 'support' => array('thumbnail' => true, 'editor' => false);
kaiser

2

मैं कस्टम पोस्ट प्रकार बनाने के लिए कस्टम पोस्ट प्रकार UI प्लगइन का उपयोग करता हूं। इस प्लगइन का उपयोग करके, आप उन्नत विकल्पों के तहत पोस्ट-संपादक को अक्षम कर सकते हैं।

पोस्ट प्रकार प्रबंधित करें -> उन्नत विकल्प देखें

यहाँ प्लगइन का लिंक दिया गया है: http://wordpress.org/extend/plugins/custom-post-type-ui/

पुनश्च - यह आपको शीर्षक फ़ील्ड को भी अक्षम करने देता है :)


जैसा कि ऊपर कहा गया है, मैंने तीन कक्षाएं लिखी हैं और इसलिए एक प्लगइन पर स्विच नहीं कर सकता। मेरा मतलब है कि मैं वैसे भी एक प्लगइन का उपयोग करने पर विचार नहीं करेगा। प्लगइन्स विकास के लिए (इमो) हैं या टिप्पणी के रूपों जैसे आसान विनिमेय सामान और पोस्ट प्रकार या टैक्सोनॉमी जैसे मुख्य सामान नहीं हैं। फिर भी धन्यवाद!
कैसर

1
वास्तव में प्लगइन्स वर्डप्रेस के बारे में बहुत कुछ कस्टमाइज़ करने में सक्षम हैं, जिसमें कस्टम पोस्ट प्रकार शामिल हैं। मैं अभी एक प्लगइन बना रहा हूं जो कई पोस्ट प्रकार, उनके मेटाबोक्स और उनके विभिन्न कस्टम फ़ील्ड बनाता है।
मैन्नी फ्लेममंड

@ मैन्नी फ्लेममंड: यदि आप साझा करने जा रहे हैं, तो pls मुझे एक लिंक छोड़ दें। मैं अभी भी शायद सोच रहा हूं कि शायद मेरी कक्षाओं में उन्नत मेटा-बॉक्स के लिए एक दिनचर्या लिख ​​रहा हूं।
केसर

0

की जाँच करें register_post_type (); कोडेक्स में। तर्क अनुभाग के तहत नीचे स्क्रॉल करें जब तक आप समर्थन नहीं देखते ।

3.5 के रूप में, बूलियन डिफ़ॉल्ट (शीर्षक और संपादक) व्यवहार को रोकने के लिए एक सरणी के बजायfalse मूल्य के रूप में पारित किया जा सकता है।

या अपने कस्टम पोस्ट प्रकार को अनुकूलित करें जो आप उन मूल्यों में जोड़ना चाहते हैं जिन्हें आप उदाहरण के लिए चाहते हैं:

'supports' => array(
    'title',
    'author',
    'thumbnail',
    'post-formats'
),

मेरे एरे में ये समर्थित विकल्प मेरे वर्डप्रेस बैकएंड में दिखाई देंगे।


-2

आप संपादक तत्वों को छिपाने के लिए व्यवस्थापक संपादन पृष्ठ के लिए शैली भी सेट कर सकते हैं, जैसे कि संपादक आदि।

function custom_colors() {
   echo '<style type="text/css">
            body.post-type-events #postdivrich {
            display: none;
            }
         </style>';
}

add_action('admin_head', 'custom_colors');

आपके उत्तर के लिए धन्यवाद, लेकिन यह (ए) इसे गैर हटाने योग्य बना देगा क्योंकि यह निर्भरता एपीआई के साथ पंजीकृत नहीं है और (बी) इसे उन लोगों के लिए सुलभ बनाता है जो यह जानते हैं कि ब्राउज़र डेवलपर टूल का उपयोग कैसे करें।
केसर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.