[woof_products_ids_prediction]
El shortcode [woof_products_ids_prediction] es un envoltorio especializado alrededor de [woof_products] diseñado para predecir qué IDs de productos coincidirán con el estado actual del filtro. Es útil en configuraciones basadas en AJAX donde necesitas conocer el conjunto de productos filtrados antes de renderizar.
Cómo funciona
Internamente, este shortcode llama al mismo método woof_products() con la bandera is_prediction establecida en true. La única diferencia de comportamiento es que per_page por defecto es 9999 en el modo de predicción, lo que significa que devuelve todos los productos coincidentes de forma predeterminada, lo cual es útil para obtener el conjunto completo de IDs de productos.
Atributos
Soporta todos los atributos de [woof_products]:
| Atributo | Predeterminado | Descripción |
|---|---|---|
columns | Predeterminado de WooCommerce | Número de columnas de productos |
orderby | no | Campo de ordenación (no = usar configuración de WooCommerce, price, price-desc, date, title, etc.) |
order | no | Orden de clasificación (ASC, DESC, o no para predeterminado) |
page | 1 | Número de página para paginación |
per_page | 9999* | Productos por página. En modo de predicción, el valor predeterminado es 9999 (todos los productos). Usa un número específico si necesitas resultados paginados. |
is_ajax | 0 | Habilitar modo AJAX (1 o 0) |
taxonomies | '' | Filtrar por taxonomías. Formato: product_cat:9,12+locations:30,31 (el signo más separa diferentes taxonomías) |
sid | '' | ID de búsqueda para identificar instancias de filtro específicas |
behavior | '' | Comportamiento especial (p. ej., recent para productos recientes) |
custom_tpl | '' | Ruta a un archivo de plantilla personalizado (p. ej., wp-content/themes/my_theme/woo_tpl_1.php) |
tpl_index | '' | Índice de cualquier extensión de plantilla |
predict_ids_and_continue | false | Predecir IDs y continuar con la consulta completa de productos |
get_args_only | false | Cuando es true, devuelve solo los argumentos de WP_Query sin ejecutar la consulta |
product_ids | '' | Lista separada por comas de IDs de productos específicos a mostrar |
post__in | '' | Lista separada por comas de IDs de entradas a incluir |
display_on_search | 0 | Establecer en 1 para mostrar productos solo cuando una búsqueda/filtro está activo |
* En modo de predicción (woof_products_ids_prediction), per_page tiene como valor predeterminado 9999. En el shortcode normal [woof_products], su valor predeterminado es 0 (usa la configuración del plugin).
Uso básico
[woof_products_ids_prediction]
Devuelve todos los IDs de productos que coinciden con el estado actual del filtro.
Uso con taxonomías
[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]
Devuelve IDs de productos en las categorías 15 y 17, ordenados por precio ascendente.
Uso con AJAX
[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]
Muestra productos en modo AJAX, 12 por página, solo cuando un filtro está activo. En modo de predicción, esto ayuda a precargar el conjunto de resultados esperado.
Obtener solo los argumentos de la consulta
[woof_products_ids_prediction get_args_only="true"]
Devuelve solo los argumentos de WP_Query como un array en lugar de ejecutar la consulta — útil para integraciones personalizadas avanzadas donde quieras inspeccionar o modificar la consulta antes de ejecutarla.
Integración PHP / Hooks
Puedes filtrar la consulta de productos usando los hooks estándar de WooCommerce y HUSKY. Por ejemplo, para modificar los argumentos de la consulta:
add_filter('woof_draw_products_get_args', function($args) {
// Modify query arguments before execution
$args['post_type'] = array('product', 'product_variation');
return $args;
});
Cuándo usar woof_products_ids_prediction vs [woof_products]
- Usa
[woof_products]cuando quieras mostrar productos con filtrado. - Usa
[woof_products_ids_prediction]cuando necesites predecir qué productos coincidirán — por ejemplo, para precargar datos de productos, actualizar un contador o preparar consultas relacionadas antes de renderizar. - El modo de predicción tiene como valor predeterminado la obtención de todos los productos coincidentes (per_page=9999), lo que lo hace ideal para obtener el conjunto completo de IDs de productos.