Woocommerce: Изменение значения по умолчанию в выпадающем списке вариаций?

17 мая 2013 г., 16:39:47
Просмотры: 45.1K
Голосов: 2

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

2
Комментарии

Вы хотите изменить правило стиля, применяемое к селектору, или сам селектор? Первое не соответствует теме согласно [faq], так как это чисто CSS-вопрос.

s_ha_dum s_ha_dum
17 мая 2013 г. 16:49:57

Смотрите мои комментарии к ответу Daniel :)

McKeene McKeene
17 мая 2013 г. 17:39:56
Все ответы на вопрос 3
1

На странице редактирования вариативного товара перейдите на вкладку "Вариации". После настройки вариаций для цвета вы можете установить "Выбор по умолчанию" внизу: http://cld.wthms.co/7LIv

Это будет вариант, выбранный по умолчанию при посещении страницы покупателем (если он есть в наличии). Пример: http://cld.wthms.co/YQFO

17 мая 2013 г. 17:08:31
Комментарии

Я всё ещё хочу значение по умолчанию, но мне нужно изменить текст с "Выберите вариант" на "Выберите размер". На странице необходимо выбрать размер перед тем, как появится кнопка покупки. Если в качестве значения по умолчанию будет использоваться размер, эта функция исчезнет.

McKeene McKeene
17 мая 2013 г. 17:39:35
1

Если вам, как и мне, хочется, чтобы вариант вариации был выбран по умолчанию без необходимости вручную устанавливать его для каждого товара в админке, вам нужно изменить файл variable.php, который находится по пути woocommerce/templates/single-product/add-to-cart/variable.php (пожалуйста, не изменяйте файл самого плагина WooCommerce — вместо этого скопируйте его в директорию вашей темы, как рекомендует лучшая практика).

Ключевой момент здесь — последнее условие else на строке 35. Именно оно определяет, какое значение вариации будет установлено по умолчанию. Просто измените:

$selected_value = '';

...на...

$selected_value = $options[0];

Это установит первое значение из массива вариаций товара в качестве значения по умолчанию. Таким образом, кнопка "Добавить в корзину" всегда будет отображаться сразу, а пользователь при желании сможет выбрать другой вариант.

Почему этого нет в ядре WooCommerce — загадка.

(Примечание: этот метод всё равно позволяет администратору задать конкретное значение по умолчанию через админку WordPress, которое переопределит значение, установленное в моём коде выше.)

16 мая 2014 г. 17:51:18
Комментарии

Это проблематично, когда у вас есть товар в наличии, но первый вариант НЕ в наличии. Это вызовет предупреждение "Извините, нет товаров, соответствующих вашему выбору...".

jetlej jetlej
11 мар. 2015 г. 02:02:58
0

Знаю, что уже немного поздно, но на случай, если кто-то еще столкнется с этой проблемой. Это позволит вам изменить текст значения по умолчанию.

Скопируйте и вставьте этот код в файл functions.php вашей темы. Возможно, это не самый лучший способ, но у меня сработало отлично.

/* Изменение текста значения по умолчанию в WooCommerce */
add_filter('gettext',  'choose_option');
add_filter('ngettext',  'choose_option');

function choose_option($translated) {
     $translated = str_ireplace('Choose an option',  'Выберите размер',  $translated);
     return $translated;
}

ПРИМЕЧАНИЕ: Это изменит текст значения по умолчанию на всем сайте. Просто имейте в виду!

25 мар. 2014 г. 21:59:56