Почему атрибуты продуктов WooCommerce исчезают при сохранении - PullRequest
0 голосов
/ 24 мая 2018

У меня есть магазин WooCommerce, в котором есть товары с атрибутами, связанными с вариациями.Когда я сохраняю продукты, атрибуты исчезают (и, следовательно, связанные с ними вариации тоже).Когда я повторно добавляю атрибуты и снова сохраняю продукт, варианты возвращаются в прежнем виде.(Обратите внимание, что это означает, что атрибуты не всегда исчезают - только если они не добавлены вручную перед сохранением.) Ошибки не регистрируются.Я хочу понять, почему это произойдет.

Ответы [ 2 ]

0 голосов
/ 15 августа 2019

У меня есть похожее решение с @Maciej Dejewski с использованием Woocommerce v3.6.5.

В файле /plugins/woocommerce/assets/js/admin/meta-boxes-product.js или / plugins / woocommerce / assets/js/admin/meta-boxes-product.min.js (зависит от вашей страницы администратора, вызывающей javascript - вы можете проверить это через элемент inspect)

Но вместо этого добавьте строку

$( '.product_attributes .woocommerce_attribute.open .handlediv' ).trigger('click');

Только что прокомментировал это

$( '.product_attributes' ).html( response.data.html );

Работает нормально для меня

Вот скриншот

Надеюсь, это поможет!

0 голосов
/ 31 марта 2019

Я думаю, у меня была похожая проблема.WordPress 5.1.1 WooCommerce 3.5.7 Ozitsi 1.0.2 Тема от ThemeRex (здесь была проблема)

Краткое описание решения: Добавить атрибут, добавить опции, нажать SAVE ATTRIBUTES (сгибы строки атрибута)-> Раскройте его немедленно - если вы не видите опций, вставленных секунду назад в поле Comboselect, прочитайте .

В моем случае плагин ThemeREX Add-ons (поставляется с темой Ozisti)была проблема.Добавлены дополнительные типы атрибутов, поэтому я мог переключать варианты между выпадающим списком, изображением, цветом и типами кнопок.

После нескольких часов отладки я заметил, что когда атрибут был установлен на один из новых типов, ОБНОВЛЕНИЕ ПРОДУКТАстереть все добавленные атрибуты -> и по вариациям расширения.После повторного добавления атрибутов (без кнопки SAVE ATTRIBUTES - просто добавление атрибутов и ОБНОВЛЕНИЕ продукта ) все вернулось на место.Обратите внимание: когда вы СОХРАНИТЕ АТРИБУТЫ строка с параметрами закрывается, варианты становятся доступными.Но когда я открыл строку атрибутов после того, как все сохранение AJAX было выполнено, оказалось, что в этот комбинированный выбор Wordpress атрибута, который я только что отредактировал, не было помещено ни одной опции.Поэтому при обновлении продукта WooCommerce сохранял пустые параметры атрибутов в БД.

Возможно, это не идеальное решение, но я решил это, изменив WooCommerce meta-boxes-product.js Я прокомментировал строку 465 идобавил еще одну строку, чтобы закрыть строку:

$( '.product_attributes' ).html( response.data.html );
$( '.product_attributes .woocommerce_attribute.open .handlediv' ).trigger('click');

Я не проследил все до корней, но мне кажется, что это работает для этого единственного проекта, на данный момент мне достаточно.

Вывозможно, используйте другие плагины, кроме меня, но, может быть, они делают что-то похожее на мой случай.

Так что попробуйте , чтобы СОХРАНИТЬ АТРИБУТЫ, а затем немедленно снова открыть строку атрибута и проверить, вставлены ли выбранные опции.если нет .. попробуйте мое решение.

...