包含主类别的需求子类别

时间:2018-10-09 作者:Sonjoy Datta

目前,我使用以下代码来获取WooCommerce产品类别。但是,我也需要子类别。还有,删除的方法是什么class="label-0" 从选择选项?

<?php 
        if(isset($_REQUEST[\'product_cat\']) && !empty($_REQUEST[\'product_cat\'])) {
            $optsetlect=$_REQUEST[\'product_cat\'];
        } else {
            $optsetlect=0;  
        }
        $args = array(
            \'show_option_all\' => esc_html__( \'All Categories\', \'woocommerce\' ),
            \'orderby\'            => \'ID\',
            \'hierarchical\' => 1,
            \'class\' => \'cat\',
            \'echo\' => 1,
            \'value_field\' => \'slug\',
            \'selected\' => $optsetlect
        );
        $args[\'taxonomy\'] = \'product_cat\';
        $args[\'name\'] = \'product_cat\';              
        $args[\'class\'] = \'cate-dropdown hidden-xs\';
        wp_dropdown_categories($args);
    ?>
<小时>
<select name="product_cat" id="product_cat" class="cate-dropdown hidden-xs">
    <option value="0" selected="selected">All Categories</option>
    <option class="level-0" value="womens-fashion">Women’s Fashion</option>
    <option class="level-0" value="mans-fashion">Man’s Fashion</option>
    <option class="level-0" value="phones-accessories">Phones &amp; Accessories</option>
</select>

1 个回复
最合适的回答,由SO网友:honk31 整理而成

可能您的孩子是空的,如果是空的,默认情况下他们不会出现。您必须设置hide_empty 参数到true. 另外,我稍微清理了一下数组,首先创建一个,然后在下一行中添加更多参数。保持代码干净。。

$optsetlect = (isset($_REQUEST[\'product_cat\']) && !empty($_REQUEST[\'product_cat\'])) ? $_REQUEST[\'product_cat\'] : 0;

$args = [
    \'show_option_all\' => esc_html__( \'All Categories\', \'woocommerce\' ),
    \'hierarchical\' => 1,
    \'class\' => \'cate-dropdown hidden-xs\',
    \'value_field\' => \'slug\',
    \'selected\' => $optsetlect,
    \'taxonomy\' => \'product_cat\',
    \'name\' => \'product_cat\',
    \'hide_empty\' => 0,
];

wp_dropdown_categories($args);
echo true &;orderby ID 也是默认值,因此无需设置这些。检查docs 进一步的论证。既然你改变了value_field 您也可以在此处检查:

selected (整数|字符串)(可选)最初在下拉列表中选择哪个类别ID。值的类型应与“value\\u field”匹配,默认情况下,value\\u field是term\\u id。例如,如果“value\\u field”设置为“slug”,则“selected”将采用slug而不是ID。

也就是说,您的$\\u请求变量包含一个slug,对吗?!

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post