woof_products_ids_prediction
woof_products_ids_prediction
El shortcode [woof_products_ids_prediction] es un envoltorio especializado para [woof_products] diseñado para predecir qué IDs de producto coincidirán con el estado actual del filtro. Es útil para configuraciones impulsadas por 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 el indicador is_prediction establecido en true. La única diferencia de comportamiento es que per_page por defecto es 9999 en modo de predicción, lo que significa que devuelve todos los productos coincidentes por defecto, lo cual es útil para obtener el conjunto completo de IDs de producto.
Atributos
Soporta todos los atributos de [woof_products]:
| Atributo | Valor predeterminado | Descripción |
|---|---|---|
columns | Valor 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 el predeterminado) |
page | 1 | Número de página para la 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 (ej., recent para productos recientes) |
custom_tpl | '' | Ruta a un archivo de plantilla personalizado (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 de IDs de producto específicos separados por comas para mostrar |
post__in | '' | Lista de IDs de entrada separados por comas para 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 por defecto es 9999. En el shortcode regular [woof_products], por defecto es 0 (usa la configuración del plugin).
Uso Básico
[woof_products_ids_prediction]
Devuelve todos los IDs de producto 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 los IDs de los 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 deseas 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 por defecto obtiene todos los productos coincidentes (per_page=9999), lo que lo hace ideal para obtener el conjunto completo de IDs de producto.