J'ai configuré une nouvelle section dans le personnalisateur appelée Liens sociaux , sous laquelle j'ai configuré une option et un contrôle de champ de texte appelé Facebook . Voici le code dans mon functions.php :
// SOCIAL LINKS
$wp_customize->add_section( 'social_links_section' , array(
'title' => __( 'Social Links', 'my_theme' ),
'priority' => 100,
) );
// Facebook
$wp_customize->add_setting( 'social_link_facebook' , array(
'default' => ''
) );
$wp_customize->add_control(
'social_link_facebook',
array(
'label' => __( 'Facebook', 'my_theme' ),
'section' => 'social_links_section',
'settings' => 'social_link_facebook',
'type' => 'url',
)
);
Mais lorsque j'essaie d'obtenir la valeur de social_link_facebook dans les fichiers de modèle de thème, cela ne renvoie rien. Voici le code de mon header.php :
<?php $facebook = get_option( 'social_link_facebook' );
if( !empty($facebook) ) { ?>
<a href="<?php echo $facebook ?>" target="_blank" ><span class="dashicons dashicons-facebook-alt"></span></a>
<?php } ?>
Une idée pourquoi cela pourrait être?
Il y a deux façons de résoudre ce problème:
1 Conservez les mods tels quels et utilisez get_theme_mod
au lieu de get_option
2 Stockez les mods en tant qu’options en modifiant le réglage:
$wp_customize->add_setting( 'social_link_facebook' , array(
'default' => '',
'type' => 'option'
) );