从商店,类别和标签页面中删除woocommerce breadcrumb

时间:2018-03-07 10:22:44

标签: php wordpress woocommerce

我正在尝试从我的商店,类别和标签页面中删除面包屑。但没有任何作用。

add_filter( 'woocommerce_before_main_content', 'remove_breadcrumbs');
function remove_breadcrumbs() {
    if(!is_product()) {
        remove_action( 
'woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0);
    }
}

想从这里开始,但我不知道缺少什么。

1 个答案:

答案 0 :(得分:1)

通过CSS你可以这样做:

.woocommerce-page section#title {
  display: none;
}

使用CSS删除面包屑不是正确的解决方案,因为它仍然在页面上(但隐藏)并且在页面加载上需要一些时间。

在活动主题文件夹中查找functions.php,并在文件末尾添加此代码:

// Remove breadcrumbs from shop & categories
add_filter( 'woocommerce_before_main_content', 'remove_breadcrumbs');
function remove_breadcrumbs() {
    if(!is_product()) {
        remove_action( 'woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0);
    }
}

使用WooCommerce Conditional Tags我们可以构建自己的逻辑。例如,上面的代码是删除商店和类别页面上的面包屑,但将其保留在单个产品页面上。

您可以在商店页面上删除面包屑,但请将其保留在类别中:

// Remove breadcrumbs only from shop page
add_filter( 'woocommerce_before_main_content', 'remove_breadcrumbs');
function remove_breadcrumbs() {
    if(!is_product() && !is_product_category()) {
        remove_action( 'woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0);
    }
}

或者你也可以通过页面ID或页面slug删除:

add_action('template_redirect', 'remove_page_breadcrumbs' );
function remove_page_breadcrumbs(){
    if (is_page('YOUR_PAGE_ID_OR_SLUG'))
    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0);
}