首页 > 解决方案 > 通过循环创建字段并使用 vars - WordPress Customizer

问题描述

我正在 WordPress 的定制部分中创建一个新部分。此部分称为Footer Logos.

网站页脚中将有 7 张图片,我希望管理员能够完全控制这些图片的内容(这就是我通过定制器进行操作的原因)。

我没有通过创建 7 个新控件add_control,而是尝试通过将在第 7 次迭代时停止的循环来创建它们。

public function footer_logos($customizer) {
    // Add our customizer section
    $customizer - > add_section(
        'foot_logos', array(
            'title' => __('Footer Logos', 'my_theme'),
            'priority' => 1100,
        )
    );

    // Add our settings
    for ($i = 1; $i <= 7; $i++) {
        $customizer - > add_setting('logo-$i');
    }


    for ($i = 1; $i <= 7; $i++) {
        $customizer - > add_control(
            new WP_Customize_Image_Control(
                $customizer, 'logo-$i', array(
                    'label' => __('Logo $i', 'my_theme'),
                    'description' => __('', 'my_theme'),
                    'section' => 'foot_logos',
                )
            )
        );
    }



}

目前,仅显示一个标题为“Logo $i”的字段。

我想要实现的是带有标题“徽标 1”、“徽标 2”等的 7 个字段

标签: phpwordpresscustomizer

解决方案


试试这个 -

public function footer_logos($customizer) {
// Add our customizer section
$customizer - > add_section(
    'foot_logos', array(
        'title' => __('Footer Logos', 'my_theme'),
        'priority' => 1100,
    )
);

// Add our settings
for ($i = 1; $i <= 7; $i++) {
    $customizer - > add_setting('logo-'.$i);
}


for ($i = 1; $i <= 7; $i++) {
    $customizer - > add_control(
        new WP_Customize_Image_Control(
            $customizer, 'logo-'.$i, array(
                'label' => __('Logo '.$i, 'my_theme'),
                'description' => __('', 'my_theme'),
                'section' => 'foot_logos',
            )
        )
    );
}



}

推荐阅读