概要
woocommerce_cart_is_empty フィルタは、WooCommerce のカートが空であるかどうかを判断する際に使用されます。このフィルタを活用することで、カートが空の場合に特定の処理を追加したり、カスタマイズしたりすることができます。例としては、以下のような機能が考えられます:
- 空のカートの場合に特別なメッセージを表示する
- 空のカート時に特定の商品のおすすめを表示する
- 空のカートでのリダイレクト処理
- クーポンやプロモーションを表示する
- 空のカートに関連するカスタムトラッキングを実施する
- ログインを促すメッセージを表示する
構文
add_filter('woocommerce_cart_is_empty', 'your_function_name', 10, 1);
パラメータ
$is_empty(bool): カートが空であるかどうかを示す変数。
戻り値
- (bool): カートが空である場合は
true、そうでない場合はfalse。
使用可能なバージョン
- WooCommerce: 3.0.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_cart_is_empty', 'custom_empty_cart_message');
function custom_empty_cart_message($is_empty) {
if ($is_empty) {
echo '<p>カートは空です。商品を追加してください。</p>';
}
return $is_empty;
}
引用元: https://docs.woocommerce.com/document/introduction-to-hooks/
サンプル2: 空のカートに特定の商品を表示
カートが空のときに特定の商品を表示するためのサンプルコードです。
add_filter('woocommerce_cart_is_empty', 'show_recommended_product');
function show_recommended_product($is_empty) {
if ($is_empty) {
echo '<p>お勧め商品:<a href="特定の商品のURL">こちら</a>をチェックしてください。</p>';
}
return $is_empty;
}
引用元: https://woostify.com/woocommerce-hooks/
サンプル3: 空のカート時にリダイレクト
このコードは、カートが空の場合に特定のページにリダイレクトします。
add_filter('woocommerce_cart_is_empty', 'redirect_empty_cart');
function redirect_empty_cart($is_empty) {
if ($is_empty) {
wp_redirect(home_url('/shop'));
exit;
}
return $is_empty;
}
引用元: https://developer.wordpress.org/plugins/hooks/
サンプル4: 空のカートにクーポンを表示
カートが空の時に、クーポンコードを表示するサンプルコードです。
add_filter('woocommerce_cart_is_empty', 'display_coupon_code');
function display_coupon_code($is_empty) {
if ($is_empty) {
echo '<p>今ならクーポンコード "WELCOME" で10%オフ!</p>';
}
return $is_empty;
}
引用元: https://www.wpbeginner.com/
サンプル5: ログインを促すメッセージ表示
カートが空である場合に、ログインを促すメッセージを表示します。
add_filter('woocommerce_cart_is_empty', 'prompt_login_for_cart');
function prompt_login_for_cart($is_empty) {
if ($is_empty) {
echo '<p>ログインすると特別なオファーがあります。<a href="' . wp_login_url() . '">ログイン</a>してください。</p>';
}
return $is_empty;
}
引用元: https://codex.wordpress.org/Plugin_API/Action_Reference