woof_products_ids_prediction
woof_products_ids_prediction
Der [woof_products_ids_prediction] Shortcode ist ein spezialisierter Wrapper um [woof_products], der entwickelt wurde, um vorherzusagen, welche Produkt-IDs dem aktuellen Filterstatus entsprechen werden. Er ist nützlich für AJAX-gesteuerte Setups, bei denen Sie den gefilterten Produktsatz vor dem Rendern kennen müssen.
Funktionsweise
Intern ruft dieser Shortcode dieselbe woof_products() Methode mit dem is_prediction Flag auf, das auf true gesetzt ist. Der einzige Verhaltensunterschied besteht darin, dass **per_page im Vorhersagemodus standardmäßig auf 9999** gesetzt ist — das bedeutet, dass standardmäßig alle übereinstimmenden Produkte zurückgegeben werden, was nützlich ist, um den vollständigen Satz von Produkt-IDs zu erhalten.
Attribute
Unterstützt alle Attribute von [woof_products]:
| Attribute | Standardwert | Beschreibung |
|---|---|---|
columns | WooCommerce default | Anzahl der Produktspalten |
orderby | no | Sortierfeld (no = WooCommerce-Einstellungen verwenden, price, price-desc, date, title, etc.) |
order | no | Sortierreihenfolge (ASC, DESC oder no für Standard) |
page | 1 | Seitennummer für die Paginierung |
per_page | 9999* | Produkte pro Seite. Im Vorhersagemodus standardmäßig 9999 (alle Produkte). Verwenden Sie eine bestimmte Zahl, wenn Sie paginierte Ergebnisse benötigen. |
is_ajax | 0 | AJAX-Modus aktivieren (1 oder 0) |
taxonomies | '' | Nach Taxonomien filtern. Format: product_cat:9,12+locations:30,31 (Pluszeichen trennt verschiedene Taxonomien) |
sid | '' | Such-ID zur Identifizierung spezifischer Filterinstanzen |
behavior | '' | Spezifisches Verhalten (z.B. recent für kürzlich hinzugefügte Produkte) |
custom_tpl | '' | Pfad zu einer benutzerdefinierten Vorlagendatei (z.B. wp-content/themes/my_theme/woo_tpl_1.php) |
tpl_index | '' | Index einer beliebigen Vorlagenerweiterung |
predict_ids_and_continue | false | IDs vorhersagen und mit der vollständigen Produktabfrage fortfahren |
get_args_only | false | Wenn true, werden nur die WP_Query-Argumente zurückgegeben, ohne die Abfrage auszuführen |
product_ids | '' | Kommagetrennte Liste spezifischer Produkt-IDs zur Anzeige |
post__in | '' | Kommagetrennte Liste von Post-IDs, die eingeschlossen werden sollen |
display_on_search | 0 | Auf 1 setzen, um Produkte nur anzuzeigen, wenn eine Suche/Filter aktiv ist |
* Im Vorhersagemodus (woof_products_ids_prediction) ist per_page standardmäßig auf 9999 gesetzt. Im regulären [woof_products] Shortcode ist es standardmäßig auf 0 gesetzt (verwendet die Plugin-Einstellungen).
Grundlegende Verwendung
[woof_products_ids_prediction]
Gibt alle Produkt-IDs zurück, die dem aktuellen Filterstatus entsprechen.
Verwendung mit Taxonomien
[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]
Gibt IDs von Produkten in den Kategorien 15 und 17 zurück, aufsteigend nach Preis sortiert.
Verwendung mit AJAX
[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]
Zeigt Produkte im AJAX-Modus an, 12 pro Seite, nur wenn ein Filter aktiv ist. Im Vorhersagemodus hilft dies, den erwarteten Ergebnissatz vorzuladen.
Nur Abfrageargumente abrufen
[woof_products_ids_prediction get_args_only="true"]
Gibt nur die WP_Query-Argumente als Array zurück, anstatt die Abfrage auszuführen – nützlich für fortgeschrittene benutzerdefinierte Integrationen, bei denen Sie die Abfrage vor der Ausführung überprüfen oder ändern möchten.
PHP / Hooks Integration
Sie können die Produktabfrage mithilfe der Standard-WooCommerce- und HUSKY-Hooks filtern. Zum Beispiel, um die Abfrageargumente zu ändern:
add_filter('woof_draw_products_get_args', function($args) {
// Abfrageargumente vor der Ausführung ändern
$args['post_type'] = array('product', 'product_variation');
return $args;
});
Wann `woof_products_ids_prediction` vs. `[woof_products]` verwenden
- Verwenden Sie `[woof_products]`, wenn Sie Produkte mit Filterung anzeigen möchten.
- Verwenden Sie `[woof_products_ids_prediction]`, wenn Sie **vorhersagen** müssen, welche Produkte übereinstimmen werden – zum Beispiel, um Produktdaten vorzuladen, einen Zähler zu aktualisieren oder verwandte Abfragen vor dem Rendern vorzubereiten.
- Der Vorhersagemodus ruft standardmäßig alle übereinstimmenden Produkte ab (per_page=9999), was ihn ideal macht, um den vollständigen Satz von Produkt-IDs zu erhalten.