Elementor : blocs de mise en page dans les onglets ou accordéons (Créer un compte)

  • WordPress :5.4
  • Statut : non résolu
15 sujets de 16 à 30 (sur un total de 38)
  • Auteur
    Messages
  • #2351103
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    je rectifie le script

    function script_accordeon() {
    		
    ?>
    
        <script> 
    		jQuery(document).ready(function($) { 
    		var delay = 100; setTimeout(function() { 
    		$('.elementor-tab-title').removeClass('elementor-active');
    		 $('.elementor-tab-content').css('display', 'none'); }, delay); 
    		}); 
    	</script>
    		
    	
    <?php 
    	
    }
    if (!is_page('nos-services')){	
    add_action('wp_footer', 'script_accordeon');
    }

    #2351104
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    Je rectifie le script:

    function script_accordeon() {
    		
    ?>
    
        <script> 
    		jQuery(document).ready(function($) { 
    		var delay = 100; setTimeout(function() { 
    		$('.elementor-tab-title').removeClass('elementor-active');
    		 $('.elementor-tab-content').css('display', 'none'); }, delay); 
    		}); 
    	</script>
    		
    	
    <?php 
    	
    }
    if (!is_page('nos-services')){	
    add_action('wp_footer', 'script_accordeon');
    }

    #2351143
    soke
    Participant
    Chevalier WordPress
    172 contributions

    le truc c’est qu’on m’a dit de ne jamais modifier les fichiers de l’éditeur car lors des mise à jour ça écrase tout..

    alors?

    #2351180
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    Bonjour,

    Je m’aperçois que ce script ne marche pas.

    il faudrait enlever la classe active du troisième élément de l’accordéon en fonction de son identifiant.

    Je ne vois pas comment faire en Java Script.

    Si quelqu’un a une solution elle est la bienvenue.

     

    #2351224
    ferman
    Participant
    Maître WordPress
    2838 contributions

    Bonjour,

    Je ne connais pas JQuery ni Elementor mais pour le code, il s’agit en fait d’une fonction php utilisée pour envoyer le code JQuery sur la ou les pages souhaitée(s). Je pense donc que la fonction, tout en gardant le même code, devrait plutôt être quelque chose comme ci-dessous. Dans le code actuel  le (!is_page (‘nos-services’)) envoie le code sur toutes les pages SAUF  ‘nos-services’. Si vous voulez l’envoyer SEULEMENT sur la page ‘nos services’, il faut enlever le “!” . Comme elementor est une extension, je ne suis pas sûr que du code dans function php (d’un thème enfant) soit applicable.

    function script_accordeon() {
    if (!is_page('nos-services'))			
    ?>
        <script> 
    	
    		jQuery(document).ready(function($) { 
    		var delay = 100; setTimeout(function() { 
    		$('.elementor-tab-title').removeClass('elementor-active');
    		 $('.elementor-tab-content').css('display', 'none'); }, delay); 
    		}); 
    		
    	</script>			
    <?php 	
    }
    
    add_action('wp_footer', 'script_accordeon');

    Mais par ailleurs, ce problème d’accordeon ouvert semble concerner beaucoup de monde et avoir reçu des solutions plus simples. Voir ICI, ICI et surtout  LA (video).

    Encore une fois, je ne connais pas Elementor et n’ai pas vérifié mais il semble facile d’après la vidéo d’introduire directement le code JQuery sans s’embêter avec PHP.

    Bon courage.

    • Cette réponse a été modifiée le il y a 1 mois par ferman.
    #2351231
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    Bonjour

    Merci ferman pour votre aide.

    Parmi toutes les solutions proposées,

    Il y a une solution simple qui est sure

    De fonctionner.

    Dés mon retour du boulot en début d’ aprés midi, je vais pouvoir résoudre le probĺéme de soke.

    Dans ma formation WordPress il était mis en avant qu ‘ il y avait une communauté active, cela se vérifie encore àujourd’ hui.

    #2351232
    ferman
    Participant
    Maître WordPress
    2838 contributions

    Bonjour,

    Désolé, je n’avais pas lu le début du sujet et donc pas vu que Rock 4 temps  avait déjà donné le code que je vous ai redonné, et que le but cherché était d’agir sur toutes les pages. Mille excuses. A part ça, Elementor a énormément de “hooks” qui lui sont propres.

    #2351240
    soke
    Participant
    Chevalier WordPress
    172 contributions

    ok j’attends ton retour à ce sujet 🙂

    merci !

    #2351263
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    Bonjour,

    Voici la solution simple qui marche ,testé avec la même configuration widget accordéon dans le troisième onglet.

    Reprenez sous Elementor votre section que vous avez incorporé avec un short code dans le troisième onglet.
    Pour le widget accordéon insérer un élément en troisième position en partant du haut, et vider son contenu
    qui est du faux texte: lorem ipsum.

    A partir du back office de WordPress
    menu Apparence > personnaliser > css additionnel entrez le code ci dessous:

    .elementor-accordion .elementor-accordion-item:nth-child(3) {
        display: none;
    }

    Le troisième élément d’accordéon qui est factice sera toujours ouvert par  l’url :
    https://www.amesud.fr/nos-services#tab3

    mais sera masqué par la règle CSS  Display:none

    Bonne continuation

    #2352336
    soke
    Participant
    Chevalier WordPress
    172 contributions

    bon ç ane s’rrange pas en plus quand je passe d’un onglet à l’autre il y a des bugs si bien que les contenus ne changent aps je change d’onglet ou alors il se cumulent ! c’est un peu étrange

    ça fausse pas mal l’info que je dois diffuser

    https://www.amesud.fr/nos-services#tab1

    je me rends compte que ça n’arrive pas si je pars cette page (https://www.amesud.fr/nos-services mais ce n’est aps une page liée) et que ça arrive si je pars de celle là (https://www.amesud.fr/services)

     

    #2352372
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    Bonjour,

    Vérifier que vous avez bien supprimé le script pour accordéon et que seul le script
    pour onglet subsiste.
    Si tel est le cas, alors je pense hélas qu’il faudra aussi supprimer le script pour onglet.
    Par ailleurs  si vos onglets étaient beaucoup plus bas dans la page nos services ,ce script
    ne permet pas de scroller vers le bas,il ne fait qu’activer un onglet.

     

     

    #2352383
    ferman
    Participant
    Maître WordPress
    2838 contributions

    Bonjour,

    Je ne voudrais pas susciter de faux espoirs parce que j’ai été incapable de voir le problème mais pour moi tout marche normalement ???.

    #2352397
    Rock4Temps
    Participant
    Chevalier WordPress
    105 contributions

    J’ai bien constaté le problème:
    –  En  premier on va sur la page service et par exemple on clique sur Association
    – En deuxième arrivé sur la page nos services, onglet association actif, on sélectionne l’onglet suivant
    dans l’ordre croissant soit service civique.

    Alors le contenu de l’onglet association se trouve ajouter en début de l’onglet service civique.
    Par contre si on sélectionne dans l’ordre décroissant , le problème n’apparaît pas.

    #2352416
    ferman
    Participant
    Maître WordPress
    2838 contributions

    Il faut chercher pour voir le problème mais effectivement il est là. Aucune solution à proposer. On voit que le script pour l’accordéon est toujours présent mais l’enlever ne change rien.  Trop compliqué pour moi.

    #2352473
    soke
    Participant
    Chevalier WordPress
    172 contributions

    en effet, enlever l’accordéon ne change rien… rrrr

    • Cette réponse a été modifiée le il y a 2 semaines et 4 jours par soke.
15 sujets de 16 à 30 (sur un total de 38)
  • Vous devez être connecté pour répondre à ce sujet.