woof_products_ids_prediction
woof_products_ids_prediction
[woof_products_ids_prediction]ショートコードは、現在のフィルター状態に一致する製品IDを予測するために設計された、[woof_products]の特殊なラッパーです。レンダリング前にフィルターされた製品セットを知る必要があるAJAX駆動のセットアップで役立ちます。
仕組み
内部的には、このショートコードはis_predictionフラグをtrueに設定して、同じwoof_products()メソッドを呼び出します。唯一の動作上の違いは、予測モードではper_pageがデフォルトで9999になることです。これは、デフォルトですべての一致する製品を返すことを意味し、製品IDの完全なセットを取得するのに役立ちます。
属性
[woof_products]のすべての属性をサポートします。
| 属性 | デフォルト | 説明 |
|---|---|---|
columns | WooCommerceデフォルト | 製品の列数 |
orderby | no | 並べ替えフィールド(no = WooCommerce設定を使用, price, price-desc, date, titleなど) |
order | no | ソート順(ASC, DESC, またはデフォルトの場合はno) |
page | 1 | ページネーションのページ番号 |
per_page | 9999* | 1ページあたりの製品数。予測モードではデフォルトで9999(すべての製品)になります。ページ分割された結果が必要な場合は、特定の数を使用してください。 |
is_ajax | 0 | AJAXモードを有効にする(1または0) |
taxonomies | '' | タクソノミーでフィルター。形式: product_cat:9,12+locations:30,31(プラス記号は異なるタクソノミーを区切ります) |
sid | '' | 特定のフィルターインスタンスを識別するための検索ID |
behavior | '' | 特殊な動作(例: 最新の製品の場合はrecent) |
custom_tpl | '' | カスタムテンプレートファイルへのパス(例: wp-content/themes/my_theme/woo_tpl_1.php) |
tpl_index | '' | 任意のテンプレート拡張機能のインデックス |
predict_ids_and_continue | false | IDを予測し、完全な製品クエリを続行します |
get_args_only | false | trueの場合、クエリを実行せずにWP_Query引数のみを返します |
product_ids | '' | 表示する特定の製品IDのカンマ区切りリスト |
post__in | '' | 含める投稿IDのカンマ区切りリスト |
display_on_search | 0 | 検索/フィルターがアクティブな場合にのみ製品を表示するには1に設定します |
* 予測モード(woof_products_ids_prediction)では、per_pageはデフォルトで9999になります。通常の[woof_products]ショートコードでは、デフォルトで0(プラグイン設定を使用)になります。
基本的な使用法
[woof_products_ids_prediction]
現在のフィルター状態に一致するすべての製品IDを返します。
タクソノミーでの使用法
[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]
カテゴリ15および17の製品IDを、価格の昇順でソートして返します。
AJAXでの使用法
[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]
フィルターがアクティブな場合にのみ、AJAXモードで1ページあたり12個の製品を表示します。予測モードでは、これにより期待される結果セットをプリロードするのに役立ちます。
クエリ引数のみの取得
[woof_products_ids_prediction get_args_only="true"]
クエリを実行する代わりに、WP_Query引数のみを配列として返します。これは、クエリを実行する前に検査または変更したい高度なカスタム統合に役立ちます。
PHP / フックの統合
標準のWooCommerceおよびHUSKYフックを使用して製品クエリをフィルターできます。例えば、クエリ引数を変更するには:
add_filter('woof_draw_products_get_args', function($args) {
// Modify query arguments before execution
$args['post_type'] = array('product', 'product_variation');
return $args;
});
woof_products_ids_predictionと[woof_products]の使い分け
- フィルターを適用して製品を表示したい場合は、
[woof_products]を使用します。 - どの製品が一致するかを予測する必要がある場合(例: 製品データのプリロード、カウンターの更新、レンダリング前の関連クエリの準備など)は、
[woof_products_ids_prediction]を使用します。 - 予測モードでは、デフォルトですべての一致する製品(
per_page=9999)を取得するため、製品IDの完全なセットを取得するのに最適です。