概要
woocommerce_product_review_list_args
は、WooCommerceの製品レビューリストに関連するフィルターフックです。このフィルタを使用すると、製品レビューの表示に関する引数をカスタマイズすることができます。具体的には、レビューの取得や表示の方法を調整したり、表示するレビューの数や順序を変更したりする際によく用いられます。
このフィルタは、次のような機能を実装する際に役立ちます。
- 特定の製品に対するレビューの表示順序を変更する。
- 表示するレビューの数を制限する(例えば、最新のレビューのみを表示)。
- レビューのフィルタリング(特定の評価以上のレビューのみ表示)。
- レビュー表示のデザインをカスタマイズするために必要な引数を追加する。
- スパムレビューを非公開にするためのカスタム条件を追加する。
- レビューのカスタムメタデータを取り扱うための引数を追加する。
構文
add_filter('woocommerce_product_review_list_args', 'your_function_name');
パラメータ
$args
: 製品レビューリストの引数を表す配列。
戻り値
- フィルタされた引数の配列。
使用可能なプラグインバージョン
- WooCommerceバージョン: 2.1.0以降
- WordPressバージョン: 3.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: レビュー表示数の変更
function custom_review_list_args($args) {
$args['number'] = 5; // 表示するレビューの数を5に変更
return $args;
}
add_filter('woocommerce_product_review_list_args', 'custom_review_list_args');
このサンプルコードは、製品レビューのリストが表示される際に、レビューの数を5に制限します。
サンプルコード 2: 評価の高いレビューのみ表示
function filter_reviews_by_rating($args) {
$args['meta_query'] = array(
array(
'key' => 'rating',
'value' => 4,
'compare' => '>=',
'type' => 'NUMERIC',
),
);
return $args;
}
add_filter('woocommerce_product_review_list_args', 'filter_reviews_by_rating');
このサンプルコードでは、評価が4以上のレビューのみを表示するためのメタクエリを追加しています。
サンプルコード 3: SQLのORDER BYの変更
function change_review_order($args) {
$args['orderby'] = 'date'; // 日付順にソート
$args['order'] = 'DESC'; // 新しいレビューが最初に表示される
return $args;
}
add_filter('woocommerce_product_review_list_args', 'change_review_order');
このコードは、レビューを日付順で新しいものから古いものへと表示するように変更します。
サンプルコード 4: レビューの表示スタイル変更用引数追加
function add_custom_review_args($args) {
$args['style'] = 'custom'; // カスタムスタイルの追加
return $args;
}
add_filter('woocommerce_product_review_list_args', 'add_custom_review_args');
このサンプルでは、レビューにカスタムスタイルの引数を追加します。
サンプルコード 5: 特定ユーザーのレビューを非表示
function hide_specific_user_reviews($args) {
$args['author__not_in'] = array(1, 2); // ID 1と2のユーザーのレビューを非表示
return $args;
}
add_filter('woocommerce_product_review_list_args', 'hide_specific_user_reviews');
このコードは、特定のユーザーが書いたレビューを非表示にするための条件を追加しています。
引用元
これらのサンプルコードは一般的な事例に基づいており、具体的な引用元はありませんが、WooCommerceの公式ドキュメントや多数の開発者サイト(例: Stack Overflow, WooCommerceのフォーラム)で似たようなコードを見つけることができます。