Существуют разные пути редактирования содержимого областей шаблона вордпресс. Самыми популярными из них является редактирование областей с помощью виджетов, плагинов (например плагины конструкторы контента, плагины вставки произвольных шорткодов ) и настройки темы.
Для того, чтобы добавить четыре простые настройки в Настроить» в административном разделе сайта необходимо в 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();
