HUSKY - Product Filter for WooCommerce

如何在不同页面显示不同的 WooCommerce 筛选器

woof 短代码属于 HUSKY WooCommerce 产品筛选插件,它支持多种属性,让您控制显示哪些筛选器以及它们展示哪些产品。

主要属性:

  • tax_only – 仅显示指定的分类法(产品分类、属性)
  • by_only – 仅显示指定的非分类法筛选器(价格、SKU、库存等)
  • taxonomies – 仅显示指定的分类法术语(与动态重新计数配合使用)

短代码示例

筛选指定分类法

仅显示产品分类和品牌筛选器:

[woof tax_only="product_cat,pa_brand"]

筛选非分类法元素

仅显示价格、SKU 和库存筛选器:

[woof by_only="by_price,by_sku,by_instock"]

组合:分类法 + 非分类法筛选器

显示指定的分类法和非分类法筛选器:

[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]

使用 taxonomies 属性(用于动态重新计数)

仅显示指定分类法中的指定术语:

[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]

注意: 当您启用“动态重新计数”或“隐藏空选项”时,需要使用 taxonomies 属性。

完整设置指南

第 1 步:创建您的短代码

为每个页面创建不同的 [woof] 短代码,并带上合适的属性。

示例:

  • 供应商 A:[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • 供应商 B:[woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]

第 2 步:将短代码放置到小工具中

  1. 前往 外观 → 小工具
  2. 文本自定义 HTML 小工具添加到侧边栏
  3. 将您的短代码粘贴到小工具中
  4. 为每个短代码创建单独的小工具

第 3 步:安装条件小工具插件

您需要一个插件来根据页面条件控制小工具的可见性。

选择一个:

第 4 步:设置可见性条件

为每个小工具添加条件逻辑,以控制其显示位置。

条件逻辑示例

在指定页面显示筛选器

通过页面别名:

is_page('supplier-nike')

通过页面 ID:

is_page(123)

在多个页面显示筛选器

is_page(array('supplier-1', 'supplier-2', 'supplier-3'))

在产品分类存档页显示筛选器

通过分类 ID:

is_product_category(35)

通过分类别名:

is_product_category('electronics')

在自定义分类法页显示筛选器

is_tax('supplier', 'nike-products')

排除指定页面

除页面 123 外,其他所有页面都显示:

!is_page(123)

完整示例设置

场景:3 个供应商使用不同的筛选器

供应商 A(Nike)– 页面 ID:123

  • 短代码:[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • 小工具条件:is_page(123)
  • 结果:显示所有产品分类,并带有尺寸、颜色和价格筛选器

供应商 B(Adidas)– 页面别名:adidas-products

  • 短代码:[woof taxonomies="product_cat:40,41,42" by_only="by_instock"]
  • 小工具条件:is_page('adidas-products')
  • 结果:仅显示分类 ID 40、41、42 以及库存筛选器

供应商 C – 分类存档页 ID:50

  • 短代码:[woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"]
  • 小工具条件:is_product_category(50)
  • 结果:显示分类、品牌、价格和 SKU 筛选器

理解属性

tax_only 与 taxonomies 的区别

使用 tax_only 时:

  • 您希望显示整个分类法(所有术语)
  • 示例:tax_only="product_cat,pa_brand" 会显示所有分类和所有品牌

使用 taxonomies 时:

  • 您已经启用“动态重新计数”或“隐藏空选项”
  • 您希望显示指定分类法中的指定术语
  • 示例:taxonomies="product_cat:35,42+pa_brand:nike" 仅显示分类 ID 35 和 42,以及仅显示 Nike 品牌

by_only 的值

by_only 可用的非分类法筛选器:

  • by_price – 价格范围滑块
  • by_sku – 按 SKU 搜索
  • by_text – 文本搜索
  • by_author – 按作者筛选
  • by_onsales – 仅显示促销产品
  • by_instock – 仅显示有货产品
  • 自定义字段键(如果在 WOOF 设置中启用)

使用 by_only="none" 可隐藏所有非分类法筛选器。

查找 ID 和别名

产品分类 ID

  1. 前往 产品 → 产品分类
  2. 鼠标悬停在分类名称上
  3. 查看浏览器状态栏或 URL
  4. 找到 tag_ID=35 – 数字即为分类 ID

页面 ID

  1. 前往 页面
  2. 鼠标悬停在页面名称上
  3. 查看 URL:post=123
  4. 数字即为页面 ID

属性别名

  1. 前往 产品 → 属性
  2. 属性别名以 pa_ 开头
  3. 示例:pa_brandpa_sizepa_colorpa_material

测试您的设置

  1. 先测试短代码
    • 将短代码直接放在测试页面上
    • 确认筛选器正确显示
    • 检查筛选功能是否正常
  2. 测试小工具可见性
    • 访问每个应该显示筛选器的页面
    • 确认显示的是正确的筛选器
    • 检查其他筛选器是否没有出现
  3. 确保每页只有一个筛选器
    • 同一页面有多个筛选器会导致冲突
    • 使用小工具条件确保互斥性

重要限制

每页仅一个筛选器: 同一时间每页只能激活一个 WOOF 筛选器。多个筛选器会冲突。

解决方案: 使用小工具条件逻辑,确保每页仅显示一个筛选器小工具。

提示

  1. 先直接测试短代码
    • 在添加到小工具之前,先在普通页面上测试短代码
    • 确保属性正确
  2. 使用互斥条件
    • 确保小工具条件不重叠
    • 每页只能有一个筛选器可见
  3. 使用否定条件
    • 使用 !is_page(123) 排除指定页面
    • 适用于“除……外都显示”的场景
  4. 检查属性别名
    • 属性别名必须以 pa_ 开头
    • 错误的别名会导致筛选器不显示

完整文档

关于短代码属性的完整参考,请访问:https://products-filter.com/shortcode/woof

故障排除

筛选器未显示

可能的原因:

  • 当前页面的小工具条件为 false
  • 短代码属性不正确
  • 分类/属性 ID 不存在
  • 多个筛选器冲突

解决方案:

  • 确认页面 ID/别名与条件匹配
  • 在“产品 → 产品分类”中检查分类 ID
  • 先在普通页面上测试短代码
  • 确保每页仅有一个筛选器小工具

显示错误的产品

可能的原因:

  • 分类 ID 不正确
  • 属性别名错误
  • 使用了错误的属性(tax_onlytaxonomies

解决方案:

  • 仔细检查分类 ID
  • 确认属性别名以 pa_ 开头
  • 如果启用了动态重新计数,请使用 taxonomies
  • 先用更简单的短代码进行测试

多个筛选器同时显示

原因: 小工具条件重叠

解决方案:

  • 检查所有小工具条件
  • 确保彼此互斥
  • 使用否定条件进行区分

筛选器显示在错误的页面上

原因: 小工具条件过于宽泛

解决方案:

  • 使条件更具体
  • 如果需要,使用页面 ID 而不是分类
  • 仔细测试条件逻辑

总结

要在不同页面上显示不同的筛选器:

  1. 创建自定义 [woof] 短代码,并使用 tax_only 和/或 by_only 属性
  2. 将每个短代码分别放入单独的文本/HTML 小工具中
  3. 安装 Widget Logic 插件
  4. 为每个小工具添加条件逻辑(例如 is_page(123)
  5. 测试以确保每页仅显示一个筛选器

请记住: 每页只能激活一个筛选器。使用小工具条件确保互斥性。