Как добавить свои настройки в тему вордпресс

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

Для того, чтобы добавить четыре простые настройки в  Настроить» в административном разделе сайта необходимо в functions.php вставить следующий код:

function mytheme_customize_register( $wp_customize ) {
/*
Добавляем секцию в настройки темы
*/
$wp_customize->add_section(
    // ID
    'data_site_section',
    // Arguments array
    array(
        'title' => 'Контактная информация',
        'capability' => 'edit_theme_options',
        'description' => "Тут можно указать данные сайта"
    )
);
/*
Добавляем поле контактных данных
*/
$wp_customize->add_setting(
    // ID
    'theme_contacttext',
    // Arguments array
    array(
        'default' => '',
        'type' => 'option'
    )
);
$wp_customize->add_control(
    // ID
    'theme_contacttext_control',
    // Arguments array
    array(
        'type' => 'text',
        'label' => "Адрес",
        'section' => 'data_site_section',
        // This last one must match setting ID from above
        'settings' => 'theme_contacttext'
    )
);
/*
Добавляем поле телефона site_telephone
*/
$wp_customize->add_setting(
    // ID
    'site_telephone',
    // Arguments array
    array(
        'default' => '',
        'type' => 'option'
    )
);
$wp_customize->add_control(
    // ID
    'site_telephone_control',
    // Arguments array
    array(
        'type' => 'text',
        'label' => "Телефон",
        'section' => 'data_site_section',
        // This last one must match setting ID from above
        'settings' => 'site_telephone'
    )
);
	/*
Добавляем поле телефона site_email
*/
$wp_customize->add_setting(
    // ID
    'site_email',
    // Arguments array
    array(
        'default' => '',
        'type' => 'option'
    )
);
$wp_customize->add_control(
    // ID
    'site_email_control',
    // Arguments array
    array(
        'type' => 'text',
        'label' => "Email",
        'section' => 'data_site_section',
        // This last one must match setting ID from above
        'settings' => 'site_email'
    )
);
		/*
Добавляем поле  site_mode
*/
$wp_customize->add_setting(
    // ID
    'site_mode',
    // Arguments array
    array(
        'default' => '',
        'type' => 'option'
    )
);
$wp_customize->add_control(
    // ID
    'site_mode_control',
    // Arguments array
    array(
        'type' => 'text',
        'label' => "Режим работы",
        'section' => 'data_site_section',
        // This last one must match setting ID from above
        'settings' => 'site_mode'
    )
);
}
add_action( 'customize_register', 'mytheme_customize_register' );

Для вывода в шаблоне в необходимое мсто необходимо вставить код:

<?php echo get_option('theme_contacttext', ''); ?>

В интернете много статей, которые рекомендуют использовать для вывода настроек функцию get_theme_mod(«setting_name»)

<?php echo get_theme_mod('theme_contacttext', ''); ?>

Но у меня настройки стали выводится только через get_option();

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *