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] 的所有属性:
| 属性 | 默认值 | 描述 |
|---|---|---|
columns | WooCommerce 默认值 | 产品列数 |
orderby | no | 排序字段(no = 使用 WooCommerce 设置,price、price-desc、date、title 等) |
order | no | 排序顺序(ASC、DESC,或 no 表示默认) |
page | 1 | 分页页码 |
per_page | 9999* | 每页产品数。在预测模式下,默认为 9999(所有产品)。如果需要分页结果,请使用特定数字。 |
is_ajax | 0 | 启用 AJAX 模式(1 或 0) |
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_continue | false | 预测 ID 并继续执行完整的产品查询 |
get_args_only | false | 当 true 时,仅返回 WP_Query 参数而不执行查询 |
product_ids | '' | 要显示的产品 ID 的逗号分隔列表 |
post__in | '' | 要包含的帖子 ID 的逗号分隔列表 |
display_on_search | 0 | 设置为 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 集的理想选择。