从显示类别为Woocommerce的子类别的产品类别中删除边栏

激发开发人员

我想编写一个函数,从显示类型为子类别的woocommerce中的任何产品类别页面中删除侧边栏。

如果该类别具有显示类型子类别,则某种功能会消失,侧边栏将消失。

任何帮助表示赞赏。

LoicTheAztec

它主要取决于主题自己的自定义。因此,以下代码将仅处理:

  • 基于woocommerce_sidebar操作挂钩的默认woocommerce行为
  • 基于storefront_sidebar操作挂钩的店面主题。

自定义条件函数:

首先,下面是一个自定义条件函数,它将检查是否使用'subcategories'显示类型设置了产品类别术语

// Custom conditional function that check for "subcategories" display type in product categories term
function is_subcategory_display_type( $term ) {
    $taxonomy = 'product_cat';

    if( ! term_exists( $term, $taxonomy ) )
        return false;

    if( ! is_numeric( $term ) )
        $term = get_term_by( 'slug', sanitize_title( $term ), $taxonomy )->term_id;

    return get_term_meta( $term, 'display_type', true ) === 'subcategories' ?  true : false;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。


然后,根据您的主题添加其中之一:

1)对于使用默认woocommerce_sidebar挂钩的常规主题

// Removing default themes woocommerce sidebar conditionally
add_action( 'woocommerce_sidebar', 'remove_woocommerce_sidebar', 1, 1 );
function remove_woocommerce_sidebar( $name ){

    $queried_object_id = get_queried_object_id();

    if ( is_product_category() && is_subcategory_display_type( $queried_object_id ) ){
        remove_action('woocommerce_sidebar','woocommerce_get_sidebar', 10 );
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。


2)对于使用自己的storefront_sidebar挂钩的Storefront主题

// Removing default "Storefront" theme woocommerce sidebar conditionally
add_action( 'storefront_sidebar', 'remove_storefront_get_sidebar', 1, 1 );
function remove_storefront_get_sidebar( $name ){

    $queried_object_id = get_queried_object_id();

    if ( is_product_category() && is_subcategory_display_type( $queried_object_id ) ){
        remove_action('storefront_sidebar','storefront_get_sidebar', 10 );
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。


3)具有特定定制的其他主题

您将必须找出用于使代码正常工作的钩子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除Woocommerce中针对特定产品类别的添加购物车按钮

删除WooCommerce 3中特定产品类别的“添加到购物车”按钮

仅显示Woocommerce子产品类别

Woocommerce中带有产品类别的产品变体WP_Query

显示Woocommerce中特定产品类别的产品

隐藏Woocommerce中具有特定产品类别的产品

从Woocommerce中的子产品类别ID获取父产品类别ID

产品类别的WooCommerce产品价格中的自定义小数

取消设置woocommerce中特定产品类别的产品选项卡

列出Woocommerce中给定产品类别的子类别

在Woocommerce中显示类别产品之后移动产品类别描述

获取Woocommerce中特定产品类别的特定产品属性值

用Woocommerce 3中特定产品类别的产品替换加售商品

在Woocommerce中仅允许购买特定产品类别的一种产品

列出WooCommerce中产品类别的主要产品子类别

在Woocommerce中删除产品类别的占位符图像

隐藏购物车中“ WooCommerce”产品类别的“删除商品”

在Woocommerce中检查产品类别的产品

从WooCommerce中的“相关产品”中排除产品类别

定位特定的产品类别,它是WooCommerce中的子类别

在Woocommerce档案中获取当前产品类别的子类别

删除产品类别的已定义组的WooCommerce付款网关

在WooCommerce结帐页面上显示产品类别

WooCommerce在产品标题中显示产品类别

仅显示 WooCommerce 主要产品类别

在 Woocommerce 中获取并显示产品类别的特色图片

从 WooCommerce 产品类别小部件中删除父类别和子类别

在 WooCommerce 中显示不包括产品类别的订单项目名称

每个产品类别的总价格值 - Woocommerce