WordPress: добавьте профили социальных сетей в свою тему WordPress
WordPress предлагает профили пользователей с настройками социальных ссылок; однако дополнительные социальные сайты дают возможность всему вашему сайту или блогу присутствовать в этих сетях. На этой неделе мы работали над клиентским сайтом, где хотели упростить установку и добавление социальных ссылок своего сайта, поэтому мы добавили дополнительные параметры в их Общие настройки WordPress стр.
Нашим первым шагом было обновление их функций темы (functions.php) в дочерней теме и зарегистрируйте каждую из настроек, которые мы хотели добавить:
// —————Add Settings to General Settings—————–
function social_settings_api_init() {
// Add the section to general settings so we can add our
// fields to it
add_settings_section('social_setting_section',
'Social sites on the web',
'social_setting_section_callback_function',
'general');
// Add the field with the names and function to use for our new
// settings, put it in our new section
add_settings_field('general_setting_facebook',
'Facebook Page',
'general_setting_facebook_callback_function',
'general',
'social_setting_section');
// Register our setting so that $_POST handling is done for us and
// our callback function just has to echo the <input>
register_setting('general','general_setting_facebook');
add_settings_field('general_setting_twitter',
'Twitter Account',
'general_setting_twitter_callback_function',
'general',
'social_setting_section');
register_setting('general','general_setting_twitter');
add_settings_field('general_setting_youtube',
'YouTube Page',
'general_setting_youtube_callback_function',
'general',
'social_setting_section');
register_setting('general','general_setting_youtube');
add_settings_field('general_setting_linkedin',
'LinkedIn Page',
'general_setting_linkedin_callback_function',
'general',
'social_setting_section');
register_setting('general','general_setting_linkedin');
}
add_action('admin_init', 'social_settings_api_init');
Нашим следующим шагом было добавление фактических полей на страницу общих настроек, которые будут сохранять в них информацию:
// —————-Settings section callback function———————-
function social_setting_section_callback_function() {
echo '<p>This section is where you can save the social sites where readers can find you on the Internet.</p>';
}
function general_setting_facebook_callback_function() {
echo '<input name="general_setting_facebook" id="general_setting_facebook" type="text" value="'. get_option('general_setting_facebook') .'" />';
}
function general_setting_twitter_callback_function() {
echo '<input name="general_setting_twitter" id="general_setting_twitter" type="text" value="'. get_option('general_setting_twitter') .'" />';
}
function general_setting_youtube_callback_function() {
echo '<input name="general_setting_youtube" id="general_setting_youtube" type="text" value="'. get_option('general_setting_youtube') .'" />';
}
function general_setting_linkedin_callback_function() {
echo '<input name="general_setting_linkedin" id="general_setting_linkedin" type="text" value="'. get_option('general_setting_linkedin') .'" />';
}
Теперь, в любое время, когда клиент хочет обновить настройки своей социальной страницы, он может просто обновить поля настроек в своем Общие настройки WordPress. В рамках темы мы просто вызываем настройку там, где это необходимо (в случае этого клиента это была панель навигации в социальных сетях в заголовке их сайта):
<?php echo get_option('general_setting_facebook'); >