WooCommerce: добавить класс в выпадающий список вариантов - PullRequest
0 голосов
/ 28 октября 2019

Я хочу добавить класс .form-control в раскрывающийся список вариантов на страницах продуктов WooCommerce.

Похоже, есть возможность сделать это. Я нашел функцию wc_dropdown_variation_attribute_options.

Функция имеет атрибут класса:

function wc_dropdown_variation_attribute_options( $args = array() ) { 
$args = wp_parse_args( apply_filters( 'woocommerce_dropdown_variation_attribute_options_args', $args ), array( 
    'options' => false,  
    'attribute' => false,  
    'product' => false,  
    'selected' => false,  
    'name' => '',  
    'id' => '',  
    'class' => '',  
    'show_option_none' => __( 'Choose an option', 'woocommerce' ),  
 ) ); 

Есть ли решение добавить класс в раскрывающийся список? Я нашел только функцию, но без кода / фрагмента для изменения атрибута класса.

Редактировать: Я нашел фрагмент, который настраивает раскрывающийся список, но я не знаю, как использовать его только для добавления класса: https://stackoverflow.com/a/47189725/1788961

1 Ответ

1 голос
/ 28 октября 2019

Ответ находится в apply_filters( 'woocommerce_dropdown_variation_attribute_options_args', $args )

Вам необходимо использовать этот фильтр для доступа к $args, которые передаются. В вашей конкретной ситуации это то, как вы это сделаете:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', static function( $args ) {
    $args['class'] = 'form-control';
    return $args;
}, 2 );

Что это делает, это подключается к фильтру woocommerce_dropdown_variation_attribute_options_args и передает исходный $args статической функции. Затем вы в основном устанавливаете значение индекса class массива $args. Затем вы возвращаете $args.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...