
WordPress: Voeg sosialemediaprofiele by u WordPress-tema
WordPress bied gebruikersprofiele met instellings vir sosiale skakels; bykomende sosiale werwe bied egter geleenthede vir jou hele werf of blog om 'n teenwoordigheid binne daardie netwerke te hê. Ons het hierdie week aan 'n kliëntwebwerf gewerk waar ons dit vir hulle maklik wou maak om hul webwerf se sosiale skakels te stel en by te voeg, daarom het ons bykomende opsies by hul WordPress Algemene instellings bladsy.
Ons eerste stap was om hul temafunksies op te dateer (Organisch) in hul Kindertema en registreer elkeen van die instellings wat ons wou byvoeg:
// —————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');
Ons volgende stap was om die werklike velde op die bladsy Algemene instellings by te voeg wat die inligting daarin sou stoor:
// —————-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') .'" />';
}
Nou, wanneer die kliënt hul sosiale bladsy-instellings wil opdateer, kan hulle net die instellingsvelde binne hul opdateer WordPress Algemene instellings. Binne die tema herroep ons eenvoudig die instelling waar nodig (in hierdie kliënt se geval was dit 'n sosiale media-navigasiebalk in die opskrif van hul webwerf):
<?php echo get_option('general_setting_facebook'); >
Kan dit maklik in 'n inprop gemaak word?
Ja, kon seker. Ek dink net dit benodig eers 'n paar bykomende klokkies en fluitjies ... soos om die G+ uitgewerskakel outomaties in die kopskrif te publiseer, die oop grafiek-metadata vir Facebook, ens. Net om dit te doen het nie cool genoeg gelyk nie!