[Résolu] Mise à jour de mon panier (Créer un compte)

  • WordPress :6.2
  • Statut : résolu
15 sujets de 1 à 15 (sur un total de 17)
  • Auteur
    Messages
  • #2455352
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.4
      • Thème utilisé : Astra
    • Extensions en place : Elementor Pro
    • Nom de l’hébergeur : OVH
    • Adresse du site :

    Problème(s) rencontré(s) : Bonjour,
    lorsqu’un client souhaite modifier le contenu de son panier sans devoir repasser par la page boutique,  il doit utiliser le bouton « update cart » afin de mettre son panier à jour. Je trouve cela ennuyeux et je voudrais automatiser cette mise à jour sans devoir passer par un plugin en modifiant le code dans le fichier « functions.php » de mon thème enfant.
    J’ai bien trouvé du code sur le Net mais cela coince et en plus comme je ne suis pas expert…
    Quelqu’un pourrait-il m’aider sur ce point.
    Les remarques sont aussi bienvenues 🙂
    Merci

     

    #2455361
    Li-An
    Participant
    Maître WordPress
    28497 contributions

    Bonjour, vous voulez mettre à jour en cas de changement de quantité ?

    #2455365
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    Oui c’est bien cela.
    J’ai bien trouvé un code (ici:  https://codexcoach.com/automatically-update-cart-when-quantity-changed-in-woocommerce/ )qui aurait pû m’aider mais la mise à jour ne se réalise qu’au premier changement de quantité, mais si je veux modifier un second produits là, plus de mise à jour (:-

     

    #2455366
    Li-An
    Participant
    Maître WordPress
    28497 contributions

    Il y a des extensions qui font ça type https://fr.wordpress.org/plugins/woocommerce-ajax-cart/

    #2455382
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    Bonjour,
    merci pour l’info mais je dépite un peu car le code trouvé sur internet fonctionne parfaitement sauf…que si on souhaite faire une seconde modification dans la foulée, là plus de mise à jour des prix.
    Dommage mais ma méconnaissance du codage me joue certainement des tours car ce code est répercuté partout. Je vais encore cherché un peu.

    De plus c’est assez rigolo car j’ai installé le plugin mais l’option free n’offrant rien il faut immédiatement passer vers la version premium. Je peux comprendre que tout travail mérite salaire mais acheter sans voir c’est un peu dommage.

    #2455385
    Li-An
    Participant
    Maître WordPress
    28497 contributions
    #2455386
    ferman
    Participant
    Maître WordPress
    6999 contributions

    Bonjour,

    Le deuxième code sur cette page n’est pas limité à une seule modification. Il faudra ensuite simplement cacher le bouton d’ajout au panier.

    • Cette réponse a été modifiée le il y a 1 année par ferman.
    #2455465
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    @Li-An,
    contrairement à ce que j’ai raconté dans ma réponse à votre post initial le plugin proposé dans sa version free fonctionne parfaitement.
    Merci à vous.
    @<ferman,
    Comme cela reste ma préférence, j’ai testé votre proposition dans mon thème enfant ma pas de chance, cela ne fonctionne pas…
    Une erreur de ma part ?? Je n’ai pourtant réalisé qu’un copier/coller.
    Voici la version du fichier funvtion.php
    <div><?php</div>
    <div>// Exit if accessed directly</div>
    <div>if ( !defined( ‘ABSPATH’ ) ) exit;</div>
    <div></div>
    <div>// BEGIN ENQUEUE PARENT ACTION</div>
    <div>// AUTO GENERATED – Do not modify or remove comment markers above or below:</div>
    <div></div>
    <div>if ( !function_exists( ‘chld_thm_cfg_locale_css’ ) ):</div>
    <div>    function chld_thm_cfg_locale_css( $uri ){</div>
    <div>        if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . ‘/rtl.css’ ) )</div>
    <div>            $uri = get_template_directory_uri() . ‘/rtl.css’;</div>
    <div>        return $uri;</div>
    <div>    }</div>
    <div>endif;</div>
    <div>add_filter( ‘locale_stylesheet_uri’, ‘chld_thm_cfg_locale_css’ );</div>
    <div></div>
    <div>if ( !function_exists( ‘child_theme_configurator_css’ ) ):</div>
    <div>    function child_theme_configurator_css() {</div>
    <div>        wp_enqueue_style( ‘chld_thm_cfg_child’, trailingslashit( get_stylesheet_directory_uri() ) . ‘style.css’, array( ‘astra-theme-css’,’woocommerce-layout’,’woocommerce-smallscreen’,’woocommerce-general’ ) );</div>
    <div>    }</div>
    <div>endif;</div>
    <div>add_action( ‘wp_enqueue_scripts’, ‘child_theme_configurator_css’, 10 );</div>
    <div></div>
    <div>// END ENQUEUE PARENT ACTION</div>
    <div></div>
    <div>function update_cart_refresh_update_qty() {</div>
    <div>    if (is_cart()) :</div>
    <div>    ?></div>
    <div>    <script type= »text/javascript »></div>
    <div>    jQuery( function($){</div>
    <div>        $(‘.qty’).on(‘change’, function(){</div>
    <div>            setTimeout(function() {//This is set, so it gives the update cart button time to enable from disable mode</div>
    <div>                $(‘input[name= »update_cart »]’).trigger(‘click’);</div>
    <div>            }, 2000);</div>
    <div></div>
    <div>        });</div>
    <div>    });</div>
    <div>    </script></div>
    <div>    <?php</div>
    <div>    endif;</div>
    <div>}</div>
    <div>add_action( ‘wp_footer’, ‘update_cart_refresh_update_qty’);</div>
    <div>}</div>

    #2455466
    ferman
    Participant
    Maître WordPress
    6999 contributions

    Bonjour,

    J’avais précisé le deuxième code. Il marche très bien sur mon site d’essai. Ce que vous montrez est le premier code sur la page. Je ne l’ai pas essayé.

    D’un autre côté si vous avez une extension qui donne satisfaction…

    #2455673
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    Bonjour,
    je reviens vers vous afin de donner du retour suite à votre aide.

    @Li-An
    : ce plugin fontcionne bien https://wordpress.org/plugins/woo-ajax-add-to-cart/ , la seule particularité tient au fait qu’il ajoute encore les signes « + » et « – » à ceux existants déjà. Pas trop grave car avec le peu de CSS que je connais j’ai pu aranger cela.


    @Ferman
    ,
    en effet, je m’étais trompé de code. Celui proposé fonctionne très bien sauf que chez moi il faut cliquer deux fois avant que la mise à jour se réalise.
    Avez-vous ce même problème avec votre site de test ? Dommage car le code reste ma préférence.

    #2455676
    Li-An
    Participant
    Maître WordPress
    28497 contributions

    Si le code est quelque fois préférable à une extension trop lourde, dans votre cas, je privilégierai l’extension. Comme WooC évolue tout le temps, l’extension a l’avantage de s’adapter à ces changements.

    #2458085
    sandrag
    Participant
    Initié WordPress
    2 contributions

    Bonjour,

    J’ai exactement le même problème que vous, mais mes compétences en CSS ne m’ont pas permis d’enlever les signes + et – qu’il y a en doublon.

    Est ce qu’il serait possible de me fournir le code que vous avez mis ?

    Merci beaucoup 🙂

    #2458127
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    désolé pour le retard mis à répondre mais au final, je me suis résolu à passer par le plugin conseillé par Li An.
    Cela fonctionne parfaitement

    Maintenant ce qui aide beaucoup c’est l’outil inspecter du navigateur, avec celui-là vous pouvez repérer l’élément qui vous intéresse et le manipuler à votre guise.
    Perso, cela m’aide pas mal

     

    #2458129
    ferman
    Participant
    Maître WordPress
    6999 contributions

    Et moi je réponds aussi avec « un peu » de retard à la question:

    ...il faut cliquer deux fois avant que la mise à jour se réalise.
    Avez-vous ce même problème avec votre site de test ?…

    Non, chez moi une fois suffit.

    #2458130
    gouyasse
    Participant
    Chevalier WordPress
    109 contributions

    Merci pour votre aide, tout est maintenant Ok chez moi.

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