जवाबों:
आप जिस कार्य को देख रहे हैं, वह है get_term_by
। आप इसे इस तरह उपयोग करेंगे:
<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>
इसके परिणामस्वरूप $term
निम्नलिखित वस्तु होती है:
term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count
कोडेक्स इस कार्य को समझाने का एक बड़ा काम करता है: http://codex.wordpress.org/Function_Reference/get_mmby
यह एक उत्तर प्रदान करता है जब वर्गीकरण अनुपलब्ध / अज्ञात है ।
मेरे मामले में, get_term_by का उपयोग करते समय , कुछ उदाहरण थे जहां केवल टर्म स्लग (नो टर्म आईडी या टैक्सोनॉमी) था। जिसने मुझे यहां तक पहुंचाया। हालाँकि, प्रदान किए गए उत्तर ने मेरी समस्या को हल नहीं किया।
$taxonomy
// We want to find the ID to this slug.
$term_slug = 'foo-bar';
$taxonomies = get_taxonomies();
foreach ( $taxonomies as $tax_type_key => $taxonomy ) {
// If term object is returned, break out of loop. (Returns false if there's no object)
if ( $term_object = get_term_by( 'slug', $term_slug , $taxonomy ) ) {
break;
}
}
$term_id = $term_object->name;
echo 'The Term ID is: ' . $term_id . '<br>';
var_dump( $term_object );
The Term ID is: 32
object(WP_Term)
public 'term_id' => int 32
public 'name' => string 'Example Term'
public 'slug' => string 'example-term'
public 'term_group' => int 0
public 'term_taxonomy_id' => int 123
public 'taxonomy' => string 'category'
public 'description' => string ''
public 'parent' => int 0
public 'count' => int 23
public 'filter' => string 'raw'
निम्नानुसार, अवधारणा को एक सरणी मिलती है, सरणी के $taxonomies
माध्यम से लूप होता है, और यदि get_term_by()
कोई मैच देता है, तो यह तुरंत फ़ॉरच लूप से बाहर हो जाता है।
नोट: मैंने टर्म स्लग से संबंधित टैक्सोनॉमी (आईडी या स्लग) प्राप्त करने के लिए एक विधि की खोज करने की कोशिश की, लेकिन दुर्भाग्य से मैं वर्डप्रेस में उपलब्ध कुछ भी खोजने में असमर्थ हूं।
धन्यवाद, यह मेरे लिए काम किया।
मैंने एक फ़ंक्शन बनाया और आवश्यकतानुसार इसे फिर से उपयोग करें।
function helper_get_taxonomy__by_slug($term_slug){
$term_object = "";
$taxonomies = get_taxonomies();
foreach ($taxonomies as $tax_type_key => $taxonomy) {
// If term object is returned, break out of loop. (Returns false if there's no object);
if ($term_object = get_term_by('slug', $term_slug, $taxonomy)) {
break;
}else{
$term_object = "Warn! Helper taxonomy not found.";
}
}
return $term_object;
}