Ответы пользователя по тегу WooСommerce
  • Как переместить кнопку "в корзину" от выбора количества товара?

    @Bodrosh
    Можно скопировать файл шаблона, напр. wp-content/plugins/woocommerce/templates/single-product\add-to-cart/simple.php в папку /ваша_тема/woocommerce/single-product/add-to-cart/simple.php и изменять его
    Ответ написан
    Комментировать
  • Как добавить возможность выбрать дату/время доставки WooCommerce?

    @Bodrosh
    Вот так можно (может быть потребуется библилотека flatpickr для выпадающего календаря b dhtvtyb)
    add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );
    
    function my_custom_checkout_field( $checkout ) {
    
        echo '<div class="form-row notes"><br><label>Дата и время получения заказа</label>';
    
        woocommerce_form_field( 'client_date', array(
            'type'          => 'text',
            'class'         => array('form-row-first'),
            'label'         => __(''),
            'placeholder'   => _x('Дата', 'placeholder', 'woocommerce'),
        ), $checkout->get_value( 'client_date' ));
    
        woocommerce_form_field( 'client_time', array(
            'type'          => 'text',
            'class'         => array('form-row-last'),
            'label'         => __(''),
            'placeholder'   => _x('Время', 'placeholder', 'woocommerce'),
        ), $checkout->get_value( 'client_time' ));
    
        echo '</div>';
        echo '<div class="form-row notes br-notes-1"><label>Время заказа определяется после звонка оператора.</label></div>';
    
    }
    /**
     * Обновляем добавленные поля в БД
     */
    add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );
    
    function my_custom_checkout_field_update_order_meta( $order_id ) {
     if ( ! empty( $_POST['client_date'] ) ) {
            update_post_meta( $order_id, 'client_date', sanitize_text_field( $_POST['client_date'] ) );
        }
    }
    add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
    
    function my_custom_checkout_field_display_admin_order_meta($order){
        echo '<p><strong>'.__('Дата и время').':</strong> ' . get_post_meta( $order->get_id(), 'client_date', true ) . ' ' .get_post_meta( $order->get_id(), 'client_time', true ) . '</p>';
    }
    /* Отправка добавленных полей на email
    */
    add_filter('woocommerce_email_order_meta_fields', 'br_add_email_order_meta_fields', 10, 3);
    
    function br_add_email_order_meta_fields( $fields, $sent_to_admin, $order_obj ) {
     $fields['client_date'] = array(
            'label' => 'Дата и время',
            'value' => get_post_meta( $order_num, 'client_date', true ) . ' ' . get_post_meta( $order_num, 'client_time', true )
        );
    }
    add_action( 'wp_footer', 'awoohc_add_script_update_shipping_method' );
    function awoohc_add_script_update_shipping_method() {
        if ( is_checkout() ) { ?>
             <script>
                jQuery(document).ready(function ($) {
    
                      if( $("#client_date").length > 0 ) {
                        let optsDate = {
                            "locale": "ru",
                            "dateFormat":  "d.m.Y",
                        };
                        $("#client_date").flatpickr(optsDate);
                    }
    
                    if( $("#client_time").length > 0 ) {
                        let optsTime = {
                            locale: "ru",
                            enableTime: true,
                            noCalendar: true,
                            dateFormat: "H:i",
                            time_24hr: true
                        };
    
                        $("#client_time").flatpickr(optsTime);
                    }
                });
    
    
    
            </script>
     <?php    }
    }
    Ответ написан
    Комментировать
  • Как в woocommerce сделать методы доставки по городу?

    @Bodrosh
    Возможно Woocommerce Shipping Options подойдет, но его надо допиливать
    Ответ написан
    Комментировать
  • Магазин ключей wordpress(woocommerce) как сделать в одном товаре несколько ключей?

    @Bodrosh
    Как вариант создать таблицу в БД с полями Код_Игры, Ключ, Статус (выдан или нет), затем на странице покупки (после успешной оплаты пользователю показывать запросом одно значение из этой таблицы со статусом не выдан и после этого показа данный ключ в этой таблице изменить на Выдан)

    Можно добавить пользователю кастомное поле в котором хранить этот ключ (или дописывать в него напр., Игра 1: ключ, Игра 2: ключ) и вывести его в личном кабинете
    Ответ написан
    Комментировать
  • Как добавить несколько изображений к вариативным товарам?

    @Bodrosh
    видимо Smart Variations Images
    Ответ написан
    Комментировать
  • Как скрыть товары дочерних категорий на странице категории woocommerce?

    @Bodrosh Автор вопроса
    Решил проблему так: В настройках отображения товаров woocommerce На странице категории выбрал Показывать подкатегории
    Ответ написан
    Комментировать