2012-09-22 15 views
5

के साथ वर्गीकरण नाम प्राप्त करता है मैं केवल वर्गीकरण आईडी के साथ वर्गीकरण आईडी या नाम कैसे प्राप्त कर सकता हूं?वर्डप्रेस स्लग

मुझे लगता है कि मैं get_term_by() लेकिन करों के लिए समकक्ष की तलाश में हूं।

संपादित करें: मुझे यह निर्दिष्ट करना होगा कि मैं WooCommerce उत्पाद विशेषता की कर आईडी प्राप्त करने का प्रयास कर रहा हूं।

धन्यवाद

उत्तर

1
<?php 
    $term = get_term_by('slug', $slug, 'category'); 
    $name = $term->name; 
    $id = $term->term_id; 
?> 
+3

इस सवाल का जवाब नहीं है। इसे केवल एक शब्द का नाम मिलेगा, न कि वर्गीकरण। – David

2

के रूप में स्वीकार जवाब इस सवाल का जवाब नहीं है, मैं यहाँ कोई उत्तर देते हैं, भले ही सवाल बहुत पुराना है।

get_term_by() पर तीसरा (आवश्यक) तर्क वर्गीकरण का नाम है, और इसलिए इस फ़ंक्शन का उपयोग नहीं किया जा सकता है।

get_taxonomies() का उपयोग नहीं किया जा सकता है क्योंकि तब आपको पूरी रीराइट एरे से मेल खाना पड़ेगा, जिसकी आपको शायद पहुंच नहीं है।

function get_tax_name_from_slug($slug){ 
    foreach ($wp_taxonomies as $key => $value) { 
    if ($value->rewrite['slug'] === $slug){ 
     return $key; 
    } 
    } 
} 

मैं सच में आशा है कि Wordpress उनके आंतरिक डाटा संरचनाओं तक पहुँचने के बिना यह करने के लिए एक तरह से प्रदान करेगा:

तो एक ही रास्ता मैंने पाया निजी सरणी $wp_taxonomies उपयोग करने के लिए किया गया था।

7

वर्डप्रेस अपनी स्लग से वर्गीकरण जानकारी प्राप्त करने के लिए एक कार्य प्रदान करता है।

$taxonomy_details = get_taxonomy($slug); 

यह वर्गीकरण विवरण को एक वस्तु के रूप में वापस कर देगा, जिसमें वर्गीकरण के लिए विभिन्न लेबल शामिल हैं। उदाहरण के लिए मानक श्रेणी वर्गीकरण के लिए बुलाए जाने पर यहां लौटाई गई वस्तु है, उदा। get_taxonomy('category');

stdClass Object 
(
    [labels] => stdClass Object 
     (
      [name] => Categories 
      [singular_name] => Category 
      [search_items] => Search Categories 
      [popular_items] => 
      [all_items] => All Categories 
      [parent_item] => Parent Category 
      [parent_item_colon] => Parent Category: 
      [edit_item] => Edit Category 
      [view_item] => View Category 
      [update_item] => Update Category 
      [add_new_item] => Add New Category 
      [new_item_name] => New Category Name 
      [separate_items_with_commas] => 
      [add_or_remove_items] => 
      [choose_from_most_used] => 
      [not_found] => No categories found. 
      [menu_name] => Categories 
      [name_admin_bar] => category 
     ) 

    [description] => 
    [public] => 1 
    [hierarchical] => 1 
    [show_ui] => 1 
    [show_in_menu] => 1 
    [show_in_nav_menus] => 1 
    [show_tagcloud] => 1 
    [show_in_quick_edit] => 1 
    [show_admin_column] => 1 
    [meta_box_cb] => post_categories_meta_box 
    [rewrite] => Array 
     (
      [hierarchical] => 1 
      [slug] => category 
      [with_front] => 1 
      [ep_mask] => 512 
     ) 

    [query_var] => category_name 
    [update_count_callback] => 
    [_builtin] => 1 
    [cap] => stdClass Object 
     (
      [manage_terms] => manage_categories 
      [edit_terms] => manage_categories 
      [delete_terms] => manage_categories 
      [assign_terms] => edit_posts 
     ) 

    [name] => category 
    [object_type] => Array 
     (
      [0] => post 
     ) 

    [label] => Categories 
) 

स्रोत: https://codex.wordpress.org/Function_Reference/get_taxonomy

+0

स्लग वर्गीकरण के नाम के समान नहीं है। आपका उदाहरण केवल काम करता है क्योंकि वे इस विशेष मामले में बराबर होते हैं। get_taxonomy एक स्लोग नहीं, एक वर्गीकरण नाम लेता है। – Hjalmar

+0

@Hjalmar मुझे लगता है कि मूल पोस्टर वर्गीकरण का जिक्र कर रहा था-> नाम स्लग के रूप में, और वर्गीकरण-> नाम के रूप में लेबल। मुझे डब्ल्यूसी विशेषताओं के साथ एक ही मुद्दे का सामना करना पड़ रहा है। – David

0
$args = array(
        'post_type' => 'awards', 
        'post_status' => 'publish', 
        'posts_per_page' => 4, 
        'orderby' => 'ID', 
        'order' => 'DESC', 
        'tax_query' => array(
         'relation' => 'AND', 
         array(
          'taxonomy' => 'awards_categories', 
          'field' => 'slug', 
          'terms' => $award_solution 
         ), 
         array(
          'taxonomy' => 'year', 
          'field' => 'slug', 
          'terms' => $yearvalue 
         ), 
        ) 
       ); 

कैसे हम WP चयन क्वेरी के साथ इस लाने