我正在尝试从我的商店,类别和标签页面中删除面包屑。但没有任何作用。
add_filter( 'woocommerce_before_main_content', 'remove_breadcrumbs');
function remove_breadcrumbs() {
if(!is_product()) {
remove_action(
'woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0);
}
}
想从这里开始,但我不知道缺少什么。
答案 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);
}