У меня есть настраиваемое поле CF / select: [select * pcname]
Я использую эту функцию для добавления значений в поле:
function thebox_add_cf7_select_product_list( $tag, $unused ) {
if ( $tag['name'] != 'pcname' ) {
return $tag;
}
$args = array ( 'post_type' => 'my_products',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => -1
);
$products = get_posts($args);
if ( ! $products )
return $tag;
foreach ( $products as $product ) {
$tag['raw_values'][] = $product->post_title;
$tag['values'][] = $product->post_title;
$tag['labels'][] = $product->post_title;
}
return $tag;
}
add_filter( 'wpcf7_form_tag', 'thebox_add_cf7_select_product_list', 10, 2);
Это прекрасно работает. В результате я получаю что-то вроде этого:
<select name="pcname" class="wpcf7-form-control wpcf7-select"">
<option value="Product A">Product A</option>
<option value="Product B">Product B</option>
<option value="Product C">Product C</option>
....
</select>
Но теперь мне нужно добавить дополнительную информацию к каждой опции, такую как Product-ID и Product-Main-Category. Поэтому я хочу использовать атрибуты данных, но я не знаю, как добавить их в мою функцию wpcf7_form_tag выше? Как можно добавить атрибуты данных к параметрам моего поля выбора?
Вывод должен выглядеть следующим образом:
<select name="pcname" class="wpcf7-form-control wpcf7-select"">
<option value="Product A" data-id="1" data-cat="Category A">Product A</option>
<option value="Product B" data-id="2" data-cat="Category B">Product B</option>
<option value="Product C" data-id="3" data-cat="Category B">Product C</option>
....
</select>