क्या कई कस्टम पोस्ट प्रकार एक कस्टम टैक्सोनॉमी साझा कर सकते हैं?


23

मैं वर्डप्रेस में एक ड्रुपल साइट के पुनर्निर्माण पर विचार कर रहा हूं और अभी भी सिस्टम के बीच के अंतरों के बारे में अपना सिर लपेट रहा हूं - विशेष रूप से cck / फ़ील्ड्स और कस्टम सामग्री प्रकार और टैक्सोनॉमी का उपयोग करने के विभिन्न तरीके।

मैं जानना चाहूंगा कि क्या दो कस्टम सामग्री प्रकार एक कस्टम टैक्सोनॉमी साझा कर सकते हैं। ड्रुपल में मैं एक विशेष सामग्री प्रकार की पोस्टिंग को उपयोगकर्ताओं के समूह तक सीमित कर सकता हूं और फिर उस पोस्टिंग में कर-संबंधी हो सकता है जो केवल एक या अधिक अन्य सामग्री प्रकारों के साथ साझा किया जाता है (लेकिन सभी प्रकार नहीं)।

उपयोगकर्ता पहलू को छोड़ कर जो रोल स्कोपर के साथ संभव प्रतीत होता है, क्या आप वर्डप्रेस के साथ ऐसा कर सकते हैं? मैंने केवल कस्टम टैक्सोनॉमी के साथ कस्टम कंटेंट टाइप को देखा है, लेकिन किसी दिए गए टैक्सोनॉमी को 2 या अधिक कस्टम कंटेंट प्रकारों के साथ दो स्थानों पर इसे फिर से साझा करने या श्रेणियों / टैग के माध्यम से विश्व स्तर पर सक्षम करने का कोई तरीका नहीं है ...

धन्यवाद, -चाद।

जवाबों:


15

सीपीटी के बीच एक वर्गीकरण को साझा करना

मैं जानना चाहूंगा कि क्या दो कस्टम सामग्री प्रकार एक कस्टम टैक्सोनॉमी साझा कर सकते हैं।

सरल ने कहा: हाँ, वे कर सकते हैं

शेयर कैसे करे

जैसा कि मैंने इस ब्लॉग पोस्ट में विस्तार से बताया है , आपको हमेशा कस्टम टैक्सोनॉमी और एक दूसरे को जल्द से जल्द पोस्ट टाइप करना चाहिए।

एक फ़ंक्शन में अपनी पंजीकरण प्रक्रिया को लपेटें, initहुक को डिफ़ॉल्ट प्राथमिकता पर हुक किया गया।

register_taxonomy(
    'some_custom_tax',
    'some_post_type',
    $array_of_arguments
);
register_post_type(
    'some_post_type',
    [
        'taxonomies' => [ 'some_custom_tax' ],
        // other arguments
    ]
);

इससे कोई फर्क नहीं पड़ता कि आप 2 nd तर्क का उपयोग करते हैं register_taxonomy()या यदि आप उपयोग करते हैं register_taxonomy_for_object_type(), जैसा कि दोनों समान करते हैं: वे $GLOBALS['wp_taxonomies']सरणी लेते हैं और इसे पोस्ट प्रकार ऑब्जेक्ट (प्रकार) असाइन करते हैं।

महत्वपूर्ण लेख

बस यह सुनिश्चित करें कि आप सीटी और सीपीटी को रजिस्टर करते समय एक-दूसरे को पंजीकृत करें। और आपके पास क्वेरी हुक के दौरान उस इंटरकनेक्शन तक पहुंच नहीं होगी।


2
एक मुद्दा जो मैंने पाया है वह यह कि सीपीटी के लिए पदों की संख्या को सही ढंग से प्रदर्शित नहीं किया जाता है क्योंकि साझा सीटी का उपयोग कहीं और किया जाता है।
मीटाई.कॉम

मुझे यकीन नहीं है कि मैं पालन करूंगा। प्रश्न एक से अधिक सीपीटी में एक सीटी दर्ज करने के बारे में पूछता है। यह उत्तर ऐसा लग रहा है कि यह दोनों तरीकों से एक सीपीटी और एक सीटी को पंजीकृत करने को दर्शाता है।
वह ब्राजील के लड़के

4

कोडेक्स से:

taxonomies

(सरणी) (वैकल्पिक) श्रेणी या पोस्ट_टैग जैसे पंजीकृत टैक्सोनॉमी का एक सरणी जो इस पोस्ट प्रकार के साथ उपयोग किया जाएगा। इसका उपयोग register_taxonomy_for_object_type()सीधे कॉल करने के बदले में किया जा सकता है । कस्टम टैक्सोनॉमीज़ को अभी भी पंजीकृत होने की आवश्यकता है register_taxonomy()

जब आप अपने पोस्ट प्रकार को पंजीकृत करते हैं, तो आप उस प्रकार के वर्गीकरण को असाइन करते हैं जो इसका समर्थन करता है, या register_taxonomy_for_object_type()पोस्ट प्रकार के लिए वर्गीकरण को जोड़ने के लिए किसी अन्य बिंदु पर उपयोग करता है ।

आप जितने चाहें उतने पोस्ट प्रकार के लिए एक टैक्सोनॉमी असाइन कर सकते हैं। टैक्सोनॉमीज़ एक विशेष पद प्रकार से बंधे नहीं हैं।


4

मैं उन सभी कस्टम पोस्ट प्रकारों को पास करके आसानी से इसे प्राप्त करने में सक्षम था, जो मैं वर्गीकरण को साझा करना चाहता हूं, इसलिए मेरा कोड इस तरह दिखाई दिया:

add_action( 'init', 'build_taxonomies', 0 );
 function build_taxonomies() {
    register_taxonomy( 'some_custom_tax', array('some_post_type_1','some_post_type_2'), array( 'hierarchical' => true, 'label' => 'Custom Tax Title', 'query_var' => true, 'rewrite' => true ) );   
}

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