您好我正在尝试添加子类别选择列表,我在这里找到了一个很好的代码并且工作正常,但我想将它用作下拉选择而不是未命令列表。谁能帮助我做到这一点。
<?php
if (is_category()) {
$cat = get_query_var('cat');
$this_category = get_category($cat);
$this_category = wp_list_categories('hide_empty=0&hierarchical=true&orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
if($this_category !='<li>No categories</li>')
{
echo '<h3>Products</h3>';
echo '<ul>'.$this_category.'</ul>';
}
}
?>
我曾尝试使用foreach但它没有工作可能是我错了某处因为不是php中的高手
<?php
if (is_category()) {
$cat = get_query_var('cat');
$this_category = get_category($cat);
$this_category = wp_list_categories('hide_empty=0&hierarchical=true&orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
if($this_category !='<li>No categories</li>')
{
echo '<h3>Products</h3>';
echo '<select>';
foreach($this_category as $list) {
echo '<option>'.$list.'</option>';
}
echo '</select>';
}
}
?>
答案 0 :(得分:0)
所以你的代码似乎没有进入foreach循环。变量$ this_category似乎是一个字符串,而不是可以迭代的数组。
执行字符串替换以将<li>
标记切换为<option>
,然后回显它:
$this_category = str_replace('<li>', '<option>', $this_category);
$this_category = str_replace('</li>', '</option>', $this_category);
echo '<select>'.$this_category.'</select>';