Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

50 полезных сниппетов для WooCommerce. Часть первая.

Тема в разделе "WooCommerce - основы, описания, уроки.", создана пользователем D&B, 15 янв 2014.

  1. seomur

    seomur

    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    http://spigotdesign.com/change-woocommerce-new-order-reply-address-customer/#comment-95843
     
  2. Ahazhgir

    Ahazhgir

    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    3
    Подскажите как установить разную минимальную сумму заказа для разных категорий товаров, Такое реализовать возможно?
     
  3. Яна Шолойко

    Яна Шолойко

    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Мне нужно было добавить в статус товара пункт "Под заказ", на Вашем форуме я нашла код
    Код:
    function add_custom_stock_type() {
        ?>
        <script type="text/javascript">
        jQuery(function(){
            jQuery('._stock_status_field').not('.custom-stock-status').remove();
        });
        </script>
        <?php 
    
        woocommerce_wp_select( array( 'id' => '_stock_status', 'wrapper_class' => 'hide_if_variable custom-stock-status', 'label' => __( 'Stock status', 'woocommerce' ), 'options' => array(
            'instock' => __( 'In stock', 'woocommerce' ),
            'outofstock' => __( 'Out of stock', 'woocommerce' ),
            'onrequest' => __( 'под заказ', 'woocommerce' ), // The new option !!!
        ), 'desc_tip' => true, 'description' => __( 'Controls whether or not the product is listed as "in stock" or "out of stock" on the frontend.', 'woocommerce' ) ) );
    }
    add_action('woocommerce_product_options_stock_status', 'add_custom_stock_type');
    function save_custom_stock_status( $product_id ) {
        update_post_meta( $product_id, '_stock_status', wc_clean( $_POST['_stock_status'] ) );
    }
    add_action('woocommerce_process_product_meta', 'save_custom_stock_status',99,1);
    
    function woocommerce_get_custom_availability( $data, $product ) {
        switch( $product->stock_status ) {
            case 'instock':
                $data = array( 'availability' => __( 'In stock', 'woocommerce' ), 'class' => 'in-stock' );
            break;
            case 'outofstock':
                $data = array( 'availability' => __( 'Out of stock', 'woocommerce' ), 'class' => 'out-of-stock' );
            break;
            case 'onrequest':
                $data = array( 'availability' => __( 'под заказ', 'woocommerce' ), 'class' => 'on-request' );
            break;
        }
        return $data;
    }
    add_action('woocommerce_get_availability', 'woocommerce_get_custom_availability', 10, 2);
    он мне помог, но не совсем. Хотелось бы сделать так, что бы при статусе "Под заказ" была еще кнопка "Заказать", при нажатии на которую товар добавлялся бы в корзину и можно было бы оформить заказ. Буду очень благодарна за помощь.
     
  4. DMax

    DMax

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Друзья, подскажите пожалуйста, как в некоторых шаблонах отключить всплывающее сообщение об Ошибке и сделать его обычным?
    Просто никто не успевает прочитать, оно быстро прячется...
    Установил снипет минимального заказа, и сообщение о нехватки минималки быстро прячется, как его можно сделать обычным сообщением, например вверху страницы?
    Заранее спасибо!
     
  5. Stork.71

    Stork.71 Местный

    Сообщения:
    1.102
    Симпатии:
    273
    Баллы:
    83
    По идее должно быть не всплываемым. Это наверное тема ваша шалит, попробуйте с другой.
    Или попробуйте конструкцию wc_add_notice( ) в сниппете заменить на echo
     
    • Симпатия Симпатия x 1
  6. DMax

    DMax

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Да, это все тема, поменять на другую не могу, попробовал ваш способ и сообщение не всплывает а показывается постоянно, даже если сума минимального заказа уже набрана, а хотелось бы чтобы это сообщение пропадало после набора минимальной сумы...
     
  7. Stork.71

    Stork.71 Местный

    Сообщения:
    1.102
    Симпатии:
    273
    Баллы:
    83
    рискну предположить, что Ваша тема переписывает функцию wc_add_notice
    Надо ее найти и переписать еще как-то :)
     
  8. DMax

    DMax

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Круто)) я бы радостью но как?)
     
  9. DMax

    DMax

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Ребят, вот код с данной темы о минимальной суме заказа
    Все работает, НО, не совсем.
    Например минималка 500, клиент набирает ровно 500 и все равно не сможет оформить заказ, но если наберет 501 - все работает, поправьте пожалуйста..
    Не хочется потерять клиента который наберет ровно на 500 или по обратной связи взорвет мозг...

    PHP:
    add_action'woocommerce_check_cart_items''spyr_set_min_total' );
    function 
    spyr_set_min_total() {
        if( 
    is_cart() || is_checkout() ) {
            global 
    $woocommerce;

            
    // минимальная сумма
            
    $minimum_cart_total 500;

            
    // сумма из корзины
            
    $total WC()->cart->subtotal;
        
            
    // Сообщение об ошибке при меньшей сумме в корзине, чем лимит
            
    if( $total <= $minimum_cart_total  ) {
                
    // Display our error message
                
    $not_enough_summa $minimum_cart_total $total;
                
    wc_add_noticesprintf'Минимальная сумма заказа: %s'
                    
    .'<br>Для оформления заказа не хватает: %s',
                    
    wc_price($minimum_cart_total),
                    
    wc_price($not_enough_summa)
                    ),
                
    'error' );
            }
        }
    }
    И остается открытый вопрос по всплывающем сообщении, как его сделать не всплывающим?
     
  10. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.084
    Симпатии:
    155
    Баллы:
    63
    поставить 499 - нельзя?
     
  11. Stork.71

    Stork.71 Местный

    Сообщения:
    1.102
    Симпатии:
    273
    Баллы:
    83
    откуда же нам знать, что у Вас за тема и чего она там переписывает?
    Тогда будет писаться "минимальная сумма заказа - 499". Что за бредовые костыли?
    попробуйте в условии
    if ( $total <= $minimum_cart_total) поменять <= на <.
     
    • Симпатия Симпатия x 1
  12. DMax

    DMax

    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Класс, все работает, спасибо большое!!!))
     
  13. andrej

    andrej

    Сообщения:
    18
    Симпатии:
    1
    Баллы:
    3
    Доброго времени!
    Не могу найти, как на страницу товара добавить свой текст или код в нужном месте.

    Код общий для всех товаров!

    Подскажите пожалуйста!
    Нужно ниже вкладок, выше "Похожих товаров", код для functions.php


    Спасибо!
     
    Последнее редактирование: 13 апр 2017