下面的代码允许用户在类别级别内没有产品时隐藏WooCommerce网站上的“空”类别和子类别级别,但我意识到这不是正确的编码方式,因为它使用***“产品ID”作为参考,而实际上,它需要参照并对照可能在所述类别/子类别级别中的任何产品的“库存水平”*检查自身。
有没有人可以修改下面的代码来检查库存水平**而不是产品ID?我试过了,但没有成功。
function nav_remove_empty_category_menu_item ( $items, $menu, $args ) {
if ( ! is_admin() ) {
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;
}
add_filter( 'wp_get_nav_menu_items', 'nav_remove_empty_category_menu_item', 10, 3 );
2条答案
按热度按时间vmdwslir1#
这个答案实际上是由惊人的MD最后为我编制的。Mehedi Hasan,所有的荣誉都归于他!
y53ybaqx2#
My answer here使用类似的方法,但通过添加一个'hide'类来隐藏空类别,我可以将其添加到CSS中。这保持菜单结构ul>li>ul.submenu>li不变。