Problème de slider sur woocommerce

  • WordPress :5.2
  • Statut : non résolu
14 sujets de 1 à 14 (sur un total de 14)
  • Auteur
    Messages
  • #2260449
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.0
    • Thème utilisé : Cheer up
    • Extensions en place : Smart slider 3
    • Nom de l’hébergeur :  OVH
    • Adresse du site : https://www.serelaxer.fr

    Problème(s) rencontré(s) :

    Le slider de smart slider ne s’affiche pas sur la page boutique de woocommerce. Il marche sur les pages normales, mais dès que c’est une page woocommerce il n’y a rien qui s’affiche.

    Exemple: https://www.serelaxer.fr/shop

    J’ai désactivé toutes les extensions et essayé avec un autre plugin rien n’y fait.

    Le seul truc qui marche c’est si j’ajoute directement le slider dans fonction.php, mais du coup  il s’affiche tout en haut de la boutique au-dessus du header.

    Merci par avance pour votre aide parce que j’ai bien passé 4h.

     

    #2260457
    ferman
    Participant
    Maître WordPress
    742 contributions

    Bonjour,

    Je ne vois aucun slider sur votre site (sur aucune page). Je suppose que votre slider se place avec un shortcode. Je ne sais pas où vous voulez l’ajouter dans la page boutique  mais vous pouvez essayer avec un des nombreux hooks de woocommerce . J’ai un autre slider mais ça ne doit pas faire de différence et chez moi ça marche très bien. Essayez de coller le code ci-dessous dans votre functions.php (si possible thème enfant) en remplaçant le shortcode de mon slider par le vôtre et je pense que ça a de bonnes chances de marcher.  Si ça marche, on peut ensuite optimizer.

    <?php
    
    	function inserer_shortcode( )  
     {
        echo do_shortcode('[masterslider id="4"]');
     }
    	add_action( 'woocommerce_before_shop_loop', 'inserer_shortcode', 10 );?>

    • Cette réponse a été modifiée le il y a 2 mois et 1 week par  ferman.
    #2260653
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Bonjour et merci pour cette réponse rapide,

    Effectivement le slider était désactivé (je viens de voir que j’ai un bug sur la réactivation des plugins en masse sur wp)

    J’ai testé votre cote et voici l’erreur que j’ai sur mon thème principale:

    Vos modifications de code PHP ont été annulées en raison d’une erreur sur la ligne 0 du fichier Unknown. Veuillez la corriger et essayer à nouveau d’enregistrer.

    Exception thrown without a stack frame
    
    Et en appliquant le codde sur le thème enfant pas d'erreur le code passe mais le slider ne s'affiche pas.
    
    Ps: Lors de mes nombreuses recherches j'ai testé un code similaire sur le fonction.php que j'avais trouvé et ça à marché.
    mais du coup le slider était totalement en haut au dessus du header.
    
    Merci d'avance.
    
    
    #2260783
    ferman
    Participant
    Maître WordPress
    742 contributions

    Bonjour,

    La ligne mauvaise c’est la balise ouvrante <?php car vous en avez déjà une dans votre fichier functions. Il faut donc l’enlever.   Cela marche dans votre thème enfant peut être car c’est la première fonction dans la liste ou bien vous avez une balise fermante (?>) avant.  Question peut-être idiote: vous avez bien utilisé le shortcode de votre slider,  pas du mien “Masterslider”? Je vous demande ça car il est surprenant que ça ne marche pas chez vous. C’est un code très simple qui fonctionne très bien chez moi. Je vous le redonne sans les balises. Vous pouvez aussi essayer de changer la valeur “10” par une plus grande “90”.

    function inserer_shortcode( )  
     {
        echo do_shortcode('[masterslider id="4"]');
     }
    	add_action( 'woocommerce_before_shop_loop', 'inserer_shortcode', 10 );

    L’avantage du hook que je vous ai indiqué est qu’il permet de mettre le shortcode à un endroit bien précis sur une page précise. Si vous voulez mettre le slider ailleurs (plus haut, plus bas, une autre page il y a d’autres hooks disponibles) Ce serait dommage de ne pas en profiter.

     

    Ps: Lors de mes nombreuses recherches j'ai testé un code similaire sur le fonction.php que j'avais trouvé et ça à marché.
    mais du coup le slider était totalement en haut au dessus du header.
    
    

    Le slider n’était que dans le header de la page boutique ou dans toutes les pages? Comment l’aviez-vous mis?

    • Cette réponse a été modifiée le il y a 2 mois et 1 week par  ferman.
    #2261320
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Hello,

    J’ai pris le temps de revenir vers toi je voulais trouver ce qui déconnait.

    En faite c’est la modification que j’ai faite dans le css:

    .post-type-archive-product .archive-head
    {
    display:none;}

    Car sinon sur woocommerce j’ai un onglet archive bien moche qui s’affiche en dessous du menu du coup (voir pièce jointe)

    Donc, comment faire pour que le slide apparaisse autre part que dans la fenêtre archive voilà la question.

     

     

    • Cette réponse a été modifiée le il y a 2 mois et 1 week par  kwanik.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2261327
    ferman
    Participant
    Maître WordPress
    742 contributions

    Bonjour,

    D’abord est-ce que le code que je vous ai donné fait apparaître le slider ? (peu importe où pour le moment). Sinon ce n’est pas la peine de continuer.

    Si ça marche, où voulez-vous qu’il soit précisément sur la copie d’écran ci-dessous ?

    • Cette réponse a été modifiée le il y a 2 mois et 1 week par  ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2261362
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Oui, si j’enlève le css il apparaît comme dans la d’écran de mon précédent message

    #2261378
    ferman
    Participant
    Maître WordPress
    742 contributions

    Je crois  avoir compris (j’espère) .Essayez le code ci-dessous qui devrait placer le slider au dessus du titre et dites-moi si ça convient.

    function inserer_shortcode( )  
     {
        echo do_shortcode('[votre shortcode]');
     }
    	add_action( 'woocommerce_before_main_content', 'inserer_shortcode', 25 );

     

    • Cette réponse a été modifiée le il y a 2 mois par  ferman.
    #2261945
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Hello,

     

    Le code ne marche pas.

    Je suis allez voir des potes dev dans mon coworking on a regardé ensemble, il semblerait que le slider soit inclus dans la class archive head et non dans la class main-wrap.

    Je pourrais donc tout passer dans le class archive head (le slider, les produits…), mais ça rend très moche.

    J’avoue qu’on a tous un peu séchés là dessus je pense à un soucis au niveau du théme.

    Je vais contacter les auteurs et voir…

    #2261987
    ferman
    Participant
    Maître WordPress
    742 contributions

    Bonjour,

    Je ne comprends pas très bien. Vous avez un slider (master slider) que l’on place avec un short code. Correct? On peut ensuite le placer où on veut avec ou sans hook,  s’il n’y a pas de hook qui convient. Il n’est pas question de class archive head ou class main wrap. C’est beaucoup plus simple que ça.  Donc, si  aucun hook ne convient vous éditez votre header.php et y collez la ligne suivante (sans hook cette fois). Vous déplacez cette ligne dans le header et observez l’effet. Quand vous êtes satisfait de l’emplacement  vous sortez du header et vous faites les réglages finaux avec des css (les css viennent en dernier, pas avant d’avoir mis en place les éléments de la page, dont le slider). Vous pouvez régler la taille du slider, sa position (chez moi il est automatiquement centré) etc..

    Je viens encore d’essayer et sur ma page boutique je mets mon slider où je veux. Au dessus du menu, sous le menu, dans le menu (moche) etc..

    Attention; si vous utilisez la méthode sans hook, il faut aussi mettre votre header dans votre thème enfant autrement les modifs seront effacées à la première mise à jour.

     echo do_shortcode ('[votreshortcode ]');

     

    • Cette réponse a été modifiée le il y a 2 mois par  ferman.
    • Cette réponse a été modifiée le il y a 2 mois par  ferman.
    #2262017
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Ok peut être que cela peu marcher par contre comment faire pour que le slider soit uniquement sur le header de woocommerce et non tout le site?

    Via le css?

    #2262032
    kwanik
    Participant
    Initié WordPress
    8 contributions

    En faite j’ai trouvé une solution, je n’indique pas à woocommerce que la page de la boutique est la page “shop” dans les options et pour le coup le short code marche.

     

    Faut juste que je vérifie si ça pose un soucis particulier de faire comme ça

    • Cette réponse a été modifiée le il y a 2 mois par  kwanik.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2262038
    ferman
    Participant
    Maître WordPress
    742 contributions

    Si vous le voulez seulement sur la boutique. Il faut mettre une restriction et faire pareil: déplacer dans le header. Plutôt que modifier la page shop comme vous le faites, je crois qu’il vaut mieux utiliser la méthode que je vous donne.

    if ( is_shop()) 			
    	echo do_shortcode('[votreshortcode]');

    • Cette réponse a été modifiée le il y a 2 mois par  ferman.
    • Cette réponse a été modifiée le il y a 2 mois par  ferman.
    #2262487
    kwanik
    Participant
    Initié WordPress
    8 contributions

    Merci pour votre temps, pour le moment ça marche.

14 sujets de 1 à 14 (sur un total de 14)
  • Vous devez être connecté pour répondre à ce sujet.