从 WooCommerce 产品类别小部件中的术语级别 1 和 2 中删除链接

问题描述 投票:0回答:1
  • 我们正在 WooCommerce 上运行电子商务市场
  • 销售实体产品,商店包含+100k变异产品
  • 有3个级别的类别
  • 在显示产品的存档页面>我们在商店左侧边栏添加了一个小部件,即“产品类别”
  • 这里的主要情况是;在商店页面>产品类别小部件中,所有类别都有链接功能(意味着按任何类别将重定向到相关产品页面),意味着访问者可以点击一级类别并浏览我们不提供的+30k产品不想要,这会导致每个请求的服务器负载很高。
  • 我们正在寻找的是:保留类别术语层次结构,但禁用级别 1 和 2 类别的链接功能,并保留最里面的级别 3 类别,尽管上层类别将在此小部件中仅用于没有任何链接能力的分类目的。

我们如何在不使用插件的情况下实现它。

我在互联网上进行了大量搜索,但没有找到针对此情况的任何解决方案。

php jquery wordpress woocommerce hook-woocommerce
1个回答
0
投票

只需使用以下 jQuery 轻量级脚本,即可从小部件产品类别(列表)的第一级和第二级层次结构中删除产品类别链接:

add_action('wp_head', 'widget_product_cat_custom_js', 99999);
function widget_product_cat_custom_js() {
    wc_enqueue_js("const termLevel = '.wc-block-product-categories-list--depth-';
    $(termLevel+'0 > li > a,'+termLevel+'1 > li > a').each(function(i){
        $(this).removeAttr('href').css('text-decoration','none');
    });");
}

代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。

© www.soinside.com 2019 - 2024. All rights reserved.