WordPress: aggiungi profili di social media al tuo tema WordPress
WordPress offre profili utente con impostazioni per i collegamenti social; tuttavia, altri siti social offrono opportunità per l'intero sito o blog di avere una presenza all'interno di tali reti. Questa settimana stavamo lavorando su un sito di un cliente in cui volevamo semplificare l'impostazione e l'aggiunta dei collegamenti social del proprio sito, quindi abbiamo aggiunto ulteriori opzioni al loro Impostazioni generali di WordPress .
Il nostro primo passo è stato aggiornare le loro funzioni del tema (functions.php) nel loro tema figlio e registra ciascuna delle impostazioni che desideriamo aggiungere:
// —————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');
Il nostro passaggio successivo è stato aggiungere i campi effettivi all'interno della pagina Impostazioni generali che avrebbero salvato le informazioni al loro interno:
// —————-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') .'" />';
}
Ora, ogni volta che il cliente desidera aggiornare le impostazioni della propria pagina social, può semplicemente aggiornare i campi delle impostazioni all'interno del proprio Impostazioni generali di WordPress. All'interno del tema, richiamiamo semplicemente l'impostazione dove necessario (nel caso di questo cliente, era una barra di navigazione dei social media nell'intestazione del loro sito):
<?php echo get_option('general_setting_facebook'); >