WordPress: voeg profielen voor sociale media toe aan uw WordPress-thema
WordPress biedt gebruikersprofielen met instellingen voor sociale links; aanvullende sociale sites bieden echter mogelijkheden voor uw hele site of blog om aanwezig te zijn binnen die netwerken. We werkten deze week aan een klantsite waar we het voor hen gemakkelijk wilden maken om de sociale links van hun site in te stellen en toe te voegen, dus hebben we extra opties toegevoegd aan hun WordPress Algemene instellingen pagina.
Onze eerste stap was het updaten van hun themafuncties (functions.php) in hun onderliggende thema en registreer elk van de instellingen die we wilden toevoegen:
// —————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');
Onze volgende stap was om de werkelijke velden toe te voegen op de pagina Algemene instellingen waarin de informatie erin zou worden opgeslagen:
// —————-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, wanneer de klant zijn sociale pagina-instellingen wil bijwerken, kunnen ze gewoon de instellingenvelden binnen hun bijwerken WordPress Algemene instellingen. Binnen het thema herinneren we ons gewoon de instelling waar nodig (in het geval van deze klant was het een navigatiebalk voor sociale media in de kop van hun site):
<?php echo get_option('general_setting_facebook'); >