Bonjour,

J’avais fait développer un petit plugin sur mon site sous woocommerce qui permet de remplir des champs spéciaux relatifs à une commande selon le choix du mode de livraison du client.

Le développeur a disparu des radars depuis et son code génère maintenant une erreur fatale lorsque je saisis et valide manuellement une commande en cours sur le back office de Woocommerce. Le plugin fonctionne malgré tout parfaitement, même lorsque l'erreur fatale est générée. Mais j'en ai un peu marre de voir ce bug apparaître tout le temps.

Voici le message de l’erreur :

Fatal error: Uncaught Error: Call to a member function get() on null in /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-content/plugins/tnt/tnt.php:57 Stack trace: #0 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-includes/class-wp-hook.php(286): TNT_CUSTOM_SHIPPING_Plugin->tnt_placed_order(5856) #1 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(”, Array) #2 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-includes/plugin.php(465): WP_Hook->do_action(Array) #3 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-content/plugins/woocommerce/includes/data-stores/class-wc-order-data-store-cpt.php(169): do_action(‘woocommerce_new…’, 5856) #4 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-content/plugins/woocommerce/includes/class-wc-data-store.php(179): WC_Order_Data_Store_CPT->update(Object(WC_Order)) #5 /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-content/plugins in /homepages/2/d[Téléphone visible pour les membres Pro]/htdocs/clickandbuilds/PremierMoment/wp-content/plugins/tnt/tnt.php on line 57

Et voici la fonction concernée par l’erreur (la ligne 57 est la seconde ligne de la fonction):

public function tnt_placed_order($order_id) {

$chosen_shipping_id = WC()->session->get( ‘chosen_shipping_methods’ )[0];

$shipping_packages = WC()->shipping->get_packages();

$shipping_method_name = ”;

foreach ( $shipping_packages as $i => $package ) {

if ( isset( $package[‘rates’] ) && isset( $package[‘rates’][ $chosen_shipping_id ] ) ) {

$rate = $package[‘rates’][ $chosen_shipping_id ];

/* [E-mail visible pour les membres Pro] $rate WC_Shipping_Rate */

$shipping_method_name = $rate->get_label();

}

}

Budget indicatif Moins de 500 €
Publié le 12 juillet 2019 à 10h45
Début du projet Tout de suite

Vous avez aussi besoin d'un expert ?

Déposez une annonce en décrivant votre projet et recevez gratuitement des devis en quelques minutes

Déposer une annonce gratuite

Offres pour ce projet :

Offre déposée le 12/07/2019 à 11h28
Offre déposée le 12/07/2019 à 10h48
Offre déposée le 12/07/2019 à 11h32
Offre déposée le 12/07/2019 à 12h55
Offre déposée le 12/07/2019 à 11h17
Offre déposée le 12/07/2019 à 10h48
Offre déposée le 12/07/2019 à 11h01
Déposez un projet similaire
Publication 100% gratuite
Recevez 10 devis en moyenne
Pas de commission à payer

Vous êtes prestataire et vous cherchez des missions ?

Remplissez rapidement votre carnet de commandes en utilisant Codeur.com pour contacter des nouveaux clients.

Créer un compte gratuitement

Gérer mon projet

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

En utilisant ce site, vous acceptez l'utilisation de cookies. permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts.

Vous utilisez actuellement Internet Explorer. Pour profiter pleinement de Codeur.com, veuillez utiliser un des navigateurs suivant :