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

概要

woocommerce_cross_sells_total は、WooCommerce プラグインの中で、特定の製品に関連する「クロスセル」商品の合計数を返す関数です。この関数は、ショッピング体験を向上させ、顧客が他の関連商品を探しやすくするために役立ちます。通常、以下のような機能を実装する際に利用されます。

  1. カート内の関連商品を表示する
  2. 商品詳細ページにクロスセル商品を表示する
  3. 購入履歴に基づくおすすめ商品を表示する
  4. カートに追加した商品に関連する商品の提案
  5. クロスセル広告の設置
  6. マーケティングキャンペーンの実施

構文

woocommerce_cross_sells_total( $cart );

パラメータ

  • $cart (WC_Cart): WooCommerce のカートオブジェクト。

戻り値

  • int: クロスセル商品の合計数。

互換性

  • WooCommerce バージョン: 2.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( 'woocommerce_cart_totals_after_order_total', 'show_cross_sells_total' );

function show_cross_sells_total() {
    $cart = WC()->cart;
    $cross_sells_total = woocommerce_cross_sells_total( $cart );

    echo '<p>クロスセル商品の合計: ' . $cross_sells_total . '</p>';
}

説明: カートの合計金額の後に、クロスセル商品の合計数を表示します。

サンプルコード 2: クロスセル商品をカスタムメッセージで表示

add_action( 'woocommerce_checkout_before_order_review', 'custom_cross_sells_message' );

function custom_cross_sells_message() {
    $cart = WC()->cart;
    $cross_sells_total = woocommerce_cross_sells_total( $cart );

    echo '<p>あなたは ' . $cross_sells_total . ' の関連商品を購入しています。</p>';
}

説明: チェックアウト画面にクロスセル商品の数をカスタムメッセージとして表示します。

サンプルコード 3: クロスセル商品がゼロの場合の処理

add_action( 'woocommerce_cart_updated', 'check_cross_sells_count' );

function check_cross_sells_count() {
    $cart = WC()->cart;
    $cross_sells_total = woocommerce_cross_sells_total( $cart );

    if ( $cross_sells_total === 0 ) {
        wc_add_notice( 'おすすめ商品はありません。', 'notice' );
    }
}

説明: カートが更新された際に、クロスセル商品がない場合に通知を表示します。

サンプルコード 4: クロスセル商品のidを取得

add_action( 'woocommerce_before_cart', 'list_cross_sells_ids' );

function list_cross_sells_ids() {
    $cart = WC()->cart;
    $cross_sells_total = woocommerce_cross_sells_total( $cart );

    if ( $cross_sells_total > 0 ) {
        echo '<p>クロスセル商品ID:</p>';
        foreach ( $cart->get_cross_sells() as $cross_sell ) {
            echo '<p>ID: ' . $cross_sell . '</p>';
        }
    }
}

説明: カートにあるクロスセル商品のIDをリスト表示します。

サンプルコード 5: クロスセルの商品のリンクを表示

add_action( 'woocommerce_after_cart', 'display_cross_sells_links' );

function display_cross_sells_links() {
    $cart = WC()->cart;
    $cross_sells = $cart->get_cross_sells();

    if ( ! empty( $cross_sells ) ) {
        echo '<h3>おすすめ商品</h3><ul>';
        foreach ( $cross_sells as $cross_sell_id ) {
            echo '<li><a href="' . get_permalink( $cross_sell_id ) . '">' . get_the_title( $cross_sell_id ) . '</a></li>';
        }
        echo '</ul>';
    }
}

説明: クロスセル商品のリンクをリスト形式で表示します。

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


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