Я работаю на сайте woocommerce, и мне нужно найти способ сгруппировать опции выбора в optgroups.
Моя опция хранится в виде массива, например
aray = [
"A4 1.9tdi (2003-2009)",
"A4 2.0tdi (2003-2009)",
"Passat B7 1.9tdi(2003-2009)",
"Passat B7 2.0 tdi(2003-2010)"
]
Нет, что мне нужно должен сделать php выбор, который сгруппировал бы опции в optgroup, используя строку до первого пробела
Используя функцию
explode(' ',$s, 2) or by strpos($inputString, ' ');
, я могу разделить значения по мере необходимости .
Мне нужно адаптировать код, который я сейчас использую для отображения опций:
$html = '<span class="number">' . ($level + 1).'</span><select class="'.$class.'" name="'.$levelData['url_parameter'].'" '.$extra.'>;
foreach ( $this->getLevelOptions($level) as $val ){
$html .= '<option value="'.esc_attr( $val ).'" '.($val == $value ? 'selected' : '').'>'.esc_html( $val ).'</option>';
}
$html .= '</select>';
return $html;
Чтобы я мог показать опции, сгруппированные по optgroup, например:
A4 (optgroup)
A4 1.9tdi (2003-2009)
A4 2.0tdi (2003-2009)
Passat (optgroup)
Passat B7 1.9tdi(2003-2009)
Passat B7 2.0 tdi(2003-2010)
Буду признателен, если кто-нибудь сможет мне помочь.