Snow Monkey カートに入っているアイテム数をヘッダーに表示する【WordPress・WooCommerce】カスタマイズ

  • ブックマーク

WordPressのWooCommerceのカートに入れたアイテム数をカートのアイコンで、ヘッダー部分に表示するカスタマイズを Snow Monkeyテーマで行なった。

Snow Monkeyのバージョンに注意
バージョン: 11.7.2 にて、検証している

こんなの↓

カスタマイズを行う上で助かったのが、Snow Monkey サポートフォーラムにドンピシャの記事があった。

Snow Monkeyの知見が蓄積されていて、本当にありがたい。

行なったカスタマイズは以下の通り。

functions.phpにこちらのコードを追加

/* Woocommerce カート 表示  */
add_shortcode(
	'my_cart_contents_count',
	function() {
		ob_start();
		$counts_cart_items = WC()->cart->get_cart_contents_count();
		if ( $counts_cart_items == 0 ){
                $quantity_class = "zero_quantity_badge quantity_badge";
		}
		else{
                $quantity_class = "quantity_badge";
		}
	    ?>
		    <a class="head_cart" href="<?php echo esc_url( wc_get_cart_url() ); ?>">
			<span class="cart-icon"><i class="fas fa-shopping-cart"></i></span>
			<span class="<?php echo $quantity_class; ?>"><?php echo $counts_cart_items; ?></span>
		    </a>
		<?php
		return ob_get_clean();
	 }

CSSにこちらのコードを追加

* woocommerce cart icon  */
span.cart-icon {
    color: #333;
    font-size: 28px;
}

span.quantity_badge {
    position: relative;
    top: -16px;
    left: -10px;
}

span.quantity_badge {
    position: relative;
    top: -16px;
    left: -10px;
    background-color: #cd162c;
    padding: 5px 10px;
    border-radius: 16px;
    color: #fff;
    text-decoration: none !important;
}

.p-header-content.p-header-content--lg a.head_cart {
    text-decoration: none;
}

.zero_quantity_badge{
	background-color:transparent !important;
}
span.zero_quantity_badge{
	color:transparent !important;
}

.c-row__col.c-row__col--fit.u-invisible-md-down {
    display: block !important;
}

@media screen and (max-width: 480px) {
span.cart-icon {
    font-size: 20px;
    top: 16px;
	left: 10px;
    position: relative;
}
span.quantity_badge {
    position: relative;
    top: -28px;
    left: 20px;
    padding: 2px 6px;
    border-radius: 11px;
    color: #fff;
    text-decoration: none !important;
    font-size: 14px !important;
}
}
	@media screen and (max-width: 320px){
span.cart-icon {
    left: 4px;
}
span.quantity_badge {
    left: 14px;
    padding: 2px 6px;
}
}
/* end woocommerce cart icon  */

あとは、管理画面のカスタマイザーヘッダーヘッダーコンテンツ に、下のショートコードを貼り付けるとOK。

[my_cart_contents_count]

カートが空の場合は、数字の赤色バッチを非表示にするよう、工夫してある。

↓ PCでの表示

↓ スマホでの表示

↓ カートが空の場合の表示

(以上)

Youtube

  • ブックマーク

この記事を書いた人

情報発信ナビゲーター 大東 信仁

情報発信ナビゲーター / 博士課程中退 / ニックネーム : ものくろ / ブロガー / WordPressが得意 / orz レイアウト開発者 / 株式会社 あみだす 代表取締役