@Stanislav6

Как подключить AJAX к кнопке добавления товара на главной странице?

Здравствуйте! Вывожу товары на главную страницу шорткодом из документации Woocommerce:

<div class="slider-products slider-featured">
    <h2>Рекомендуем</h2>
    <?php echo do_shortcode('[products limit="10" columns="1" visibility="featured"]'); ?>
</div>

Однако, ajax не работает для кнопок добавления товара в корзину. Проблема, я так понимаю, в том, что в Woocommerce не предусмотрена работа ajax вне страниц магазина?! Помогите её решить, пожалуйста.
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
vladchv
@vladchv
WordPress Developer
Создайте свой loop, выведите товары через цикл wp_query.
Код для кнопки будет таким:
<?php do_action( 'woocommerce_after_shop_loop_item' ); ?>

Выше по коду у родителя должен быть класс "woocommerce".

Пример:
<?php
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => 10,
            'tax_query' => array(
              array(
                'taxonomy' => 'product_visibility',
                'field'    => 'name',
                'terms'    => 'featured',
               ),
            )
        );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post(); ?>

                <div class="my-button"><?php do_action( 'woocommerce_after_shop_loop_item' ); ?></div>

            <?php endwhile;
        } else {
            echo  'Товаров нет';
        }
        wp_reset_postdata(); ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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