HUSKY - Product Filter for WooCommerce

[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]:

AtributoPredeterminadoDescripción
columnsPredeterminado de WooCommerceNúmero de columnas de productos
orderbynoCampo de ordenación (no = usar configuración de WooCommerce, price, price-desc, date, title, etc.)
ordernoOrden de clasificación (ASC, DESC, o no para predeterminado)
page1Número de página para paginación
per_page9999*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_ajax0Habilitar 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_continuefalsePredecir IDs y continuar con la consulta completa de productos
get_args_onlyfalseCuando 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_search0Establecer 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.