Задать вопрос
Ответы пользователя по тегу WooСommerce
  • Как включить отображение фильтров woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    На странице админки выберите атрибут "Мощность двигателя". Убедитесь, что вы выбрали опцию "Использовать для вариаций", чтобы разрешить использование этого атрибута в качестве фильтра
    Ответ написан
    Комментировать
  • Woocommerce - как вывести внутри шаблона категории все подкатегории - с "внуками" и "правнуками"?

    wfantastic
    @wfantastic
    увлечен wordpress
    нужно использовать рекурсивную функцию:
    функция принимает два параметра: $parent_id - идентификатор родительской категории, и $level - уровень вложенности текущей категории. Если передать $parent_id равным 0, то будут выведены все верхнеуровневые категории. Функция использует get_categories() для получения списка дочерних категорий и рекурсивно вызывает саму себя для вывода вложенных категорий
    function get_child_category_list( $parent_id, $level = 0 ) {
        $args = array(
            'hierarchical' => 1,
            'show_option_none' => '',
            'hide_empty' => 0,
            'parent' => $parent_id,
            'taxonomy' => 'product_cat'
        );
    
        $subcategories = get_categories( $args );
    
        if ( $subcategories ) {
            $output = '<ul class="subcategories level-' . $level . '">';
    
            foreach ( $subcategories as $category ) {
                $output .= '<li>';
                $output .= '<a href="' . get_term_link( $category ) . '">' . $category->name . '</a>';
    
                $output .= get_child_category_list( $category->term_id, $level + 1 );
    
                $output .= '</li>';
            }
    
            $output .= '</ul>';
    
            return $output;
        } else {
            return '';
        }
    }

    вызвать в шаблоне попробуйте так:
    if ( is_product_category() ) {
        $parent_id = get_queried_object_id();
        echo get_child_category_list( $parent_id );
    }
    Ответ написан
    Комментировать
  • Не переключаются изображения в карточке товара Woocommerce. Как исправить?

    wfantastic
    @wfantastic
    увлечен wordpress
    Как вы предлагаете решить проблему, если не даете ссылку на свой ресурс? Тут же не ванги.
    Вы пробовали отключать плагины оптимизации? Скорее всего какой-то плагин блокирует.
    Отключите все плагины и включите, проверьте.
    Ответ написан
    2 комментария
  • Cроки доставки для разных товаров??

    wfantastic
    @wfantastic
    увлечен wordpress
    Вы можете задать у каждого товара срок доставки при редактировании, вкладка Доставка - Способы доставки. Нужно их создать сначала.
    Если просто хотите выводить цифрой срок доставки, можно создать дополнительное поле и вписывать туда количество в днях или как вам угодно, а потом отобразить его на странице товара.
    Ответ написан
    Комментировать
  • Можно ли сделать форму поиска товара по атрибутам и категориям?

    wfantastic
    @wfantastic
    увлечен wordpress
    Есть плагин который решает все эти задачи, но выглядит как одно поле и в нем можно выбрать некоторые параметры. плагин Ajax Search Pro
    Ответ написан
  • Как изменить цены на товары в зависимости от категории (добавить цену со скидкой)?

    wfantastic
    @wfantastic
    увлечен wordpress
    Привет, лучше использовать плагин, иначе все эти условия придется прописывать в функции, что сложнее контролировать. В яндексе если поискать, можно найти как получить про версию с большой скидкой.
    Ответ написан
    3 комментария
  • Как создать и редактировать woocommerce.css в дочерней теме?

    wfantastic
    @wfantastic
    увлечен wordpress
    Чтобы создать файл woocommerce.css в дочерней теме, вам нужно выполнить следующие шаги:

    Создайте новый файл с именем woocommerce.css в папке вашей дочерней темы.

    Добавьте следующий код в functions.php дочерней темы, чтобы подключить ваш файл woocommerce.css:

    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
        wp_enqueue_style( 'woocommerce-style', get_stylesheet_directory_uri() . '/woocommerce.css', array('parent-style') );
    }


    Теперь вы можете внести изменения в woocommerce.css без применения !important, и они должны применяться к вашим страницам WooCommerce.
    .single_add_to_cart_button {
        background-color: #ff0000;
    }
    Ответ написан
    Комментировать
  • Есть ли способ добавить data-атрибут инпуту на странице оформления заказа в Woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    Да, вы можете добавить data-атрибуты в инпут на странице оформления заказа в Woocommerce, используя фильтр "woocommerce_checkout_fields". Этот фильтр позволяет вам изменять поля на странице оформления заказа и добавлять к ним атрибуты.

    Пример кода для добавления data-атрибута в инпут с именем "billing_first_name":
    add_filter( 'woocommerce_checkout_fields', 'add_data_attribute_to_checkout_field', 10, 1 );
    function add_data_attribute_to_checkout_field( $fields ) {
        $fields['billing']['billing_first_name']['custom_data_attribute'] = 'custom_value';
        return $fields;
    }
    Ответ написан
  • Как получить отдельно цену и цену скидки у вариацианного товара WooCommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    В WooCommerce для вывода отдельно обычной цены и цены распродажи вариаций товара можно использовать следующий код:

    <?php
    // получаем объект продукта
    $product = wc_get_product( $product_id );
     
    // проверяем, является ли продукт вариативным
    if ( $product->is_type( 'variable' ) ) {
        // получаем вариации продукта
        $variations = $product->get_available_variations();
     
        // выводим цены для каждой вариации
        foreach ( $variations as $variation ) {
            // получаем объект вариации
            $variation_obj = wc_get_product( $variation['variation_id'] );
     
            // выводим обычную цену и цену распродажи
            echo 'Обычная цена: ' . $variation_obj->get_regular_price() . '<br/>';
            echo 'Цена распродажи: ' . $variation_obj->get_sale_price() . '<br/>';
        }
    }
    ?>

    Данный код получает объект продукта, проверяет, является ли он вариативным, затем получает вариации продукта и выводит обычную цену и цену распродажи для каждой вариации.
    Ответ написан
    Комментировать
  • Как изменить разметку атрибут товара?

    wfantastic
    @wfantastic
    увлечен wordpress
    Для этого надо установить плагин дизайна атрибутов. Их полно, посмотрите на ru.wordpress.com
    В стандартном woocoommerce этого нет.
    Ответ написан
    Комментировать
  • Как сделать единицы измерения товара woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    есть же плагин единица измерения
    https://wordpress.org/plugins/woocommerce-unit-of-...

    Инструкция, которую вы написали предполагает, что у каждого товара должны быть созданы варианты. Это обычный вариативный товар, но вместо цвета или размера используется атрибут единицы измерения.
    Ответ написан
    Комментировать
  • Как проверить в какой категории находится товар на странице checkout?

    wfantastic
    @wfantastic
    увлечен wordpress
    Для проверки категории товара в корзине, можно использовать метод get_cart() класса WC_Cart, который вернет массив всех товаров в корзине.
    Чтобы получить идентификаторы категорий для каждого товара в корзине, можно использовать метод get_category_ids() объекта WC_Product для каждого товара в корзине. Этот метод вернет массив идентификаторов всех категорий, к которым относится товар.

    Пример кода для проверки наличия товара в категории "Мастерклаcсы" (id=31) и отображения соответствующих полей на странице оформления заказа:
    <?php
    // Получаем содержимое корзины
    $cart_items = WC()->cart->get_cart();
    
    // Флаг, показывающий наличие товара в категории "Мастерклаcсы"
    $has_workshop_product = false;
    
    // Перебираем все товары в корзине
    foreach ( $cart_items as $cart_item ) {
        // Получаем объект товара
        $product = $cart_item['data'];
    
        // Получаем идентификаторы категорий товара
        $category_ids = $product->get_category_ids();
    
        // Проверяем наличие товара в категории "Мастерклаcсы"
        if ( in_array( 31, $category_ids ) ) {
            $has_workshop_product = true;
            break;
        }
    }
    
    // Отображаем соответствующие поля на странице оформления заказа
    if ( $has_workshop_product ) {
        // Поля для товаров в категории "Мастерклаcсы"
        // ...
    } else {
        // Стандартные поля для других товаров
        // ...
    }
    ?>


    В этом примере мы получаем содержимое корзины с помощью метода get_cart(), а затем перебираем все товары в корзине. Для каждого товара мы получаем идентификаторы его категорий с помощью метода get_category_ids() и проверяем, содержится ли идентификатор категории "Майстеркласы" в этом списке. Если такой товар найден, мы устанавливаем флаг $has_workshop_product в true.

    Затем мы проверяем значение флага $has_workshop_product и отображаем соответствующие поля на странице оформления заказа. Вместо комментариев // ... вы должны указать соответствующий код для отображения полей.
    Ответ написан
  • Как добавить отзывы с товара на все товары того же атрибута?

    wfantastic
    @wfantastic
    увлечен wordpress
    Для добавления отзыва о продукте в WooCommerce, который будет продублирован во все продукты с одинаковым атрибутом, можно воспользоваться плагином "WooCommerce Product Reviews Pro".

    Следуйте этим шагам:

    Установите и активируйте плагин "WooCommerce Product Reviews Pro".

    Откройте страницу настроек плагина "WooCommerce Product Reviews Pro" в разделе "WooCommerce" -> "Settings" -> "Product Reviews Pro".

    На странице настроек плагина вы найдете раздел "Product Reviews Pro Duplicate Reviews". Включите опцию "Enable Duplicate Reviews".

    Далее, укажите атрибут продукта, по которому вы хотите дублировать отзывы, выбрав соответствующее значение в поле "Attribute to duplicate reviews".

    Нажмите кнопку "Save changes".

    Теперь, когда пользователь оставит отзыв на продукте, соответствующему выбранному атрибуту, отзыв будет автоматически дублироваться на все другие продукты с этим же атрибутом.

    У Saphali тоже есть для этого дела плагин, который учитывает Вашу ситуацию, стоит 1500 руб. Поищите
    Ответ написан
    Комментировать
  • Как добавить электронную карту скидок (qr code, barcode) в ЛК пользователя Woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    Заказать у программиста.
    Это надо делать через купоны в woocommerce в формате EAN13 (штрихкод),
    Вы можете заранее сгенерировать номеров скидочных карт, присваивать их зарегистрированным покупателям или напечатать на картах и вы давать карту, которую покупатель тоже регистрирует.
    Нужно сделать плагин, который свяжет этот номер с аккаунтом.
    Изначально лучше занести все эти номера в 1c и потом уже работать с ними в woocommerce или сделать синхронизацию.
    Я видел подобное решение, но не могу вспомнить, это платный плагин был.
    Ответ написан
  • Как убрать редирект на страницу «спасибо» на сайте wordpress?

    wfantastic
    @wfantastic
    увлечен wordpress
    Проверьте файл .htaccess в папке сайта, возможно редирект прописан там.
    Можете его удалить и заново пересоздать.
    Если не помогает. проверьте файл functions.php в теме вашего сайта, возможно там записана функция переадресации.
    Отключите плагин формы, удалите страницы спасибо, в разделе Страницы.
    Можете попробовать отключить все плагины и включить только основные, поочерёдно, чтоб понять какой плагин переадресовывает, если ничего из прошлого не помогло.
    Ответ написан
    Комментировать
  • Как вывести описание категории товаров woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    Вы используете Elementor или WpBakery? Для этого надо зайти в шаблон страницы категории и добавить виджет описания. Так и называется, описание.
    Ответ написан
    Комментировать
  • Как изменить content в archive products widget, если перенаправляет на appereance-customize? В чем проблема?

    wfantastic
    @wfantastic
    увлечен wordpress
    Потому, что количество отображаемых элементов в сетке в архивах настраивается в настройках wordpress.
    Если вы хотите что-то индивидуальное, нужно создавать функцию для этого.
    Ответ написан
  • Как направить пользователя с кнопки "Add to cart" на страницу "Product Single Page", вместо корзины в woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    Так вроде и так при добавлении товара в корзину на корзину не переадресовывает в настройках woocommerce это есть.
    или используйте функцию
    add_filter( 'woocommerce_add_to_cart_redirect', 'redirect_to_product_page' );
    function redirect_to_product_page() {
        global $woocommerce;
        $product_url = get_permalink( get_the_ID() );
        return $product_url;
    }
    Ответ написан
    Комментировать
  • Как перехватить количество товара из корзины Woocommerce и вывести в уведомление?

    wfantastic
    @wfantastic
    увлечен wordpress
    jQuery(function($) {
        // Цепляемся за событие adding_to_cart
        $(document.body).on('adding_to_cart', function(event, button) {
            // Выцепляем инициатора события (ссылка/кнопка)
            var $btn = $(button[0]);
    
            // Пытаемся найти в вёрстке название товара и количество
            var product_title = $btn.parents('li.product').find('.woocommerce-loop-product__title').text();
            var product_qty = $btn.parents('li.product').find('.input-text.qty.text').val();
    
            if (product_title && product_qty) {
                // Формируем шаблон попапа
                var tpl = '';
                tpl += '<p>' + product_qty + ' шт. товара "' + product_title + '" добавлено в корзину</p>';
                tpl += '<div>';
                tpl += '<a class="button" onclick="jQuery.unblockUI();">Продолжить</a>';
                tpl += '<a href="/shop/cart/" class="button alt">Оформить</a>';
                tpl += '</div>';
    
                // Выводим шаблон в модальное окно.
                // Используем blockUI из WooCommerce
                $.blockUI({
                    message: tpl,
                    timeout: 4000,
                    css: {
                        width: '300px',
                        border: 0,
                        padding: 30
                    }
                });
            }
        });
    });
    Ответ написан
  • Возможна ли смена роли после покупки в woocommerce?

    wfantastic
    @wfantastic
    увлечен wordpress
    Почему вы не хотите использовать плагин https://yithemes.com/themes/plugins/yith-woocommer...

    Создаете товары с количеством месяцев нахождения в определенной роли, после покупки он добавит роль.
    Потом по окончании срока роли, удалит из этой роли.
    Работает с любой платежной системой.
    Ответ написан