Ответы пользователя по тегу WooСommerce
  • Как обновить корзину без перезагрузки?Woocomerce + Wordpress?

    RGameShow
    @RGameShow
    В поисках ответов на глупые вопросы
    // Ajax обновление корзины
        const ajaxUpdateCartContainer = document.querySelector('div.woocommerce');
        if (ajaxUpdateCartContainer){
            ajaxUpdateCartContainer.addEventListener('change', ({ target }) => {
                target.closest('input.qty');
                document.querySelector('[name="update_cart"]').click();
            });
        }
    Ответ написан
    Комментировать
  • Как через WP_Query вывести товары в дефолтном виде?

    RGameShow
    @RGameShow Автор вопроса
    В поисках ответов на глупые вопросы
    Я решил вопрос костылями, но может кто знает решение по лучше?

    <section class="">
        <div class="container">
            <?php
            $loop = new WP_Query( array(
                'post_type' => 'product',
                'posts_per_page' => 2+1,
                'orderby' => 'menu_order',
                'order' => 'ASC',
            ));
            ?>
            <div class="woocommerce">
                <ul class="products products_archive_grid">
                    <?
                    while ( $loop->have_posts() ): $loop->the_post();
                        $id = get_the_ID();
                        $short = do_shortcode('[product id="'.$id.'"]');
                        $short = str_replace(
                            "<div class=\"woocommerce \"><ul class=\"products products_archive_grid\">",
                            "",
                            $short);
                        $short = substr($short,0,-11);
                        echo $short;
                    endwhile;
                    ?>
                </ul>
            </div>
        </div>
    </section>
    Ответ написан
    Комментировать
  • Как в Woocommerce вывести LABEL атрибута?

    RGameShow
    @RGameShow Автор вопроса
    В поисках ответов на глупые вопросы
    $attributes = $product->get_attributes();
    
    $content = '<ul class="custom-attributes">';
    
    foreach ( $attributes as $attribute ) {
    
        if ($attribute['is_taxonomy']) {
            $values = wc_get_product_terms($product->id, $attribute['name'], array('fields' => 'names'));
            $content .= '<li><span class="attribute-label-text">'.wc_attribute_label( $attribute['name'] ).'</span> : ';
            $content .= apply_filters('woocommerce_attribute', implode(', ', $values), $attribute, $values);
            $content .= '</li>';
        }
    
    }
    
    $content .= '</ul>';
    
    echo $content;
    Ответ написан
    Комментировать
  • Как переместить блок «способ оплаты» в Woocommerce?

    RGameShow
    @RGameShow Автор вопроса
    В поисках ответов на глупые вопросы
    отредактировал файл /wp-content/plugins/woocommerce/templates/checkout/form-checkout.php
    и закинул в папку темы /wp-content/themes/rstheme/woocommerce/checkout/form-checkout.php
    Получилось то что и требовалось:

    <form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>" enctype="multipart/form-data">
    
        <?php if ( $checkout->get_checkout_fields() ) : ?>
            <?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>
            <div class="row" id="customer_details">
                <div class="col-md-6">
                    <?php do_action( 'woocommerce_checkout_billing' ); ?>
                </div>
                <div class="col-md-6">
                    <?php do_action( 'woocommerce_checkout_before_order_review_heading' ); ?>
                    <h3 id="order_review_heading"><?php esc_html_e( 'Your order', 'woocommerce' ); ?></h3>
                    <p class="ti-0 h5 text-center pb-3" style="font-size: 15px">Чтобы рассчитать стоимость доставки укажите Ваш город</p>
                    <?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
    
                    <div id="order_review" class="woocommerce-checkout-review-order">
                        <?=woocommerce_order_review();?>
                    </div>
    
                    <?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
    
                </div>
            </div>
            <?=woocommerce_checkout_payment();?>
        <?php endif; ?>
    </form>
    Ответ написан
    Комментировать
  • Как добавить input города в блок доставки WordPress Woocommrerce?

    RGameShow
    @RGameShow Автор вопроса
    В поисках ответов на глупые вопросы
    Если кому интересно будет решение данного вопроса, то я сделал следующим образом:

    Закинул файл из плагина /wp-content/plugins/woocommerce/cart/cart-shipping.php
    В свою тему /wp-content/themes/rstheme/woocommerce/cart/cart-shipping.php

    И вставил следующий код перед открывающимся тегом ul с классом woocommerce-shipping-methods

    <li>
        <div class="address-field" data-priority="40">
            <label for="billing_city" class="">Укажите город:
                <span class="woocommerce-input-wrapper">
                  <input type="text" class="input-text mt-1 m-0" id="demo1" name="billing_city">
                </span>
            </label>
        </div>
        <script>
            $(document).ready(function() {
                var b = $('#billing_city').val();
                $('#demo1').attr('value', b);
            });
            $('#demo1').keyup(function() {
                var a = $(this).val();
                $('#billing_city').attr('value', a);
            });
        </script>
    </li>


    А город который находится в деталях оплаты, скрыл.
    Ответ написан
    Комментировать