通过循环创建字段并使用变量 - WordPress Customizer

Creating fields through a loop and using vars - WordPress Customizer

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

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

我不是通过 add_control 创建 7 个新控件,而是尝试通过将在第 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"。

我想要实现的是 header "Logo 1"、"Logo 2" 等 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',
            )
        )
    );
}



}

要打印变量 $i,您应该使用双引号。例如:"logo-$i"。另一种方法就像上面 'logo-' . $i.

的答案