Я создаю новый раздел в разделе 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».

Я пытаюсь достичь 7 полей с заголовком «Логотип 1», «Логотип 2» и т. Д.

0
Freddy 15 Апр 2020 в 01:50

2 ответа

Попробуй это -

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



}
0
b0xed 14 Апр 2020 в 23:07

Чтобы напечатать переменную $ i, вы должны использовать двойные кавычки. Например: "logo-$i". Другой способ похож на ответ выше с 'logo-' . $i.

0
maaprote 15 Апр 2020 в 00:35