programing

wocommerce 사용자 지정 ajax 탑 카트

muds 2023. 9. 28. 08:52
반응형

wocommerce 사용자 지정 ajax 탑 카트

안녕하세요 저는 자동으로 수량과 가격을 업데이트할 수 있는 우커머스의 최상위 카트를 구하려고 합니다.

이것을 템플릿으로 사용함으로써 어느 정도 작동할 수 있게 되었습니다.

http://www.amberweinberg.com/developing-custom-woocommerce-themes/

문제는 ajax를 사용해서 한가지 요소가 아닌 두가지 요소를 변경해야 한다는 것입니다.

여기 제가 테마 기능에 사용하고 있는 html이 있습니다.php 파일

                <div class="cartWrapper"> 
                <a href="#" title="Checkout">
                    <div id="cartsummary"><p>
                        <span class="cart-bubble cart-contents"><a class="cart-bubble cart-contents"><?php echo sprintf(_n('%d', '%d', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?></a>
                <?php if($woocommerce->cart->get_cart_url() != ''){ $cart=$woocommerce->cart->get_cart_url();}
                else {$cart = home_url().'/cart/';};
                ?></span> 
                    </div> 
                </a>
                <div id="carttotal">
                    <div id="cartprice">
                    <p>
                        <a class="cart-total"><?php echo $woocommerce->cart->get_cart_total() ?></a>
                    </p>
                    </div> 
                    <a class="button" href="#" title="Checkout" type="button">View Basket</a>
                </div>
            </div>

새로 고침 없이 카트를 자동으로 업데이트하는 코드:

    // Ensure cart contents update when products are added to the cart via AJAX (place the following in 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-bubble cart-contents"><?php echo sprintf(_n('%d', '%d', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?></a>
    <a class="cart-total"><?php echo $woocommerce->cart->get_cart_total() ?></a>
    <?php

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

    return $fragments;

}

문제는 이것이 작동하는 동안 css 스타일 오버플로우를 사용하여 숨겨야 하는 카트 총계와 카트 내 항목의 긴 목록을 생성한다는 것입니다. 관련 요소에 숨겨진 cs 스타일 오버플로우를 사용하여 숨겨야 합니다.아마 제가 아약스 요소를 잘못 코딩해서 그런 것 같은데, 누가 저를 올바른 방향으로 지목해주실 수 있나요?

감사해요.

시도해 보기:

기능들.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-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', '%d items', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> <?php echo $woocommerce->cart->get_cart_total(); ?></a>

    <?php
    $fragments['a.cart-contents'] = ob_get_clean();
    return $fragments;
}

카트 코드:

<div class="header_cart">
    <h5><a href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php _e('Shopping Cart', 'home-shopper'); ?></a></h5>
    <div class="cart_contents">
        <a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', '%d items', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> <?php echo $woocommerce->cart->get_cart_total(); ?></a>
    </div>
</div>

언급URL : https://stackoverflow.com/questions/14675292/woocommerce-custom-ajax-top-cart

반응형