WordPress : WP Customizer compare et définit une valeur via javascript

Publié par Jean-Michel le

Je travaille sur un thème qui permet aux utilisateurs de choisir parmi un ensemble de palettes de couleurs et j’ai besoin d’ajouter plus de contrôles de couleur afin que l’utilisateur puisse modifier les couleurs d’arrière-plan des sections du site, qui sont contrôlées en fonction de la palette de couleurs. Jusqu’à ce que l’utilisateur définisse une couleur personnalisée, j’ai besoin que les couleurs de ces options soient mises à jour (sans actualisation) en fonction de la palette de couleurs sélectionnée.

Lire également:  Wordpress : Le personnalisateur `active_callback` ne fonctionne pas sur le contrôle avec la méthode de transport `postMessage`

J’ai besoin de quelque chose de similaire à la réponse de Weston Ruter à cette question, mais je n’arrive pas à comprendre comment comparer la valeur actuelle et définir la couleur en fonction de celle-ci.

Le code suivant met à jour la couleur sans rafraîchir, mais uniquement sur l’option de la dernière instruction « else », chaque fois que j’essaie de comparer les valeurs, cela ne fonctionne pas.

wp.customize( 'themeb_scheme', 'themeb_footerbg', function( themeb_scheme, themeb_footerbg ) {
themeb_scheme.bind( function( value ) {

    if( themeb_scheme == 'light'){
        themeb_footerbg.set( '#eaeaea' );
    } else if( themeb_scheme == 'dark'){
        themeb_footerbg.set( '#323232' );
    } else  {
        themeb_footerbg.set( '#828282' );
    }

} );

} );

Lire également:  Formulaire de contact Wordpress 7 numéro Colspan

Je n’ai aucune expérience avec jquery, la personne qui a codé la mise en page ne travaille plus avec nous et on m’a demandé d’apporter ces modifications, donc toute aide serait très appréciée.

Solution n°1 trouvée

Vous liez les modifications à themeb_schemevia une fonction de rappel anonyme avec le paramètre valuecomme nouveau paramètre de themeb_scheme.

Cela devrait fonctionner :

wp.customize( 'themeb_scheme', 'themeb_footerbg', function( themeb_scheme, themeb_footerbg ) {
  themeb_scheme.bind( function( value ) {

    if( value == 'light'){
      themeb_footerbg.set( '#eaeaea' );
    } else if( value == 'dark'){
      themeb_footerbg.set( '#323232' );
    } else  {
      themeb_footerbg.set( '#828282' );
    }
} );
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *