web-dev-qa-db-ja.com

wordpress woocommerceを使用してカート内のアイテムの数を取得する

私は実際にウェブサイトを開発しています。しかし、私は問題に直面しています。私はカートにあるアイテムの数を表示する必要がありますが、数だけ、合計金額または他の何かを必要としない他の何もない。アイテムの数を調整します。

Href付きの画像である「カートに移動」リンク上に表示することを目指しています。しかし、これはメインのPbではありません。主なpbは、カート内のアイテムの数だけを取得する方法を見つける方法です。

私はWordPressを使用してAvadaをインストールし、もう少しカスタマイズすることができますWPといくつかのインクルード機能を取得します。しかし、私はavadaメニューを使用していません、私は自家製のメニューを使用しており、その中にカート内のアイテムの数を表示したいです。

「ショッピングサイド」では、WooCommerceを使用しています。

私はフックとこれに関するすべての多くの投稿を見ましたが、それは「アイテムの数とカートの合計量を表示します、車の合計量を表示したくない、私はちょうど番号が欲しいです。このように少し:カートのアイテム数: plein.comウェブサイト

7
Nemzytch

こんにちは、このサイトへようこそ。ただし、私もこの辺りで新しいです! WooCommerceのドキュメントには、実際にはまさにこの目的のためのスニペットがあります。

https://docs.woocommerce.com/document/show-cart-contents-total/

カウントを取得するだけの場合、次のようなことができます。

Cart Total: <?php echo WC()->cart->get_cart_contents_count(); ?>

Ko田

14
Kodaloid

あなたの与えられた説明から、カートの数だけを表示し、他には何も表示しないことを理解しています。これを行うコードを次に示します

このコードブロックをheader.phpまたはこのウィジェットを表示するファイルに追加します...

<a class="cart-customlocation" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php WC()->cart->get_cart_contents_count(); ?></a>

そして、このコードブロックをfunctions.phpに追加します

add_filter('add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;

    ob_start();

    ?>
    <a class="cart-customlocation" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php WC()->cart->get_cart_contents_count(); ?></a>

    <?php

    $fragments['a.cart-customlocation'] = ob_get_clean();

    return $fragments;

}
10
Jawwad Rizwan

Kodaloidの答えに加えて、カートカウントは0より大きい場合にのみ表示することもできます。

<?php
        $cartcount = WC()->cart->get_cart_contents_count();
        if ($cartcount > 0) { echo $cartcount; }
?>
2
John Fotios

ここ から:

このコードをheader.phpファイルに追加します。

<a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf ( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
2

このコードを試してください

global $woocommerce;
print_r(count(WC()->cart->get_cart()));
0
mehul

get_cart_contents_count()は、すべての製品アイテムの合計数量を表示します。つまり、製品Aを2kg、製品Bを1kg購入すると、get_cart_contents_count()は3を返します。

カートにある製品の数を表示する必要がある場合は、functions.phpでこの関数を実行しました。

function count_item_in_cart() {
    $count = 0;
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        $count++;
    }
    return $count;
}

あなたのPHPファイルでそれを行うことができます:

<?php echo count_item_in_cart() . " products"; ?>
0
ale