पोस्ट प्रकार की सभी टैक्सोनॉमी कैसे प्राप्त करें?


45

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

यदि मेरे पास एक पोस्ट प्रकार है eventऔर मुझे उस पोस्ट प्रकार से जुड़ी टैक्सोनोमी की सूची का पता लगाने की आवश्यकता है। मैं उन्हें कैसे खोजूं?

जवाबों:


36

हे लोग मुझे लगता है कि मैं समझ गया! वर्डप्रेस में taxonomy.php फ़ाइल में कुछ कार्यों को देखने के बाद मैंने इस फ़ंक्शन को पाया है get_object_taxonomies();जिसने इस चाल को किया :)

यहाँ समारोह है

function get_post_taxonomies($post) {
    // Passing an object
    // Why another var?? $output = 'objects'; // name / objects
    $taxonomies = get_object_taxonomies($post, 'objects');

    /*// Passing a string using get_post_type: return (string) post, page, custom...
    $post_type  = get_post_type($post);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    /*// In the loop with the ID
    $theID      = get_the_ID();
    $post_type  = get_post_type($theID);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    // You can also use the global $post

    // edited to fix previous error $taxonomies
    // edited to force type hinting array
    return (array) $taxonomies; // returning array of taxonomies
}

2
अधिक जानकारी के लिए इसे देखें: codex.wordpress.org/Function_Reference/get_object_taxonomies
मैन्नी फ्लेममंड

वाह ... get_object_taxonomies () के बारे में जानना अच्छा है। इसने बस मुझे
३-१_ बजे ४०

हाय इसके लिए धन्यवाद, लेकिन NAME के ​​बजाय ID द्वारा उन्हें कैसे ऑर्डर करें?
dh47

सबसे आसान तरीका है बस प्रकार उन्हें एक का उपयोग किया जाएगा forया foreachपाश।
सिसिर

हाँ, मैं $taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Gets every "category" (term) in this taxonomy to get the respective posts $terms = get_terms( $taxonomy ); ?> <ul class="specials"><?php foreach( $terms as $term ) : ?> <li><h2 ><?php echo $term->name; ?></h2>
फ़ॉरेस्ट

9

get_categories काम करेगा।

get_categories('taxonomy=taxonomy_name&type=custom_post_type'); 

(मुझे लगता है कि अगर मैंने सवाल को सही समझा!)
जोड़ा

3
बात यह है कि मेरे पास कोई वर्गीकरण नाम नहीं है, यही मैं पता लगाना चाहता हूं। मेरे पास केवल पोस्ट प्रकार का नाम है। पोस्ट प्रकार के नाम से मैं उन सभी टैक्सोनॉमी का पता लगाना चाहता हूं जो इसके साथ जुड़ी हुई हैं। फिर भी धन्यवाद!
सिसिर

1

क्या आपने कुछ भी करने की कोशिश की है? कुछ इस तरह?

<?php 

$args=array(
  'object_type' => array('event') 
); 

$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
$taxonomies=get_taxonomies($args,$output,$operator); 
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    echo '<p>'. $taxonomy. '</p>';
  }
}
?>

1
get_taxonomies();कोडेक्स पर फ़ंक्शन को देखा, लेकिन इसमें बहुत खराब प्रलेखन है और मुझे पता नहीं था कि मैं पोस्ट प्रकार कैसे पास कर सकता हूं।
सिसिर

क्षमा करें, यह कोड वर्डप्रेस में सभी पंजीकृत टैक्सोनॉमी को लौटा रहा है।
सिसिर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.