Existe-t-il un moyen de générer la valeur par défaut d'un type de champ de texte wp_customize
à l'aide de la fonction echo get_theme_mod ();
sans passer par le personnalisateur de thème, en modifiant quelque chose et en l'enregistrant?
Je viens de lire sur une autre stackexchange question que le get_theme_mod
ne montrera que quelque chose après que vous l’ayez sauvegardé dans Theme Customizer. Ne pas être en mesure de sortir la valeur par défaut d'un paramètre wp_customize
semble défier le but d'utiliser une valeur par défaut.
Revenons donc à la question: existe-t-il un moyen d’afficher automatiquement la valeur par défaut d’un paramètre wp_customize
en mode frontal?
Malheureusement, toutes vos commandes de personnalisation sont rattachées à customize_register
; elles ne seront donc utilisées que lors de la personnalisation du thème pour la première fois.
get_theme_mod()
prend un deuxième argument pour une valeur "par défaut" - oui, cela signifie deux instances de données dans votre code, mais c'est une demi-solution.
Je suppose qu'une approche plus SÈCHE serait un couplage de fonctions globales et auxiliaires:
$my_theme_defaults = array(
'foo' => 'bar',
'baz' => 'boo',
);
function my_theme_customize( $wp_customize ) {
global $my_theme_defaults;
$wp_customize->add_setting(
'foo',
array(
'default' => $my_theme_defaults['foo'],
)
);
}
function my_theme_mod( $name ) {
global $my_theme_defaults;
echo get_theme_mod( $name, $my_theme_defaults[ $name ] );
}
En fait, vous pouvez sortir une valeur par défaut. La bonne façon est de définir une valeur par défaut pour votre mod comme ceci:
echo get_theme_mod( 'MOD_ID', 'YOUR DEFAULT OUTPUT' );