【发布时间】:2020-10-02 20:45:06
【问题描述】:
我看过很多类似的帖子,但没有一个专门解决我遇到的问题。
我需要创建一个函数,允许我从我的 woocommerce 网站上的标签云中删除空标签存档页面,这样它们就不会引导用户进入空页面。
我发现的唯一允许删除整个标签云的代码是:
add_action( 'widgets_init', 'misha_remove_product_tag_cloud_widget' );
function misha_remove_product_tag_cloud_widget(){
unregister_widget('WC_Widget_Product_Tag_Cloud');
}
我相信这可以与这样的代码结合使用,它允许从各个位置删除所有未使用的类别:
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;
}
我不确定如何将两者结合使用,但最终结果应该允许将任何未使用的产品标签存档页面从标签云中隐藏起来,直到它们再次被使用或完全从网站上删除 - 但始终阻止用户从访问空标签页!
【问题讨论】:
标签: php wordpress woocommerce widget taxonomy-terms