• Resolved alexis13520

    (@alexis13520)


    Bonjour,

    Depuis la mise à jour de WordPress en version 6.9, l’extension ne fonctionne plus correctement : quand on clique sur « Envoyer à cette adresse » pour choisir un point relais Mondial Relay, rien ne se passe.

    Pouvez-vous vérifier si c’est dû à une incompatibilité avec WP 6.9 et si une correction est prévue ?

    Merci d’avance.

Viewing 11 replies - 1 through 11 (of 11 total)
  • Thread Starter alexis13520

    (@alexis13520)

    L’erreur JavaScript suivante bloque la sélection de point relais :
    Uncaught ReferenceError: sprintf is not defined
    Elle se produit dans openstreetmap_pickup_widget.js.
    Il semble que la librairie sprintf() ne soit plus chargée depuis WordPress 6.9.

    maximeroudier

    (@maximeroudier)

    Bonjour,

    j’ai le même problème qu’@alexis13520 sur le site d’un de mes clients.

    Je cherche un fix temporaire de mon côté,

    D’avance merci pour votre retour,

    Thread Starter alexis13520

    (@alexis13520)

    add_action('wp_head', function() {
    ?>
    <script id="fallback-sprintf">
    (function(global){
    if (typeof global.sprintf === "function") return;
    global.sprintf = function(format) {
    var args = Array.prototype.slice.call(arguments, 1);
    return format.replace(/%([sd])/g, function(match, spec) {
    var val = args.shift();
    if (spec === 'd') return parseInt(val, 10) || 0;
    return (val === undefined || val === null) ? '' : String(val);
    });
    };
    })(window);
    </script>
    <?php
    }, 1); // priorité 1 = tout en haut du head

    Voici un fix temporaire

    maximeroudier

    (@maximeroudier)

    Je viens de voir ton message @alexis13520 , je laisse quand même le code que j’ai mis en place de mon côté, si besoin :

    add_action('wp_enqueue_scripts', 'toupli_fix_wc_multishipping_sprintf', 999);

    function toupli_fix_wc_multishipping_sprintf() {

    // Vérifie si le script openstreetmap du plugin est chargé

    if (wp_script_is('wms_pickup_modal_openstreetmap', 'registered')) {

    // Récupère les infos du script

    global $wp_scripts;

    $script = $wp_scripts->registered['wms_pickup_modal_openstreetmap'];

    // Ajoute wp-i18n comme dépendance si ce n'est pas déjà le cas

    if (!in_array('wp-i18n', $script->deps)) {

    $script->deps[] = 'wp-i18n';

    }

    // Ajoute un script inline pour créer un polyfill sprintf si nécessaire

    wp_add_inline_script('wms_pickup_modal_openstreetmap', '

    if (typeof sprintf === "undefined" && typeof wp !== "undefined" && typeof wp.i18n !== "undefined" && typeof wp.i18n.sprintf !== "undefined") {

    window.sprintf = wp.i18n.sprintf;

    }

    ', 'before');

    }

    // Fait la même chose pour Google Maps si utilisé

    if (wp_script_is('wms_pickup_modal_google_maps', 'registered')) {

    global $wp_scripts;

    $script = $wp_scripts->registered['wms_pickup_modal_google_maps'];

    if (!in_array('wp-i18n', $script->deps)) {

    $script->deps[] = 'wp-i18n';

    }

    wp_add_inline_script('wms_pickup_modal_google_maps', '

    if (typeof sprintf === "undefined" && typeof wp !== "undefined" && typeof wp.i18n !== "undefined" && typeof wp.i18n.sprintf !== "undefined") {

    window.sprintf = wp.i18n.sprintf;

    }

    ', 'before');

    }

    // Fait la même chose pour Mondial Relay si utilisé

    if (wp_script_is('wms_pickup_modal_mondial_relay', 'registered')) {

    global $wp_scripts;

    $script = $wp_scripts->registered['wms_pickup_modal_mondial_relay'];

    if (!in_array('wp-i18n', $script->deps)) {

    $script->deps[] = 'wp-i18n';

    }

    wp_add_inline_script('wms_pickup_modal_mondial_relay', '

    if (typeof sprintf === "undefined" && typeof wp !== "undefined" && typeof wp.i18n !== "undefined" && typeof wp.i18n.sprintf !== "undefined") {

    window.sprintf = wp.i18n.sprintf;

    }

    ', 'before');

    }

    }

    J’ai ajouté ce bout de code à mon functions.php est cela semble corrigé le problème.

    Je reste tout de même à l’écoute d’une correction pérenne,

    Bien à vous,

    johnkaspy

    (@johnkaspy)

    Merci pour les fix, ça me sauve =)

    Bonjour !

    Désolé du retard ! Oui la nouvelle version de WooCommerce a cassé le système de sélection des pickups malheureusement.
    Nous venons de sortir une nouvelle version, pourriez-vous la tester et me confirmer que le souci est corrigé ? 🙂

    Bonjour,

    Je viens de tester la version 3.0.0 de votre extension, le bug d’affichage des OpenStreetMap est en effet corrigé. Je vous remercie pour la rapidité.

    En revanche, serait-il possible d’avoir une liste des éléments modifié via le changelog afin de bien identifier les éléments à vérifier à la suite de cette mise à jour ?

    En vous remerciant par avance,

    Bonjour,

    Ah génial, super nouvelle !

    Oh purée, pardon pour le change log. Il est bon mais j’ai oublié de changer le numéro de version dans mon copier/coller !

    Le voici :

    • Compatibilité avec la nouvelle version de WooCommerce
    • Améliorations du design de la fenêtre de sélection du point de retrait
    • Traduction française complète
    • Optimisation du code
    • Affichage d’une erreur lorsque CURL est désactivé
    • Mode débogage ajouté pour les admins sur le panier


    C’est parfait, c’est tout bon pour moi,

    Merci pour votre retour et votre réactivité.

    Bonjour,
    J’utilise la version 3.0.0 et j’ai toujours le problème… Le bouton “Envoyer à cette adresse” présent dans le tooltip ne fonctionne pas. Celui en bleu dans la liste oui.

    Pouvez-vous m’aider ? Merci

    Bonjour

    Pouveez-nous nous contacter via notre formulaire de contact ? Cela est plus simple pour nous pour suivre les soucis et vous répondre rapidement

    On va regarder ce qu’il se passe ensemble 🙂

Viewing 11 replies - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.