此功能仅从自定义分类子项类别创建选择菜单。
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)
,但这也是空白。
答案 0 :(得分:2)
试试$parent_term = get_term($parent,'category')
。然后是$parent_term->name
,虽然如果你要将一个类基于一个术语,我会使用$parent_term->slug
,因为->name
可以为你提供空格,这对CSS类名来说是不可取的但你真的不能给选项标签一个类(见下面)。
额外:
根据{{3}}, <option>
标记实际上没有name
属性。您可能需要id
而不是name
。
另外,当我动态生成选项时,我会尝试将value
属性视为我想要用作数组索引或变量名的id,所以我想确保它是一个整数或者是一个可靠的无空间文本ID。对于WP分类法,我建议使用$ category-&gt; term_id或$ category-&gt; slug作为值,当然还有内部html的$ category-&gt;名称。
答案 1 :(得分:0)
你快到了。要返回自定义分类术语的完整数据数组,请尝试:
$parent = get_term( $category->category_parent, $taxonomy );
现在,您可以访问术语数组,其中包括$parent->name
,$parent->slug
和$parent->description
。