如何将无序列表转换为选择选项

时间:2012-05-14 06:53:12

标签: foreach drop-down-menu selection

您好我正在尝试添加子类别选择列表,我在这里找到了一个很好的代码并且工作正常,但我想将它用作下拉选择而不是未命令列表。谁能帮助我做到这一点。

<?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>';
        }
    }
?>

1 个答案:

答案 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>';