Для тех кто не знает, что это такое и с чем его едят могу дать краткое объяснение. Кастомайзер – это специальный код или файл, который помогает задать вашей теме дополнительные настройки и тем самим предоставляет удобство конечному пользователю. В этой записи я прилагаю экземпляр такого файла, который вы сами сможете использовать в повседневной рутине разработки. Вам будет достаточно подключить такой файл к своей теме с помощью php функции include.
Что содержит данный файл?
Так как настройки темы разбиты на секции то здесь содержится несколько секций содержащих поля соответственного назначения
Секция “Социальные сети”
- Ссылка на профиль Vk
- Ссылка на профиль Facebook
- Ссылка на профиль Google+
- Ссылка на профиль Twitter
Секция “Контактная информация”
- Несколько полей с контактными телефонами (3 поля)
- Поле адреса
- Поле для ввода email
Секция “Баннеры”
- 4 textarea блока для вставки кода баннеров
Чтобы код заработал, нужно либо добавить этот код в файл functions.php либо ещё лучше создать отдельный файл с этим кодом и подключить к functions.php.
<?php
/*
Список аргументов функции get_theme_mod(), которая выводит в теме указанную опцию
--- подробнее о функции: http://wp-kama.ru/function/get_theme_mod
----- Социальные сети -----
vk_page - ссылка на профиль Vk
tw_page - ссылка на профиль Twitter
gp_page - ссылка на профиль Google
fb_page - ссылка на профиль Facebook
----- Контактная информация -----
setting_tel - контактный телефон 1
setting_tel_2 - контактный телефон 2
setting_tel_3 - контактный телефон 3
setting_email - адрес электронной почты
setting_loc - физический адрес
----- Баннеры -----
preim_1 - баннер 1
preim_2 - баннер 2
preim_3 - баннер 3
preim_4 - баннер 4
*/
function kv_customize_register( $wp_customize ) {
class Example_Customize_Textarea_Control extends WP_Customize_Control {
public $ENGINE= 'textarea';
public function render_content() {
?>
<label>
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
<textarea rows="5" style="width:100%;" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
</label>
<?php
}
}
//Создаем секции
$wp_customize->add_section( 'section_social', array('title' => 'Социальные сети', 'priority' => 41) );
$wp_customize->add_section( 'section_footer', array('title' => 'Контактная информация', 'priority' => 61) );
$wp_customize->add_section( 'section_home', array('title' => 'Баннеры', 'priority' => 62) );
// $wp_customize->add_section( 'section_header', array('title' => 'Логотип', 'priority' => 22) );
//Добавляем настройки
//----------Социальные сети ------------------------------------------------------------------------
$wp_customize->add_setting( 'vk_page', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'tw_page', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'gp_page', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'fb_page', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
//--------------- Адрес телефоны и почта ----------------------------------------------------------------------
$wp_customize->add_setting( 'setting_tel', array( 'default' => '+ 38 044 34 99', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'setting_tel_2', array( 'default' => '+ 38 044 34 99', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'setting_tel_3', array( 'default' => '+ 38 044 34 99', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'setting_email', array( 'default' => '[email protected]', 'type' => 'theme_mod', 'capability' => 'edit_theme_options' ) );
$wp_customize->add_setting( 'setting_loc', array( 'default' => 'Адрес','type' => 'theme_mod', 'capability' => 'edit_theme_options' ));
$wp_customize->add_setting( 'settings_logo', array( 'default' => '/wp-content/themes/stimul-plus/img/new-store-1411394494.jpg','type' => 'theme_mod', 'capability' => 'edit_theme_options') );
//--------------Баннеры---------------------------------------
$wp_customize->add_setting( 'preim_1', array( 'default' => '','type' => 'theme_mod', 'capability' => 'edit_theme_options') );
$wp_customize->add_setting( 'preim_2', array( 'default' => '','type' => 'theme_mod', 'capability' => 'edit_theme_options') );
$wp_customize->add_setting( 'preim_3', array( 'default' => '','type' => 'theme_mod', 'capability' => 'edit_theme_options') );
$wp_customize->add_setting( 'preim_4', array( 'default' => '','type' => 'theme_mod', 'capability' => 'edit_theme_options') );
//-------------Выводим поля ввода -----------------------------------------------------------------------------------------
//Ссылка на вконтакте
$wp_customize->add_control( 'vk_page', array(
'label' => 'Ссылка на профиль Вконтакте',
'section' => 'section_social',
'type' => 'text',
'priority' => 1
) );
//Ссылка на твиттер
$wp_customize->add_control( 'tw_page', array(
'label' => 'Ссылка на профиль Twiter',
'section' => 'section_social',
'type' => 'text',
'priority' => 2
) );
//Ссылка на Google+
$wp_customize->add_control( 'gp_page', array(
'label' => 'Ссылка на профиль Google+',
'section' => 'section_social',
'type' => 'text',
'priority' => 3
) );
//Ссылка на Google+
$wp_customize->add_control( 'fb_page', array(
'label' => 'Ссылка на профиль Facebook',
'section' => 'section_social',
'type' => 'text',
'priority' => 4
) );
// загружаем лого в шапке
/* $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'settings_logo', array(
'label' => 'Логотип сайта',
'section' => 'section_header',
'settings' => 'settings_logo',
'priority' => 1
) ) );*/
//Блок с преимуществами 1
$wp_customize->add_control( new Example_Customize_Textarea_Control( $wp_customize, 'preim_1', array(
'label' => 'Баннеры 1',
'section' => 'section_home',
'settings' => 'preim_1',
) ) );
//Блок с преимуществами 2
$wp_customize->add_control( new Example_Customize_Textarea_Control( $wp_customize, 'preim_2', array(
'label' => 'Баннеры 2',
'section' => 'section_home',
'settings' => 'preim_2',
) ) );
//Блок с преимуществами 3
$wp_customize->add_control( new Example_Customize_Textarea_Control( $wp_customize, 'preim_3', array(
'label' => 'Баннеры 3',
'section' => 'section_home',
'settings' => 'preim_3',
) ) );
//Блок с преимуществами 4
$wp_customize->add_control( new Example_Customize_Textarea_Control( $wp_customize, 'preim_4', array(
'label' => 'Баннеры 4',
'section' => 'section_home',
'settings' => 'preim_4',
) ) );
//Адрес
$wp_customize->add_control( new Example_Customize_Textarea_Control( $wp_customize, 'setting_loc', array(
'label' => 'Адрес',
'section' => 'section_footer',
'settings' => 'setting_loc',
) ) );
//телефон
$wp_customize->add_control( 'setting_tel', array(
'label' => 'Телефон 1',
'section' => 'section_footer',
'type' => 'text',
'priority' => 3
) );
//телефон 2
$wp_customize->add_control( 'setting_tel_2', array(
'label' => 'Телефон 2',
'section' => 'section_footer',
'type' => 'text',
'priority' => 3
) );
//телефон 2
$wp_customize->add_control( 'setting_tel_3', array(
'label' => 'Телефон 3',
'section' => 'section_footer',
'type' => 'text',
'priority' => 3
) );
//email
$wp_customize->add_control( 'setting_email', array(
'label' => 'E-mail',
'section' => 'section_footer',
'type' => 'text',
'priority' => 3
) );
}
add_action( 'customize_register', 'kv_customize_register' );
?>