HUSKY - Products Filter Professional for WooCommerce

woof_products_ids_prediction

HUSKY 插件短代码 woof_products_ids_prediction 的文档 —— 包含代码示例的技术参考

woof_products_ids_prediction

[woof_products_ids_prediction] 短代码是 [woof_products] 的一个专用包装器,旨在预测哪些产品 ID 将与当前筛选状态匹配。它对于 AJAX 驱动的设置非常有用,在这些设置中,您需要在渲染之前了解经过筛选的产品集。

工作原理

在内部,此短代码调用相同的 woof_products() 方法,并将 is_prediction 标志设置为 true。唯一的行为差异是,在预测模式下,per_page 默认为 9999 —— 这意味着它默认返回所有匹配的产品,这对于获取完整的产品 ID 集非常有用。

属性

支持 [woof_products] 的所有属性:

属性默认值描述
columnsWooCommerce 默认值产品列数
orderbyno排序字段(no = 使用 WooCommerce 设置,priceprice-descdatetitle 等)
orderno排序顺序(ASCDESC,或 no 表示默认)
page1分页页码
per_page9999*每页产品数。在预测模式下,默认为 9999(所有产品)。如果需要分页结果,请使用特定数字。
is_ajax0启用 AJAX 模式(10
taxonomies''按分类法筛选。格式:product_cat:9,12+locations:30,31(加号分隔不同的分类法)
sid''用于识别特定筛选器实例的搜索 ID
behavior''特殊行为(例如,recent 表示最新产品)
custom_tpl''自定义模板文件的路径(例如,wp-content/themes/my_theme/woo_tpl_1.php
tpl_index''任何模板扩展的索引
predict_ids_and_continuefalse预测 ID 并继续执行完整的产品查询
get_args_onlyfalsetrue 时,仅返回 WP_Query 参数而不执行查询
product_ids''要显示的产品 ID 的逗号分隔列表
post__in''要包含的帖子 ID 的逗号分隔列表
display_on_search0设置为 1 以仅在搜索/筛选器处于活动状态时显示产品

* 在预测模式 (woof_products_ids_prediction) 下,per_page 默认为 9999。在常规的 [woof_products] 短代码中,它默认为 0(使用插件设置)。

基本用法

[woof_products_ids_prediction]

返回所有与当前筛选状态匹配的产品 ID。

与分类法一起使用

[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]

返回分类 15 和 17 中的产品 ID,按价格升序排序。

与 AJAX 一起使用

[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]

在 AJAX 模式下显示产品,每页 12 个,仅当筛选器处于活动状态时。在预测模式下,这有助于预加载预期的结果集。

仅获取查询参数

[woof_products_ids_prediction get_args_only="true"]

仅以数组形式返回 WP_Query 参数,而不执行查询 —— 这对于高级自定义集成非常有用,您可以在运行查询之前检查或修改它。

PHP / 钩子集成

您可以使用标准的 WooCommerce 和 HUSKY 钩子来筛选产品查询。例如,要修改查询参数:

add_filter('woof_draw_products_get_args', function($args) {
    // 在执行前修改查询参数
    $args['post_type'] = array('product', 'product_variation');
    return $args;
});

何时使用 woof_products_ids_prediction[woof_products]

  • 当您想要显示带筛选功能的产品时,请使用 [woof_products]
  • 当您需要预测哪些产品将匹配时,请使用 [woof_products_ids_prediction] —— 例如,预加载产品数据、更新计数器或在渲染前准备相关查询。
  • 预测模式默认获取所有匹配的产品(per_page=9999),这使其成为获取完整产品 ID 集的理想选择。