Создание полей через al oop и использование переменных - WordPress Customizer - PullRequest
0 голосов
/ 15 апреля 2020

Я создаю новый раздел в разделе Customizer WordPress. Этот раздел называется Footer Logos.

В нижнем колонтитуле сайта будет 7 изображений, и я хочу, чтобы администратор имел полный контроль над этими изображениями (вот почему я это делаю через настройщик).

Вместо создания 7 новых элементов управления с помощью add_control, я пытаюсь создать их с помощью al oop, который остановится на 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',
                )
            )
        );
    }



}

В настоящее время отображается только одно поле с заголовком «Lo go $ i».

Я пытаюсь достичь 7 полей с заголовком "Lo go 1", "Lo go 2" et c

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

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

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 голосов
/ 15 апреля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...