@Slash2018

Woocommerce вывод в шапке кол. отложенных товаров ajax?

Как реализовать? У меня проблема состоит в том, что если я вставлю див с классом .cart-contents отображается ajax обновляемая инфомрация, но я даже не могу найти где редактировать такой вывод. В общем, как вывести просто кол. заказов с ajax?
  • Вопрос задан
  • 909 просмотров
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Вот рабочий пример.

functions.php :

/**
     * Cart Fragments.
     *
     * Ensure cart contents update when products are added to the cart via AJAX.
     *
     * @param array $fragments Fragments to refresh via AJAX.
     * @return array Fragments to refresh via AJAX.
     */
    function my_woocommerce_cart_link_fragment( $fragments ) {
        ob_start();
        my_woocommerce_cart_link();
        $fragments['#header-cart-contents'] = ob_get_clean();

        return $fragments;
    }
}
add_filter( 'woocommerce_add_to_cart_fragments', 'my_woocommerce_cart_link_fragment' );

  /**
     * Cart Link.
     *
     * Displayed a link to the cart including the number of items present and the cart total.
     *
     * @return void
     */
    function my_woocommerce_cart_link() {
        ?>
        <div id="header-cart-contents" class="header-cart">
            <span><?= wp_kses_data( WC()->cart->get_cart_contents_count());?></span>
            <a href="<?php echo esc_url( wc_get_cart_url() ); ?>"><img src="<?= get_template_directory_uri();?>/img/header-cart.png" alt="shop-cart"></a>
        </div>
        <?php
    }
}


В шаблоне, в нужном месте вызываете my_woocommerce_cart_link();
Разметку меняйте под себя. Главное, что бы в
$fragments['#header-cart-contents'] = ob_get_clean();
Обязательно был верный селектор вашего блока с корзиной

Полный список методов класса WC_Cart https://docs.woocommerce.com/wc-apidocs/class-WC_C...
Обращаться к нему нужно через WC()->cart, как в примере
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы