概要
woocommerce_after_cart_contents
アクションは、WooCommerceのカートの内容が表示された後にカスタムコードを実行するためのフックです。このフックを使用することで、カートの表示内容の後に特定の要素や情報を追加することができます。主に以下の機能を実装する際によく使われます。
- カートの合計金額の上にプロモーション情報を表示
- 顧客へのメッセージや注意事項を追加
- 特定の条件に基づいて商品を推薦
- 関連商品のリストを表示
- 追加的なフィールドや情報を提供
- カスタム計算や割引を表示
構文
add_action( 'woocommerce_after_cart_contents', 'your_custom_function' );
パラメータ
このアクションは、特にパラメータを受け取らないため、必要によってはカスタム関数内でグローバル変数を参照するか、他のWooCommerceの関数を使用します。
戻り値
特に戻り値はありません。フック内で出力を行います。
使用可能なWooCommerceバージョン
WooCommerce 2.0.0 以降
使用可能なWordPressバージョン
WordPress 4.0 以降
サンプルコード
サンプルコード 1: プロモーションメッセージの追加
add_action( 'woocommerce_after_cart_contents', 'add_promotion_message' );
function add_promotion_message() {
echo '<div class="promotion-message">今なら全品20%オフ!クーポンコード:SALE20</div>';
}
このコードは、カートの内容が表示された後に特定のプロモーションメッセージを追加します。
サンプルコード 2: 特定商品の推薦
add_action( 'woocommerce_after_cart_contents', 'recommend_products' );
function recommend_products() {
echo '<h3>あなたにおすすめの商品</h3>';
// ここにおすすめ商品のリストを追加するロジックを記述
}
このコードは、カートの内容の下におすすめ商品を提案するセクションを追加します。
サンプルコード 3: カスタムフィールドの追加
add_action( 'woocommerce_after_cart_contents', 'add_custom_field' );
function add_custom_field() {
echo '<div class="custom-field"><label for="custom_note">特記事項:</label><textarea id="custom_note"></textarea></div>';
}
このコードは、カートの後にユーザーが特記事項を入力できるカスタムフィールドを追加します。
サンプルコード 4: メッセージの条件付き表示
add_action( 'woocommerce_after_cart_contents', 'conditional_message' );
function conditional_message() {
if ( WC()->cart->get_cart_contents_count() > 3 ) {
echo '<div class="alert">3つ以上の商品をカートに入れているので、送料無料になります!</div>';
}
}
このコードは、カートに3つ以上の商品が入っている場合にだけメッセージを表示します。
サンプルコード 5: カートのサムネイルをリスト表示
add_action( 'woocommerce_after_cart_contents', 'display_thumbnail_list' );
function display_thumbnail_list() {
echo '<ul>';
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
echo '<li>' . $product->get_image() . '</li>';
}
echo '</ul>';
}
このコードは、カート内の商品それぞれのサムネイルをリスト形式で表示します。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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 |