कस्टम पोस्ट प्रकार में टैग कैसे जोड़ें?


28

मेरे पास एक कस्टम पोस्ट प्रकार है, जिसे portfolioमैं टैग करने की कोशिश कर रहा हूं कि इसमें कर का योग है, मैं यह कैसे करूं?


@chifliiiii अगर मैं ऐसा करता हूं, तो श्रेणियाँ और टैग पोस्ट के लिए उपयोग किए जाने वाले समान हैं। मुझे नई पोस्ट प्रकार के लिए अनन्य श्रेणियाँ और टैग कैसे मिलते हैं?
ट्रॉय टेम्पलमैन

@chifliiiii टेम्प्लेट में टैग प्रदर्शित करें?
मैक्स

जवाबों:


15

इस तरह: (जहां यह कहता है कि "पोर्टफोलियो" वह जगह है जहां आप पोस्ट प्रकार के लिए वर्गीकरण को पंजीकृत करते हैं

add_action( 'init', 'create_tag_taxonomies', 0 );

//create two taxonomies, genres and tags for the post type "tag"
function create_tag_taxonomies() 
{
  // Add new taxonomy, NOT hierarchical (like tags)
  $labels = array(
    'name' => _x( 'Tags', 'taxonomy general name' ),
    'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Tags' ),
    'popular_items' => __( 'Popular Tags' ),
    'all_items' => __( 'All Tags' ),
    'parent_item' => null,
    'parent_item_colon' => null,
    'edit_item' => __( 'Edit Tag' ), 
    'update_item' => __( 'Update Tag' ),
    'add_new_item' => __( 'Add New Tag' ),
    'new_item_name' => __( 'New Tag Name' ),
    'separate_items_with_commas' => __( 'Separate tags with commas' ),
    'add_or_remove_items' => __( 'Add or remove tags' ),
    'choose_from_most_used' => __( 'Choose from the most used tags' ),
    'menu_name' => __( 'Tags' ),
  ); 

  register_taxonomy('tag','portfolio',array(
    'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'tag' ),
  ));
}
?>

@JoeBobby यह संभवत: सभी उपलब्ध विकल्पों में से एक बेहतर एहसास पाने के लिए टैक्सोनोमी रजिस्टर करने के लिए वर्डप्रेस कोडेक्स पेज की जाँच करने के लायक होगा: codex.wordpress.org/Function_Reference/register_taxonomy
स्टीफन एस

8
बस ध्यान दें कि यह कस्टम पोस्ट प्रकार में मौजूदा 'पोस्ट_टैग' टैक्सोनॉमी को जोड़ने के बजाय 'टैग' नामक एक पूरी नई करंसी बना रहा है।
जेक

@chifliiiii टैग लिंक के साथ पोस्ट सिंगल पेज में इन टैग को कैसे प्राप्त करें, टैग पेज के लिए टेम्पलेट कैसे बनाएं
दिनेश

1
मैं जेक से सहमत हूं, मुझे ऐसा लगता है कि इससे समस्या हल नहीं होती है। @Marcus का उत्तर स्वीकृत के रूप में चिह्नित होना चाहिए।
क्रेग वेन

58

या बस जोड़ें:

'taxonomies' => array('post_tag')

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

जहाँ आप कस्टम पोस्ट प्रकार के साथ बनाने के लिए $argsसरणी में सरणी के लिए ।functions.phpregister_post_type()


2
अपने जवाब के लिए एक विवरण जोड़ें: क्यों कि समस्या का समाधान कर सकता है?
FUXIA


1

विधि 1 (उपरोक्त उत्तरों से: /wordpress//a/106211/38771 )

विभिन्न पोस्ट प्रकार डिफ़ॉल्ट "पोस्ट" प्रकार के समान "टैग" डेटा का उपयोग करेंगे।

  • लाभ

    • सब कुछ (चाहिए) एक लाइन के साथ बॉक्स से बाहर काम करता है

    • CMS में एक जगह आपके सभी टैग

  • downsides

    • सीएमएस का उपयोग करने के लिए एक अच्छी तरह से संरचित / आसान के बारे में भूल जाओ - कस्टम पोस्ट प्रकार पृष्ठ पर टैग लिस्टिंग सभी टैग (न केवल कस्टम पोस्ट प्रकार लेखों में उपयोग किए गए टैग) को गलत गणना के साथ दिखाएगी ...
    • एक टैग में परिवर्तन डिफ़ॉल्ट "पोस्ट" लेखों के साथ-साथ कस्टम पोस्ट प्रकार लेखों को प्रभावित करेगा (एक टैग इसे दोनों प्रकार के लेखों में हटा देता है)
    • हार्डर (संभवतः असंभव) किसी भी अलग टैग कार्यक्षमता को सेटअप करने के लिए: विभिन्न विवरण, कस्टम फ़ील्ड, चित्र, आदि (कम से कम कोर वर्डप्रेस कोड के शीर्ष पर अधिक कस्टम कोडिंग के बिना नहीं) ...

विधि 2 (उपरोक्त उत्तरों से: /wordpress//a/62263/38771 )

विभिन्न पोस्ट प्रकार अलग-अलग "टैग" कॉन्फ़िगरेशन / डेटा का उपयोग करते हैं।

  • लाभ

    • अलग / स्पष्ट रूप से अलग टैग से संबंधित कार्यक्षमता बनाएं : फ्रंटएंड टेम्प्लेट, क्षमताएं, क्वेरी फ़िल्टर, क्रियाएं)
    • टैग से संबंधित विभिन्न डेटा असाइन करें : फ़ील्ड डेटा या कस्टम फ़ील्ड भी
    • CMS में टैग को बेहतर तरीके से प्रबंधित करें
      • उदाहरण : एक "पोस्ट" टैग को संपादित करना / हटाना (अन्य पोस्ट प्रकारों के लिए इसी तरह नामित / सुस्त) टैग को प्रभावित नहीं करेगा
  • अदला - बदली

    सेटअप करने के लिए थोड़ा अधिक कोड

सच में, वे सभी प्रकार के तरीकों में विभिन्न वस्तुओं को समूहित करने का एक अत्यंत शक्तिशाली तरीका है। https://codex.wordpress.org/Taxonomies#Custom_Taxonomies


यहां विधि 1 के लिए एक मामला है: एक बड़ी खेल वेबसाइट, जिसमें टैग के साथ कई विषयों / लीग / खेल शामिल हैं जैसे "एनबीए", "एनएचएल", "बास्केटबॉल", "ओलंपिक", "स्टेरॉयड", "कॉलेज", आदि। t किसी भी चीज़ को डुप्लिकेट बनाने और प्रबंधित करने का कोई मतलब नहीं है, क्या हो सकता है +100 टैग और 4 पोस्ट प्रकार (डिफ़ॉल्ट पोस्ट प्रकार और 3 कस्टम पोस्ट प्रकार)। डाउनसाइड्स के लिए, यदि टैग गणना डेटा इतना विशेष है, तो उसके लिए एक कस्टम दृश्य बनाया जा सकता है। प्रति पोस्ट प्रकार के समान कस्टम टैग के लिए, अभी तक के रूप में कोई स्पष्ट आवश्यकता प्रतीत नहीं होती है (एक के बारे में सोचने की कठिन कोशिश ... उदाहरण की आवश्यकता है)।
मार्संडबैक

हां, लेकिन विभिन्न पोस्ट प्रकारों के लिए स्वचालित रूप से अलग-अलग टैग परमिटलिंक नहीं होंगे। सभी पोस्ट प्रकारों के लिए एक टैग "प्लेऑफ़" में "/ टैग / प्लेऑफ़" होगा। फिर आपको नियमों को फिर से लिखना होगा या अलग-अलग पर्मलिंक बनाने के लिए जीईटी परमर्स का उपयोग करना होगा ... हर पोस्ट प्रकार के लिए अलग-अलग टैक्सोनॉमी के साथ, हर पोस्ट प्रकार के लिए "प्लेऑफ़" टैग का अपना स्वयं का पर्मलिंक होगा, जिसे वर्डप्रेस के टेम्पलेट के साथ अनुकूलित किया जा सकता है। पदानुक्रम। यह अच्छा है अगर अलग-अलग "प्लेऑफ़" पृष्ठ एनबीए, एनएचएल के लिए अलग-अलग हैं ... मैंने टैक्सोनॉमीज़ (कस्टम फ़ील्ड, टैक्सोनॉमी इमेज, विवरण) के लिए अनुकूलन के उस स्तर के साथ एक साइट पर काम किया है
पीएस

1
मैं देख रहा हूं कि तुम क्या कह रहे हो। इसलिए, यदि CPT के अनुसार अलग-अलग टैग टैक्सोनॉमी के साथ जा रहे हैं, तो इसे बनाने के बारे में कैसे करें जब आप एक टैक्स में एक शब्द जोड़ते / संपादित करते हैं, तो यह अन्य कर के रूप में परिवर्तित हो जाता है अर्थात कर के पार अनन्य अनन्य शब्द। उदाहरण के लिए "बास्केटबॉल" को एक बार परिभाषित करें, चलो पोस्ट टैग टैक्स में कहेंगे, फिर एक बार जब आप बचत करते हैं, तो "बास्केटबॉल" को सीपीटी के लिए अन्य करों के लिए विशिष्ट रूप से बनाया जाता है। इसलिए एक टैग को एक बार इनपुट / संपादित करें, और परिवर्तन कई टैग कर के रूप में परिलक्षित होता है। अंत में आपको एक गंतव्य में टैग प्रबंधन मिलता है, साथ ही अधिक वांछनीय पर्मलिंक स्थिति।
मार्संडबैक

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

0

बस इस कोड का उपयोग करें यह आपकी मदद कर सकता है

 add_action( 'init', 'create_client_tax' );
function create_client_tax() {
    register_taxonomy( 
            'client_tag', //your tags taxonomy
            'client',  // Your post type
            array( 
                'hierarchical'  => false, 
                'label'         => __( 'Tags', CURRENT_THEME ), 
                'singular_name' => __( 'Tag', CURRENT_THEME ), 
                'rewrite'       => true, 
                'query_var'     => true 
            )  
        );
}

पहले से ही स्वीकार किए जाते हैं का एक छीन संस्करण। इसके अलावा, यह मौजूदा 'post_tag' टैक्सोनॉमी का उपयोग करने के बजाय एक पूरी नई टैक्सोनॉमी भी जोड़ता है।
acidrums4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.