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

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

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

  1. Деменция

    Деменция

    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    1
    Поддерживаю Stork.71 - ваша тема не адаптирована под woocommerce. Потеряете кучу времени зря... Самый лучший вариант из тех, что я пробовала тема "Storefront". Разработчики: WooThemes. Они её специально создавали под магазин. Тема бесплатная. Скачивать надо на их сайте или на сайте WP (не знаю, корректно ли здесь указывать ссылку, но думаю меня простят :)) https://wordpress.org/themes/author/woothemes/. Сам плагин русифицирован, тема тоже. Плюс куча функций прописана в коде, не требуется с дополнительными плагинами заморачиваться....Попробуйте связку WP + WooCommerce + Storefront.
     
    • Нравится Нравится x 1
  2. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Что-то не поняла, что в этом коде нужно заменить на (?) url категории?

    5. Исключить категорию из виджета woocommerce -категории

    add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' );

    function woo_product_cat_widget_args( $cat_args ) {

    $cat_args['exclude'] = array('16');

    return $cat_args;
    }
     
  3. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Речь не про URL, но код категории.
    Как узнать код категории смотрите здесь.
     
    • Нравится Нравится x 1
  4. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Ок, с этим разобралась. Нужно в array('16') изменить "16" на номер соответствующей категории. Посмотреть ее можно в коде виджета.
    Мне нужно удалить 2 категории. Попытаталь продублировать код, но мне выдает ошибку синтаксиса. Как это правильно оформить?

    Fatal error: Cannot redeclare woo_product_cat_widget_args() (previously declared in C:\Program Files (x86)\Ampps\www\192.168.2.150\loja\wp-content\themes\accesspress-staple\functions.php:309) in C:\Program Files (x86)\Ampps\www\192.168.2.150\loja\wp-content\themes\accesspress-staple\functions.php on line 327

    Код выглядит так:

    /**
    *
    * My configurations - exclude a category from widget
    *
    */
    add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' );

    function woo_product_cat_widget_args( $cat_args ) {
    $cat_args['exclude'] = array('144');
    return $cat_args;
    }
    /**
    *
    * My configurations - exclude a category from widget
    *
    */
    add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' );

    function woo_product_cat_widget_args( $cat_args ) {
    $cat_args['exclude'] = array('145');
    return $cat_args;
    327}
     
  5. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Спасибо!
    Ввела $cat_args['exclude'] = array('144,145');, но вторая категория не удаляется. Что это может быть?
     
  6. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Разве в примере список кодов категорий в кавычках?
     
    • Нравится Нравится x 1
  7. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Точно! Спасибо Вам, добрый человек!!! В единичных кавычках только если категория одна, да?
     
  8. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    В данном сниппете единичные кавычки вообще не нужны.
     
    • Нравится Нравится x 1
  9. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Ну тогда это нужно поправить в посте. Спасибо еще раз!
     
  10. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    11. Переименовать какую-либо вкладку на странице «Добавить товар»
    Вкладка переименовала, спасибо. А как изменить/убрать заголовок во вкладке? Он у меня в теме соответствовал названию вкладки, но после применения этого сниппета не изменился.
     

    Вложения:

  11. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Если речь про заголовок во вкладке "Свойства", то поможет такой код в functions.php своей темы.
    PHP:
    // изменить/удалить заголовок вкладки "Свойства"
    function my_additional_information_heading($headding) {
        
    $headding 'Заголовок вместо Свойства'// новый заголовок
        
    $headding ''// пустой заголовок
        
    return $headding;
    }
    add_filter('woocommerce_product_additional_information_heading''my_additional_information_heading' );
    По манипуляциями с вкладками можно посмотреть еще эту тему.
     
    • Нравится Нравится x 1
  12. Tanhuxa

    Tanhuxa

    Сообщения:
    86
    Симпатии:
    6
    Баллы:
    8
    Здравствуйте, searchingman! Спасибо, что снова откликнулись! Именно это. Сработало. Спасибо! (y) Вы прям волшебники какие-то!
     
  13. llelikys

    llelikys

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!

    Подскажите, а как сделать, чтобы, например:
    Если количество товара на складе от 1 до 10 - то выводило сообщение "мало на складе",
    Если количество товара от 11-90 - то выводило сообщение "много на складе",
    Ну и соответственно, если нет на складе, то выводило сообщение - "нет на складе".

    Понимаю, что надо как-то изменить, наверное в этой конструкции, но вот не знаю как это сделать. Буду благодарен, если кто-то сможет подсказать. Использую последнюю версию woo.


    /**
    * смена записи наличия товара
    */
    add_filter( 'woocommerce_get_availability', 'custom_get_availability', 1, 2);
    function custom_get_availability( $availability, $_product ) {
    //change text "In Stock' to 'SPECIAL ORDER'
    if ( $_product->is_in_stock() ) $availability['availability'] = __('есть в наличии', 'woocommerce');
    //change text "Out of Stock' to 'SOLD OUT'
    if ( !$_product->is_in_stock() ) $availability['availability'] = __('нет в наличии', 'woocommerce');
    return $availability;
    }
     
  14. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    А что, стандартные настройки по границу низких остатков уже не работает?
     
  15. llelikys

    llelikys

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    ну тут тогда больше вопрос: как сделать так, чтобы выводилось именно в такой формулировке, а не просто есть или нет в наличии?

    А стандартно он выводит количество в карточке товара сколько осталось.

    Или чего-то не понимаю как стандартно это можно сделать, чтобы выдавало "мало на складе", "много на складе" и "нет на складе" без точного количества.
     
  16. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    В functions.php своей темы вставьте код
    PHP:
    function my_woocommerce_stock_html$availability_html$availability$product) {
        
    $total_stock $product->get_total_stock();
        if (
    $total_stock >= && $total_stock <= 10$message 'мало на складе';
        elseif (
    $total_stock >= 10 $message 'много на складе';
        else  
    $message 'нет на складе';
       
        return 
    $message;
    }
    add_filter'woocommerce_stock_html''my_woocommerce_stock_html'10);
     
  17. llelikys

    llelikys

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Ругается:

    Warning: Missing argument 3 for my_woocommerce_stock_html()
    на эту строчку
    function my_woocommerce_stock_html( $availability_html, $availability, $product) {

    Fatal error: Call to a member function get_total_stock() on a non-object
    на эту строчку
    $total_stock = $product->get_total_stock();
     
  18. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Тестировал в последней версии WooCommerce (2.4.10) и последней версии темы StoreFront.
    Никаких ошибок не заметил.
    При указании в админке у товара количества http://take.ms/Hp6kx, в карточке товара показывается так http://take.ms/pt2ZS.
     
  19. llelikys

    llelikys

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Понял, видимо что -то у меня по другому, раз дает такой ответ. Хотя и использую 2.4.10, но тему другую использую, видимо она и виновата :(
     
  20. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Какую тему используете?