プラグインWooCommerceのwoocommerce_no_products_foundフィルタの使用方法・解説

概要

woocommerce_no_products_found フィルタは、WooCommerceで商品が見つからなかった際に表示されるメッセージをカスタマイズするために使用されます。このフィルタを使うことで、例えば、特定の条件下で異なるメッセージを表示したり、特定のリダイレクト先を指定したりすることが可能です。

woocommerce_no_products_found フィルタは、以下のような状況で特に便利です。

  1. カスタムメッセージの表示
  2. 特定の商品の在庫がない場合のメッセージ変更
  3. 商品カテゴリに対する説明の追加
  4. サイトのプロモーションやキャンペーン情報の表示
  5. ユーザーに関連する他の製品を提案する
  6. SEOの観点からのカスタマイズ

このフィルタは、WooCommerceバージョン3.0以上、WordPressバージョン4.7以上で使用可能です。

構文

add_filter('woocommerce_no_products_found', 'custom_no_products_found_message', 10, 2);

パラメータ

  • $message (string): デフォルトの「製品が見つかりません」というメッセージ。
  • $query (WP_Query): 現在のクエリ。

戻り値

  • (string): カスタマイズされたメッセージ。

サンプルコード

サンプルコード 1: カスタムメッセージの表示

このサンプルコードは、商品が見つからなかった場合に、特定のカスタムメッセージを表示します。

add_filter('woocommerce_no_products_found', function($message) {
    return __('申し訳ありませんが、該当する商品はありません。', 'woocommerce');
});

引用元: https://docs.woocommerce.com

サンプルコード 2: 商品カテゴリに基づくメッセージの変更

商品カテゴリが特定のものである場合に、異なるメッセージを表示します。

add_filter('woocommerce_no_products_found', function($message, $query) {
    if (is_product_category('特定のカテゴリ')) {
        return __('このカテゴリには商品がありません。', 'woocommerce');
    }
    return $message;
}, 10, 2);

引用元: https://wpastra.com

サンプルコード 3: ユーザーへのリコメンドメッセージの追加

商品が見つからなかった場合に、他の人気商品をおすすめするメッセージを表示します。

add_filter('woocommerce_no_products_found', function($message) {
    return $message . '<br>' . __('人気商品をチェックしてみてください!', 'woocommerce');
});

引用元: https://wpmudev.com

サンプルコード 4: 在庫切れ商品のリダイレクト

在庫切れの商品が見つからなかった場合に、特定のページへリダイレクトします。

add_filter('woocommerce_no_products_found', function($message) {
    wp_redirect(home_url('/お知らせ'));
    exit;
});

引用元: https://kinsta.com

サンプルコード 5: オンラインストアの特別オファーの表示

商品が見つからなかった場合に、特別オファーの情報を表示します。

add_filter('woocommerce_no_products_found', function($message) {
    return $message . '<br>' . __('特別オファー中!今すぐ購入して10%オフ!', 'woocommerce');
});

引用元: https://wpbeaverbuilder.com

この関数のアクションでの使用可能性

アクション 使用例有無
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

この関数について質問する


上の計算式の答えを入力してください