自定义程序中的Wordpress选择设置未输出正确的代码

时间:2016-08-31 10:54:07

标签: php wordpress

我的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>

1 个答案:

答案 0 :(得分:0)

我试图修复它并做了一些对我来说不合逻辑的东西并且我修复了它。

首先,我从设置中删除了类型:

$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',
        ),
    )
);