Аргумент choices
ожидает массив , а не строку, поэтому вам нужно будет вместо этого сохранить каждый $item['family']
в массив, а затем добавить этот массив вАргумент.
Hapstyx также правильно указал, что вам не нужно $i++
для итерации вашего цикла.
Массив, который choices
ожидает для ваших опций выпадающего меню, должен выглядеть примерно такэто:
$choices = array(
'option-value-1' => 'Option Title 1',
'option-value-2' => 'Option Title 2',
'option-value-3' => 'Option Title 3'
);
Мы можем построить этот тип массива следующим образом:
//predefine a blank array which we will fill with your options
$choices = array();
//loop through your items and that the values to the $choices array
foreach ($items as $font_value => $item) {
$choices[$item['slug']] = $item['family']; //I'm assuming your $item array contains some sort of slug to set as the value, otherwise, comment the above out, and uncomment the below:
// $choices[$item['family']] = $item['family']
}
//set your arguments
$args = array(
'label' => 'Fonts Section',
'section' => 'ounox-fonts-section',
'settings' => 'ounox-fonts-display',
'type' => 'select',
'choices' => $choices
);
//add the control
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ounox-fonts-display-control', $args));