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

Вышел WooCommerce 3.0 “Bionic Butterfly” (описание на русском)

Тема в разделе "Новости", создана пользователем D&B, 4 апр 2017.

  1. D&B

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

    Сообщения:
    3.699
    Симпатии:
    876
    Баллы:
    113
    Привет форумчанам и гостям. WC обновился до версии 3.0. Изменений, разумеется, много. Полный чейнчлог на английском смотрите тут

    Завтра, надеюсь, и у нас появиться полное русское описание.

    Внимание! Обновляться настоятельно пока не советую!

    Но если уж так неймется, по меньшей мере, убедитесь, что ваша тема и плагины уже совместимы с 3.0 и обязательно делайте бекапы.


    Встречайте, WooCommerce 3.0 “Бионическая бабочка”


    3.0 – это крупное обновление. Как всегда, перед тем, как начать обновление, убедитесь в том, что все расширения и темы совместимы и не забудьте сделать полный бэкап.

    CRUD (Создавай, читай, обновляй и удаляй) объекты и хранение данных

    Классы CRUD в 3.0 представляют собой фундаментальные изменения в том, как мы работаем с объектами данных в ядре (это товары, заказы, купоны, клиенты и т.д.)

    Традиционно в WordPress, когда мы работаем, например, с записями и данными записей, мы можем обновить /получить/создать любые мета данные, которые хотим, и все изменения напрямую пойдут в базу данных. С другой стороны наш новый CRUD подход представляет новый слой, который лежит между базой данный и вашим кодом, и он добавляет структуру, валидацию и контроль.

    Вот вам простой пример. Давайте представим, что у вас есть товар, а у этого товара есть цена. По старинке если вы решили обновить цену, вам нужно было:
    1. Знать, где хранится цена (мета ключ)
    2. Знать в каком формате хранятся эти данные (string? 2 десятичных разряда?)
    3. Знать, как нужно обновить данные (update_post_meta).
    С CRUD вы вместо этого будете иметь список свойств товара, одно из которых – это его цена, и вы можете вызвать ->set_regular_price(), чтоб установить данные, за которыми следуют ->save(), чтоб эти данные появились в базе данных

    И здесь вас совершенно не волнует где что хранится, и какое форматирование используется. Например:

    Код:
    1. $product = wc_get_product( 1 );
    2. $product->set_regular_price( 10.99 );
    3. $product->save();
    
    Преимущества?
    • Мы определяем структурированные данные для каждого ресурса, и вам легко в них ориентироваться.
    • Мы контролируем поток данных и любые нужды валидации
    • Вам не нужно знать из чего состоят данные, с которыми вы работаете
    • Данные можно переместить куда угодно, к примеру, это могут быть кастомные таблицы, и это не затронет существующий код
    • Можно использовать повторно (API, CLI, WP Admin). Имеется большее покрытие модульных тестов
    Это изменение должно существенно улучшить производительность в будущем

    Новая товарная галерея

    2017-04-05_21-38-10.png


    • Посетители теперь получили доступ и к лупе, и к зумированию (lightbox)
    • Более интуитивное поведение галереи: клик на миниатюру теперь обновит главное изображение, вместо того, чтоб открыть lightbox.
    • Крупные изменения также коснулись и «ручных» действий в целом; листаем чтоб продвигаться по галереи, щипком увеличиваем фото, проведите по экрану вверх-вниз, чтоб приблизить фото и т.д.
    • Открытие lightbox на мобильных устройствах теперь отобразит изображение в его истинном размере, который крупнее, чем отображение в странице.
    Чтоб избежать сбоя кастомных лайтбоксов в темах, в не дефолтных WordPress-темах нужно будет включить новую функциональность, используя add_theme_support().

    Новый CLI (Интерфейс командной строки) и Rest API v2

    У версии 2.6. уже был CLI, но он был кастомный и не имел общего кода с остальной частью кодовой базы. Он был достаточно бесполезный, так что, в конце концов, у нас появился полновесный REST API. В 3.0.x мы создали новый CLI, который напрямую интегрируется с REST API и поддерживает всю ту же функциональность.

    Мы также представили новую версию API с несколькими улучшениями:

    • Поддерживает метаданные на большинстве конечных точек
    • Новые конечные точки вариации для создания и обновления вариаций. В довершении мы пубрали возможность управлять манипуляциями прямо из товарных конечных точек.
    • Конечная точка «Настроек» (обновить/просмотреть настройки магазина).
    • Конечные точки зон доставки
    • Конечные точки методов доставки и оплаты, включая «Настройки»
    • Добавлена поддержка аутентификации oAuth1.0a, с использованием хэдеров
    • Дополнительное кэширование и удаление медленных запросов (запрос «Старый заказ» из пользовательской части API).
    Новая система регистрации

    db-logs_720.png


    Обработчик журнала базы данных

    Новый регистратор, который может быть использован расширениями для регистрации событий, ошибок, предупреждений, ограничений адресов в нашем старом регистраторе. Он использует обработчики журнала и внедряет методы, описанные интерфейсом регистратора PSR-3, который гораздо более всеобъемлющий.

    Новый регистратор имеет 2 два обработчика: файла и базы данных. Обработчик базы данных можно внедрить при помощи;

    Код:
    define( 'WC_LOG_HANDLER', 'WC_Log_Handler_DB' );
    Улучшения по части производительности

    В версии 3.0.x. появились следующие новшества для улучшения производительности:

    • Для вариативных товаров мы попытались оптимизировать синхронизацию вариативных товаров. Метаданные «Цена выше/ниже» упразднены и теперь есть только главные цены, а также вес и габариты дочерних товаров.
    • В наших шаблонных файлах мы удалили WP_Query из up-sells.php и related.php и заменили их на PHP foreach loop (так как у нас уже есть ID товара). Это значит, что мы избавились от одного тяжелого запроса на страницах товара и корзины.
    • Мы убрали функцию, согласно которой старые заказы получали доступ к новым загрузкам в процессе редактирования товара. Зацикливание тысяч товаров на это обновление может обернуться для некоторых магазинов бременем производительности. А также это может привести к возникновению неожиданного поведения, так что после такого обновления мы обновили и редактируемые загрузки, так что редактирование файла не помешает покупателю его скачать.
    • Мы удалили колонку ‘позиции заказа’ на странице заказа. Это, конечно, может быть полезно, но если загружаются все позиции заказа на странице, то это явно не улучшит производительность. Возможно, мы вернем эту колонку в будущем, но она должна быть динамичной, так что подождем до будущего редизайна UI.
    • Вместо того, посылать emailы в один большой запрос, когда заказ переходит в стадию оформления, мы внедрили отложенное CRON-событие для отсылки emailов. Оно позволяет отсылать emailы после небольшой задержки в качестве отдельных запросов, благодаря чему процесс оформления заказа стал быстрее 50%
    Кроме того, так как присоединение к мета таблице записи может привести к существенному замедлению работы сайта, если у вас большой каталог товаров, мы оптимизировали этот процесс, чтоб больше использовать таксономии для товарных фильтров фронтенда.

    • Видимость товаров (контролирует видимость ваших товаров в каталоге, поиске, или и там, и там) была ранее мета записи и использовалась во всех WooCommerce товарных запросах. В 3.0 это - новая таксономия product_visibility. Тест, в котором приняло участие ~8k товаров, показал улучшение производительности примерно равное 94%.
    • Сопутствующие товары также используют новую таксономию product_visibility, вместо мета, что позволяет улучшить запросы.
    • И то же самое для товаров на распродаже. Если вы скрываете распродажные товары в каталоге на распродаже, то это приведет к улучшению производительности.

    Все остальное
    • Сортировка налоговых ставок была раньше процессом ручным. Но когда у вас скапливались целые страницы этих налоговых ставок, то этот процесс превращался в настоящий ад. В 3.0.x мы сортируем ставки автоматически, помещая более специфические правила над общими правилами.
    • Во фронтенде мы внедрили отказ от предупреждений, который действует во всем магазине, благодаря чему стало появляться меньше проблем, которые появлялись, когда предупреждения перекрывали контент на мобильных устройствах.
    • В WordPress сетях/мультисайтовых инсталляциях, когда пользователь авторизуется в магазине со своего аккаунта, но не того аккаунта, который принадлежит этому конкретному магазину, WooCommerce добавит этих существующих пользователей к текущему магазину, а не выкатит ошибку, как это было в версии 2.6.
    • Ранее, структурированные данные были выходными потоками в наших шаблонных файлах. В 3.0 мы переключились на формат JSON-LD, который позволяет сохранять наши шаблонные файлы чистыми и аккуратными, а также сохраняет данные нетронутыми, если кастомизацией занимаются разработчики тем.
    • Если проводится платеж PayPal Standard, то средства сейчас захватываются автоматически, когда статус заказа меняется на «В процессе» или «Завершен». В 2.6.x это проделывалось вручную.
    • Мы слили типы купонов Процент корзины и Процент товара в один и удалили дисконты product_cart. Скидки, которые дают эти купоны, идентичны, но валидация, в основе которой лежала корзина, останавливала применение купона, если в корзину попадал не соответствующий критериям товар, вместо того, чтоб просто выдавать скидки для подходящих под данные критерии товаров, как это делают купоны. Это было очень не интуитивно, и вызывало недоумение, как со стороны покупателя, так и со стороны владельца магазина, и что важнее всего, пользователям приходилось оформлять заказ дважды, чтоб применить эти купоны.
    • Цены вариативных товаров, которые содержат распродажные наименования, теперь не зачеркиваются. Цены распродаж никуда не делись и появляются при выборе вариации.
    • Сгруппированные товары теперь перелинкованы от родительского товара, а не от дочернего. Дочерние товары могут содержаться более чем в одной группе.
    ИСТОЧНИК

    bionic-butterfly.png
     
    Последнее редактирование: 5 апр 2017
    • Нравится Нравится x 2
  2. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.574
    Симпатии:
    248
    Баллы:
    63
    обновился на тестовом сайте.
    Да, стоит дождаться как минимум перевода и обновления темы....
     
  3. andrej

    andrej

    Сообщения:
    19
    Симпатии:
    1
    Баллы:
    3
    в настройках "Активировать Lightbox для изображений товара" куда то пропал, из за чего Lightbox перестал работать.
    В списке товаров, заголовки были в <H3>, в новой версии они в <H2> с какого то перепугу... что то еще съехало

    откатил назад
     
    Последнее редактирование: 5 апр 2017
    • Информативно Информативно x 2
  4. Радик

    Радик

    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    6
    Тоже обновился... а зря... не подскажите как откатиться назад?
     
  5. andrej

    andrej

    Сообщения:
    19
    Симпатии:
    1
    Баллы:
    3
    Проще и удобнее всего, из репозитория вордпресс установите плагин WP Rollback, там можно откатить на любую версию плагина.
    После отката можно деактивировать WP Rollback.
     
  6. Майор КГБ

    Майор КГБ

    Сообщения:
    4
    Симпатии:
    2
    Баллы:
    3
    Ну и зря откатывались. Документацию видимо только дураки читают.
    Тем у кого перестали работать лайтбоксы решение от разработчиков вот. Нужно в теме включить поддержку новых галерей.

    add_action( 'after_setup_theme', 'yourtheme_setup' );

    function yourtheme_setup() {
    add_theme_support( 'wc-product-gallery-zoom' );
    add_theme_support( 'wc-product-gallery-lightbox' );
    add_theme_support( 'wc-product-gallery-slider' );
    }

    Видео новой галереи вот
     
    • Нравится Нравится x 2
    • Согласен Согласен x 1
    • Победитель Победитель x 1
    • Информативно Информативно x 1
  7. D&B

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

    Сообщения:
    3.699
    Симпатии:
    876
    Баллы:
    113
    Добавил перевод с блога разрабов
     
    • Нравится Нравится x 1
  8. Автозапчасти54.рф

    Автозапчасти54.рф Guest

    Доброе утро. Подскажите как вернуть или доработать эти косяки.
    Суть в ток что я новичок в этом. С момента начало работы с сайтом не разу не делал резервную копию. Как теперь вернуть или до работать эти все ошибки. Вариация перестала работать.
    Пожалуйста помогите.......
     

    Вложения:

    • 1.png
      1.png
      Размер файла:
      100,4 КБ
      Просмотров:
      38
    • Безымянный.png
      Безымянный.png
      Размер файла:
      103,6 КБ
      Просмотров:
      31
    • 2.png
      2.png
      Размер файла:
      19,8 КБ
      Просмотров:
      29
  9. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.574
    Симпатии:
    248
    Баллы:
    63
  10. Автозапчасти54.рф

    Автозапчасти54.рф Guest

    С
    СПАСИИИИИИББББООООО!!!!!! вы меня очень выручили.....
    Можно еще один вопросик, как правильно и каким плагином делать резервную копию?
     
  11. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.574
    Симпатии:
    248
    Баллы:
    63
    правильно - на стороне хостинга, его инструментами
    плагином - не знаю, не пользуюсь
     
  12. Автозапчасти54.рф

    Автозапчасти54.рф Guest

    Сейчас глянул на хостинге но он сохранил автоматически 11.02.2017 08:10.... А то что я редактировал после этого сохранения? Как быть в этой ситуации?
     
  13. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.574
    Симпатии:
    248
    Баллы:
    63
    страдать.

    Хороший хостинг предлагает бэкап по расписанию, ежедневный или в ручном режиме
     
    • Согласен Согласен x 1
  14. bug008

    bug008

    Сообщения:
    1
    Симпатии:
    3
    Баллы:
    3
    Добрый день! Пришлось обновиться - все прошло не так страшно, так как к теме Flatsome разработчик паралллельно выпустил аж два апдейта. Но вот с переводом пришлось повозиться. При том, что как казалось, слова и фразы в переводе есть. Но, теперь важен регистр, то есть "Return to shop" теперь пишется "Return To Shop" и движек, соответственно, старое значение не принимал. Правил, либо добавлял новое значение через Loco Translate напрямую в pot-файле, потом привинчивал (если значение добавлено) перевод. За день видимые снаружи огрехи поправил. Желаю успеха,
    С уважением
     
    • Нравится Нравится x 2
  15. ВладБлад

    ВладБлад

    Сообщения:
    239
    Симпатии:
    16
    Баллы:
    18
    Кто-нибудь уже успел замерить скорость загрузки сайта с Woocommerce? Это самое важное в наше время (для меня лично).
     
  16. mczmike

    mczmike

    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    всем привет, обновился вместе с темой Flatsome, пока всё вроде в порядке, не хватает перевода. Может переведу сегодня, выложу
     
  17. -Vladislav-

    -Vladislav- Местный

    Сообщения:
    219
    Симпатии:
    54
    Баллы:
    28
    Какая у вас версия Flatsome?
     
  18. nyrt

    nyrt

    Сообщения:
    64
    Симпатии:
    5
    Баллы:
    8
    Помогите, пожалуйста! Как именно это сделать?
     
  19. qwer

    qwer Местный

    Сообщения:
    217
    Симпатии:
    132
    Баллы:
    43
    Попробуйте добавить код в файл functions.php вашей темы.
     
    • Нравится Нравится x 1
  20. Vl@dimir

    Vl@dimir

    Сообщения:
    1
    Симпатии:
    1
    Баллы:
    3
    В файле вашей темы function.php копируем этот текст и меняем

    add_action( 'after_setup_theme', 'имя вашей темы_setup' );

    function имя вашей темы_setup() {
    add_theme_support( 'wc-product-gallery-zoom' );
    add_theme_support( 'wc-product-gallery-lightbox' );
    add_theme_support( 'wc-product-gallery-slider' );
    }

    в этом файле вы увидите на примере имя вашей темы
     
    • Нравится Нравится x 1