WordPress: Tilføj sociale medieprofiler til dit WordPress-tema
WordPress tilbyder brugerprofiler med indstillinger for sociale links; Yderligere sociale websteder tilbyder dog muligheder for, at hele dit websted eller din blog kan være tilstede i disse netværk. Vi arbejdede på et kundewebsted i denne uge, hvor vi ønskede at gøre det nemt for dem at indstille og tilføje deres websteds sociale links, så vi tilføjede yderligere muligheder til deres WordPress Generelle indstillinger .
Vores første skridt var at opdatere deres temafunktioner (functions.php) i deres børnetema og registrer hver af de indstillinger, vi ønskede at tilføje:
// —————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');
Vores næste trin var at tilføje de faktiske felter på siden Generelle indstillinger, der ville gemme oplysningerne i dem:
// —————-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') .'" />';
}
Nu, når som helst klienten ønsker at opdatere deres sociale sideindstillinger, kan de bare opdatere indstillingsfelterne i deres WordPress Generelle indstillinger. Inden for temaet husker vi simpelthen indstillingen, hvor det er nødvendigt (i denne klients tilfælde var det en navigationslinje på sociale medier i overskriften på deres websted):
<?php echo get_option('general_setting_facebook'); >