概要
フィルタ woocommerce_dashboard_status_widget_top_seller_query
は、WooCommerceの管理ダッシュボードに表示される「売上トップの商品」ウィジェットに関連するクエリを変更するために使用されます。このフィルタを利用することで、表示する商品の制限や順序を調整することができ、特定の要件やニーズに応じたカスタマイズが可能です。特に以下のような機能を実装する際に役立ちます。
- 特定の商品の除外または追加
- トップセラーの定義を変更
- 商品の表示順を変更
- フィルタリング条件の追加
- 転売やデジタル商品の管理
- 複数ストアの統合ビューの実装
構文
フィルタの構文は以下のようになります。
add_filter('woocommerce_dashboard_status_widget_top_seller_query', 'my_custom_top_seller_query', 10, 2);
パラメータ
$query
– クエリの配列形式(array)。$widget
– ウィジェット情報。
戻り値
このフィルタはクエリの配列を返します。返されたクエリに基づいて、「売上トップの商品」が表示されます。
対応バージョン
- WooCommerce: 最低バージョン3.0以降
- WordPress: 最低バージョン4.0以降
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1
add_filter('woocommerce_dashboard_status_widget_top_seller_query', function($query) {
$query['meta_query'][] = array(
'key' => '_stock_status',
'value' => 'instock'
);
return $query;
});
このサンプルでは、在庫のある商品のみを「売上トップの商品」として表示するために、クエリにメタクエリを追加しています。
サンプルコード 2
add_filter('woocommerce_dashboard_status_widget_top_seller_query', function($query) {
$query['orderby'] = 'total_sales';
$query['order'] = 'DESC';
return $query;
});
このサンプルコードでは、商品の販売数が多い順に並び替える設定をクエリに追加しています。
サンプルコード 3
add_filter('woocommerce_dashboard_status_widget_top_seller_query', function($query) {
$query['posts_per_page'] = 5;
return $query;
});
こちらでは、表示する商品数を5件に制限しています。一度に表示されるトップセラーの数を管理できます。
サンプルコード 4
add_filter('woocommerce_dashboard_status_widget_top_seller_query', function($query) {
$query['tax_query'] = array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'clothing'
)
);
return $query;
});
このコードでは、「衣類」カテゴリーの商品のみを表示するようにクエリを修正しています。
サンプルコード 5
add_filter('woocommerce_dashboard_status_widget_top_seller_query', function($query) {
$query['meta_key'] = '_featured';
$query['meta_value'] = 'yes';
return $query;
});
このサンプルは、特定の値を持つフィーチャード商品だけを表示するために、メタキー条件を追加しています。
すべてのサンプルコードは著作権フリーで、WordPress CodexやWooCommerceの公式ドキュメンテーションに基づいています。