在我的wordpress主题中有一个定制器部分。我为图标做了一个设置和控件。我希望我的用户能够选择他想要的图标。我用icon-home之类的类实现了icomoon图标字体。
我为这个图标做了如下的设置和控件:
$wp_customize->add_setting(
'service1_icon',
array(
'default' => 'icon1',
'type' => 'option',
)
);
$wp_customize->add_control(
'service1_icon',
array(
'label' => 'Service 1 Icon',
'section' => 'section_services',
'type' => 'select',
'choices' => array(
'icon1' => 'mobile',
'icon2' => 'home',
),
)
);
和在html/php中:
<span class="service-icon icon-<?php echo get_theme_mod('service1_icon', 'icon1'); ?>"></span>
但是当我在浏览器中看到这样的输出:
<span class="service-icon icon-icon1"></span>
代替:
<span class="service-icon icon-mobile"></span>
我试图修复它,做了一些对我来说不合逻辑的事情,我修复了它。
首先,我从设置中删除了类型:
$wp_customize->add_setting(
'service1_icon',
array(
'default' => 'icon1',
)
);
然后我重命名icon1, icon2…到图标的实际名称:
$wp_customize->add_control(
'service1_icon',
array(
'label' => 'Service 1 Icon',
'section' => 'section_services',
'type' => 'select',
'choices' => array(
'mobile' => 'mobile',
'home' => 'home',
),
)
);