簡體   English   中英

如何從ID獲取自定義分類父類別名稱?

[英]How to get custom taxonomy parent category name from ID?

此功能僅從自定義分類子項類別創建選擇菜單。

function cityDropdown($dropID, $taxonomy, $exclude) {

    $catArgs = array(
    'orderby'                  => 'name',
    'order'                    => 'ASC',
    'hide_empty'               => 0,
    'hierarchical'             => 1,
    'exclude'                  => $exclude,
    'taxonomy'                 => $taxonomy,
    'pad_counts'               => false );




    $categories = get_categories( $catArgs );

    $menu = '<select name="cityDropdown" id="'.$dropID.'">';
    $menu .= '<option value="">(City)</option>';

    foreach($categories as $category)
    {


        if($category->parent != 0 ) {

            $parent = $category->category_parent;

            $menu .= '<option class="'.$parent.'" value="'.$category->name.'" name="'.$category->name.'">'.$category->name.'</option>';
        }
    }   
    $menu .= '</select>';
    echo $menu;

}

它工作正常,除了一件事:

$parent = $category->category_parent;

給我一個父類別的ID,這很酷,而且它適用於我需要做的事情,但是,如果它可以給我父類的名稱而不是ID,那將會好得多。

我嘗試了沒有做任何事情的single_term_title($parent) ,我也試過了single_cat_title($parent)但也返回空白。

嘗試$parent_term = get_term($parent,'category') 然后$parent_term->name ,雖然如果你是基於一個術語的類,我會使用$parent_term->slug ,因為->name可以給你空格,這對於CSS類名是不可取的,但是你真的不能給選項標簽一個類( 見下文 )。

額外:

根據http://www.w3schools.com/tags/tag_option.asp, <option>標簽實際上沒有name屬性。 你可能想給它一個id而不是name

此外,當我動態生成選項時,我嘗試將value屬性視為我想要用作數組索引或變量名的id,因此我想確保它是整數或可靠的無空格文本ID。 對於WP分類法,我建議使用$ category-> term_id或$ category-> slug作為值,當然還有內部html的$ category-> name。

你快到了。 要返回自定義分類術語的完整數據數組,請嘗試:

$parent = get_term( $category->category_parent, $taxonomy );

現在,您將可以訪問術語數組,其中包括$parent->name$parent->slug$parent->description

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM