HUSKY - Product Filter for WooCommerce

[woof_products_ids_prediction]

Le shortcode [woof_products_ids_prediction] est un wrapper spécialisé autour de [woof_products] conçu pour prédire quels IDs de produits correspondront à l'état actuel du filtre. Il est utile pour les configurations pilotées par AJAX où vous avez besoin de connaître l'ensemble des produits filtrés avant le rendu.

Comment ça fonctionne

En interne, ce shortcode appelle la même méthode woof_products() avec le drapeau is_prediction défini sur true. La seule différence de comportement est que per_page par défaut à 9999 en mode prédiction — ce qui signifie qu'il renvoie tous les produits correspondants par défaut, ce qui est utile pour obtenir l'ensemble complet des IDs de produits.

Attributs

Prend en charge tous les attributs de [woof_products] :

AttributDéfautDescription
columnsPar défaut de WooCommerceNombre de colonnes de produits
orderbynoChamp de tri (no = utiliser les paramètres WooCommerce, price, price-desc, date, title, etc.)
ordernoOrdre de tri (ASC, DESC ou no pour défaut)
page1Numéro de page pour la pagination
per_page9999*Produits par page. En mode prédiction, par défaut à 9999 (tous les produits). Utilisez un nombre spécifique si vous avez besoin de résultats paginés.
is_ajax0Activer le mode AJAX (1 ou 0)
taxonomies''Filtrer par taxonomies. Format : product_cat:9,12+locations:30,31 (le signe plus sépare les différentes taxonomies)
sid''ID de recherche pour identifier des instances de filtre spécifiques
behavior''Comportement spécial (par ex., recent pour les produits récents)
custom_tpl''Chemin vers un fichier de modèle personnalisé (par ex., wp-content/themes/my_theme/woo_tpl_1.php)
tpl_index''Index de toute extension de modèle
predict_ids_and_continuefalsePrédire les IDs et continuer avec la requête complète de produits
get_args_onlyfalseLorsque true, renvoie uniquement les arguments de WP_Query sans exécuter la requête
product_ids''Liste séparée par des virgules d'IDs de produits spécifiques à afficher
post__in''Liste séparée par des virgules d'IDs de publications à inclure
display_on_search0Définir sur 1 pour afficher les produits uniquement lorsqu'une recherche/un filtre est actif

* En mode prédiction (woof_products_ids_prediction), per_page par défaut à 9999. Dans le shortcode régulier [woof_products], il par défaut à 0 (utilise les paramètres du plugin).

Utilisation de base


[woof_products_ids_prediction]

Renvoie tous les IDs de produits correspondant à l'état actuel du filtre.

Utilisation avec les taxonomies


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

Renvoie les IDs des produits dans les catégories 15 et 17, triés par prix croissant.

Utilisation avec AJAX


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

Affiche les produits en mode AJAX, 12 par page, uniquement lorsqu'un filtre est actif. En mode prédiction, cela aide à précharger l'ensemble de résultats attendu.

Obtenir uniquement les arguments de requête


[woof_products_ids_prediction get_args_only="true"]

Renvoie uniquement les arguments de WP_Query sous forme de tableau au lieu d'exécuter la requête — utile pour les intégrations personnalisées avancées où vous souhaitez inspecter ou modifier la requête avant de l'exécuter.

Intégration PHP / Hooks

Vous pouvez filtrer la requête de produits en utilisant les hooks standard de WooCommerce et HUSKY. Par exemple, pour modifier les arguments de la requête :


add_filter('woof_draw_products_get_args', function($args) {
    // Modify query arguments before execution
    $args['post_type'] = array('product', 'product_variation');
    return $args;
});

Quand utiliser woof_products_ids_prediction vs [woof_products]

  • Utilisez [woof_products] lorsque vous souhaitez afficher des produits avec filtrage.
  • Utilisez [woof_products_ids_prediction] lorsque vous devez prédire quels produits correspondront — par exemple, pour précharger les données produits, mettre à jour un compteur ou préparer des requêtes connexes avant le rendu.
  • Le mode prédiction par défaut récupère tous les produits correspondants (per_page=9999), ce qui le rend idéal pour obtenir l'ensemble complet des IDs de produits.