Toutes mes réponses sur les forums

18 sujets de 1 à 18 (sur un total de 18)
  • Auteur
    Messages
  • #46451
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    J’ai bien changé votre code dans mon fichier functions.php et dans mon fichier downloads.php
    Donc, dans le téléchargement j’ai mis l’ID du client, et j’ai ça (extrait) :

    https://pastebin.com/dgaCYhgm

    Problème et que quand je survole l’icône de téléchargement le lien est faux et finis par un “Array”… !???

    PS: C’est galère ici, pour copier/coller un code PHP, ça me vire tout 🙁 donc je fais un lien vers Pastbin

    Cordialement,
    Nico.

    depanagewp
    #46421
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    J’oubliais, par contre, je tiens à avoir un check du membre quand même…

    Cdt,

    Nico.

    depanagewp
    #46419
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour Mathieu,

    Ahhh… donc, je pense qu’il y a un soucis dans le code… car j’ai créé 2 comptes différents, et le lien fonctionne pour les 2 🙁

    Et donc, comment appelle-t-on la fonction pour récupérer le lien ID ?

    Cdt,

    Nico

    depanagewp
    #46407
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Re,

    Bon, avec un peu de temps, j’ai pu finalement afficher la clé dans l’URL mais …

    L’utilisateur peut refiler le lien exact à un autre membre, il peut malheureusement accéder au téléchargement, chose que je ne voudrais pas… ou j’ai oublié de faire quelque chose ???Revoici mon code :

    <?php elseif ( 'order-actions' === $column_id ) : ?>
        <?php
            $actions = wc_get_account_orders_actions( $order );
            if (  $order->has_status( 'completed' ) ) {
                if ( $file_id = (int) get_post_meta( $order->id, 'custom_file', true ) ) {    
                    /*echo '';*/
                    
                    $content .= do_shortcode( '[download id="' . $file_id . '"]' );
                    echo $content;
                    
                }
            }
            else { 
                echo '';
            }
        ?>
    <?php endif;?>

    Peut-être que c’est mon “do_shortcode” le fautif ? peut-être intégrer le check de l’email du membre associé à la commande ? je ne sais pas….

    Merci,

    Cdt,

    Nico.

    depanagewp
    #46406
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonsoir Mathieu, et grand merci !!!

    Je présume qu’il faut que je copie et colle ton code dans le fichier functions.php de mon thème ?

    En ce qui concerne de récupérer l’ID de téléchargement, j’ai donc créé un Custom Field nommé custom_file avec ACF plugin, dans mes commandes, de façon à juste indiquer dedans l’ID de téléchargement à associer à la commande…
    De façon à ce que le client voit lister dans la page “Téléchargement” tous les boutons avec comme lien, un lien de téléchargement sécurisé vers le fichier ZIP en question dont il a seulement l’autorisation et pas d’autres membres !!!

    J’ai personnalisé la page downloads.php des templates dans mon thème également

    Voici la partie du code que j’ai actuellement, je n’ai pas réussi à mettre l’ID stocké dans ma Custom Field (custom_file) sur la commande de téléchargement, je n’arrive pas à trouver l’API correct pour ça, je suis sûr que je touche le but …

    
    <?php elseif ( 'order-actions' === $column_id ) : ?>
    <?php
    $actions = wc_get_account_orders_actions( $order );
    
    if ( ! empty( $actions ) ) {
    if ( $file_id = (int) get_post_meta( $order->id, 'custom_file', true ) ) {
    echo "download_link($file_id)."" class="button ' . sanitize_html_class( $key ) . '">Télécharger";
    }
    }
    ?><?php endif; ?>

    Encore un grand merci pour ton aide !

    Cdt,

    Nico.

    depanagewp
    #46369
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    bonsoir,

    attention je n’utilise pas un produit téléchargeable mais via un plugin

    je vais tester avec WP Download Manager, d’après ce que je lis…on peut associer un téléchargement à une commande ET à un client… et crypter ce lien…

    Cdt, Nico.

    depanagewp
    #46356
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Le gros bémol, c’est que le lien de téléchargement dispo pour le client X, est valable également pour les clients “Y, Z …” si il connait l’ID… ou le fait au hasard… du moment qu’il est connecté sur son compte ; ce qui n’est absolument pas bon!

    Y a-t-il un moyen de limiter et sécuriser ça ?

    Merci,

    Nico.

    depanagewp
    #46355
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Merci Mathieu, effectivement c’est ce que j’ai pensé…
    J’ai fait simplement fais une copie du fichier template dans mon thème, et je l’ai personnalisé avec un bout de code que j’avais fait en PHP, maintenant je peux afficher un bouton “Télécharger” associé depuis l’extension gratuite “Download Monitor” et un champ perso pour stocker l’id du download pour chaque commande….

    Merci,

    Cordialement,

    Nicolas S.

    depanagewp
    #46346
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    En attendant une réponse ou une solution…

    Si je crée un article dédié téléchargeable pour chacun de mes clients, y a-t-il un moyen (via un snippet, peut-être) de désactiver le lien qui amène au produit, lors qu’on est dans la partie “Téléchargements”, car ce lien est inutile, seul le bouton “Télécharger” l’est.

    En vous remerciant,

    Cordialement,
    Nico.

    depanagewp
    #44605
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonsoir, oui mais ça risque de faire doublon d’avoir des identifiants pour le téléchargement et des identifiants pour la boutique… donc effectivement lourd en théorie… Si seulement il y aurait une astuce pour lier une commande à un téléchargement comme Download Monitor et donc les faire apparaître dans la page ” Téléchargements”

    En vous remerciant infiniment pour votre aide

    Cordialement,

    Nico.

     

     

    depanagewp
    #44587
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Merci Fred, pour votre réponse.

    Mais, comment pourrais-je lister les téléchargements dédiés disponibles au client dans la partie “Téléchargements” de son compte WooCommerce ? telle est la question, car j’aimerais juste lui envoyer un mail que son téléchargement du ZIP est disponible dans son espace…

    Cordialement,

    Nicolas

    depanagewp
    #44573
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonsoir,

    Je reviens, car j’ai testé l’idée de Mathieu, sur le fond c’est bien, mais le problème et c’est ce que je craignais, je dois bien créer un produit virtuel téléchargeable pour chaque client qui me commande une prestation.

    Car le client commande une prestation, puis après commande, je dois fournir un ZIP je dois incorporer dans un nouveau produit comme “virtuel” et “téléchargeable”, puis le lier dans la commande du client et basculer la commande en mode “Terminée”… pas pratique et simple, car du coup, une page produit vide existe qui mène à rien…

    D’où ma question précédente, si il n’existe pas une astuce permettant de faire quasi la même chose mais depuis un centre de téléchargement comme le plugin “Download Monitor” où je centraliserai tous mes fichiers ZIP et les proposeraient dans la rubrique “Téléchargements” du compte client…

    Merci pour votre aide si précieuse !

    Nicolas.

    depanagewp
    #43666
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Grand merci Mathieu!

    Mais existe-t-il pas une alternative à cela, afin d’éviter de “blinder” de produits virtuels téléchargeables privés ? en plus des produits achetables car ça risque d’être l’enfer à la longue…
    Y a-t-il pas la possibilité de lier cela à un autre module comme “Download Monitor” (par exemple), où je pourrais gérer tous les uploads à télécharger pour chaque clients ?

    Merci en tout cas de l’idée…

    Cordialement,

    Nicolas S.

    depanagewp
    #3873
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Merci, mais le problème c’est que ces shortcodes sont à mettre dans une page, mais je souhaite afficher la description SOUS le code promo affiché lorsque l’utilisateur l’a validé (à savoir page Panier et page Ma commande, histoire d’indiqué ce que c’est…

    Et je crois qu’on ne peut le faire uniquement via un hook, dans functions.php ?

    depanagewp
    #3144
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Hélas non, j’ai bien ajouté “Livraison Gratuite” en plus de “Forfait” pour le pays France.
    Mais j’ai pu régler le problème en installant ce plugin WooCommerce Advanced Free Shipping qui me permet de cacher l’autre option…

    Je pense que c’est peut-être un bug de WooCommerce.

    Merci encore!

    depanagewp
    1 utilisateur a remercié l'auteur de ce message.
    #3102
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Merci pour tes infos !

    Il faudrait donc que j’ajoute une nouvelle passerelle de paiement qui me permettrait d’afficher un message spécifique à la place des moyens de paiement par défaut lorsqu’un choisi un pays spécifique…

     

    depanagewp
    #3042
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    Bonjour,

    Merci Guy pour ta réponse, éventuellement je serai intéressé par “Il faudrait alors créer un mode de paiement supplémentaire pour la Belgique qui se comporterait comme tu le veux.”

    Je ne serai pas contre un petit coup de main, pour savoir du coup, comment désactiver tous les paiements pour la Belgique et afficher un bouton “Commander chez le revendeur” avec une URL personnalisée

    Encore, merci !

    Nico

    depanagewp
    #2924
    mikosworld
    Participant
    Points: 66 pts
    Membre 2 étoiles

    J’avais trouvé un extrait de code, qui permet de désactiver le paiement par Paypal si on choisissait la Belgique. Si ça peut aider quelqu’un …

    function payment_gateway_disable_country( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['authorize'] ) && $woocommerce->customer->get_country() <> 'US' ) {
    unset( $available_gateways['authorize'] );
    } else if ( isset( $available_gateways['paypal'] ) && $woocommerce->customer->get_country() == 'US' ) {
    unset( $available_gateways['paypal'] );
    }
    return $available_gateways;
    }
    add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_country' );
    depanagewp
18 sujets de 1 à 18 (sur un total de 18)