WordPress : Basculer l’affichage de la barre latérale

Publié par Jean-Michel le

Je développe un thème WordPress qui permet aux utilisateurs de basculer la visibilité des barres latérales en utilisant Javascript de la même manière que les wikis permettent aux utilisateurs d’afficher ou de masquer une table des matières.

Lorsqu’un utilisateur clique sur le lien pour masquer une barre latérale, j’ai une fonction de basculement javascript toggle () qui définit la visibilité de la barre latérale sur « aucune » et définit également un cookie de document afin que la prochaine fois que les utilisateurs visitent cette page, la barre latérale sera rappelez-vous le dernier état de basculement.

J’ai une autre fonction javascript setToggleFromCookie() qui récupère le cookie et définit la visibilité en fonction de ce cookie. Tout cela fonctionne sauf :

Si une barre latérale est masquée (c’est-à-dire la visibilité de la barre latérale div = « none » et le cookie de document hidesidebar = 1), lorsque la page est chargée, la barre latérale apparaît brièvement avant que le javascript ne remplace la visibilité = « bloc » par la visibilité = « none . »

J’ai mis setToggleFromCookie() dans jQuery(document).ready(function(), mais la page semble toujours charger et afficher la barre latérale AVANT que setToggleFromCookie() ne saute pour le masquer…

Solution n°1 trouvée

Bien qu’ennuyeux, votre plugin fonctionne correctement. La page s’affiche complètement en premier, affichant la barre latérale, puis le code JavaScript s’active pour masquer la barre latérale.

La solution consiste à demander à votre code PHP de vérifier/saisir le cookie de l’utilisateur et de définir le statut de la barre latérale de l’affichage en conséquence. De cette façon, lorsque la page s’affichera, elle sera initialement définie sur aucun, puis toutes les futures bascules d’image pourront masquer/afficher la barre latérale de manière dynamique.

Lorsque la page est rechargée pour une raison quelconque, le même code de chargement PHP s’exécutera à nouveau et définira l’état initial de la barre latérale en conséquence, sans qu’il soit nécessaire de « faire un suivi » après le chargement initial de la page pour afficher/masquer la barre latérale.

J’espère que cela a du sens. Si vous avez besoin de détails, vous pouvez essayer de mettre à jour votre question avec le code impliqué.

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 *