如果为空,则隐藏菜单中的产品类别和分类术语

时间:2019-11-01 作者:Carlos Rodríguez

我一直在研究这个问题,到目前为止运气不好。

我有一家WooCommerce商店,主菜单显示产品类别(product\\u cat)和品牌(yith\\u product\\u brand),这是一种自定义分类法。

我想隐藏类别和品牌,如果它们是空的。您知道实现这一点的方法吗,可以使用插件,也可以在函数中添加函数/过滤器。php文件?如果有任何帮助,我们将不胜感激。

提前谢谢。

1 个回复
SO网友:aye cee

不确定自定义分类法,但是我以前使用过此代码来删除空类别。您可以将其添加到函数中。php。

add_filter( \'wp_get_nav_menu_items\', \'nav_remove_empty_category_menu_item\', 10, 3 );
function nav_remove_empty_category_menu_item ( $items, $menu, $args ) {
    global $wpdb;
    $nopost = $wpdb->get_col( "SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE count = 0" );
    foreach ( $items as $key => $item ) {
        if ( ( \'taxonomy\' == $item->type ) && ( in_array( $item->object_id, $nopost ) ) ) {
            unset( $items[$key] );
        }
    }
    return $items;
}

相关推荐

Wp_Term_Taxonomy.Parent引用了什么?

我最初的想法是,它引用了另一种分类法(即wp_term_taxonomy.parent 到wp_term_taxonomy.term_taxonomy_id). Corcel这样的怪物built under this assumption. 然而,我done some digging 大多数信息似乎表明它实际上引用了wp_terms.term_id. 在Corcel的案例中,我认为这种巧合是可行的——WordPress将设置term_id 以及term_taxonomy_id 到相同的值。如果您弄乱了数据