プラグインWooCommerceのwoocommerce_is_checkout関数の使用方法・解説

概要

woocommerce_is_checkout 関数は、WooCommerceプラグイン内でチェックアウトページが表示されているかどうかを判定するための便利な関数です。この関数は、さまざまなカスタマイズや条件付き表示を実装する際に広く使用されます。具体的には、以下のような機能を実装する時に利用されることが多いです。

  1. チェックアウトページ専用のスタイルやスクリプトの読み込み
  2. チェックアウト時の特定の条件に基づくメッセージの表示
  3. 不要なコンテンツの非表示設定
  4. チェックアウト時のカスタムフィールドの表示/非表示
  5. ユーザーの入力内容に基づく動的なコンテンツの表示
  6. チェックアウト条件を満たす場合のみ実行するフックのトリガー

構文

woocommerce_is_checkout( $var = false );

パラメータ

  • $var (bool): オプション。trueの場合、カートも含めたチェックアウトページを判定します。デフォルトはfalse

戻り値

  • (bool): チェックアウトページであればtrue、そうでなければfalse

使用可能なバージョン

  • 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_action('wp_enqueue_scripts', 'my_custom_checkout_script');
function my_custom_checkout_script() {
    if (woocommerce_is_checkout()) {
        wp_enqueue_script('my-checkout-script', get_template_directory_uri() . '/js/checkout.js', array('jquery'), null, true);
    }
}

引用元

wp_enqueue_script()


サンプルコード2: チェックアウトページ用のメッセージ表示

このコードは、チェックアウトページに特定のメッセージを表示します。

add_action('woocommerce_before_checkout_form', 'custom_checkout_message');
function custom_checkout_message() {
    if (woocommerce_is_checkout()) {
        echo '<div class="notice notice-info">ご注意: 使用しているクレジットカードの種類を確認してください。</div>';
    }
}

引用元

https://developer woocommerce.com/reference/hooks/


サンプルコード3: 不要なウィジェットを非表示にする

このコードでは、チェックアウトページで特定のウィジェットを非表示にします。

add_action('get_sidebar', 'remove_sidebar_on_checkout');
function remove_sidebar_on_checkout() {
    if (woocommerce_is_checkout()) {
        remove_action('get_sidebar', 'your_sidebar_function');
    }
}

引用元

https://codex.wordpress.org/Function_Reference/remove_action


サンプルコード4: カスタムフィールドを表示

このサンプルでは、特定の条件を満たす場合にのみ、チェックアウトページでカスタムフィールドを表示します。

add_action('woocommerce_checkout_before_order_review', 'add_custom_checkout_field');
function add_custom_checkout_field() {
    if (woocommerce_is_checkout()) {
        echo '<div class="custom-field"><input type="text" name="custom_field" placeholder="カスタムフィールド"></div>';
    }
}

引用元

https://woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/


サンプルコード5: チェックアウトが済んだ後のカスタムアクション

このコードは、チェックアウトが完了した際に関数を実行します。

add_action('woocommerce_thankyou', 'action_after_checkout');
function action_after_checkout($order_id) {
    if (woocommerce_is_checkout()) {
        // 注文後の処理をここに記述
    }
}

引用元

https://docs.woocommerce.com/wc-apidocs/class-WC_Checkout.html


これらのサンプルコードは、woocommerce_is_checkout 関数を活用して、さまざまなチェックアウトページのカスタマイズを示しています。

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


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