Shortcode sur l'heure de livraison

Forums Forums WPshop Shortcodes Shortcode sur l'heure de livraison

Ce sujet a 6 réponses, 2 participants et a été mis à jour par  benjamin.bertelle, il y a 1 an.

7 sujets de 1 à 7 (sur un total de 7)
Auteur Messages
Auteur Messages
21 février 2016 at 14 h 10 min #19315

benjamin.bertelle
Participant

Bonjour,

Nous avons installé sur http://www.lecamionacroquer.fr le plugin de choix d’une heure de livraison.

Seulement, dans les mails, le shortcode [order_shipping_method] ne donne que l’intitulé du mode, pas le détail.

Existe-t-il un code, ou au besoin peut-on en ajouter un, pour avoir cette information dans le mail ?

Merci.

29 février 2016 at 11 h 02 min #19366

Gael
Admin bbPress

Bonjour,
oui bien sûr, ligne 654 du fichier wpshop/includes/librairies/payments/payment.class.php.

$wps_message->wpshop_prepared_email($email, 'WPSHOP_ORDER_CONFIRMATION_MESSAGE', <strong>array('order_id' => $order_id,'customer_first_name' => $first_name, 'customer_last_name' => $last_name, 'customer_email' => $email, 'order_key' => ( ( !empty($order_meta['order_key']) ) ? $order_meta['order_key'] : ''),'order_date' => current_time('mysql', 0), 'order_payment_method' => $order_payment_method, 'order_content' => '', 'order_addresses' => '', 'order_customer_comments' => '', 'order_billing_address' => '', 'order_shipping_address' => '', 'order_shipping_method' => $shipping_method )</strong> );

Vous pouvez modifier le tableau en gras pour y rajouter des éléments. Un filtre devrais y faire son apparition dans un futur proche pour pouvoir changer facilement ce tableau. Il existe actuellement, un filtre se trouvant directement sur la fonction qui prépare l’email "wps_extra_data_to_send_in_email", pas forcément la bonne place…

Tout vos modes de livraisons sont dans get_option( 'wps_shipping_mode' );.
Dans votre commande get_post_meta( $order_id, '_order_postmeta', true)['order_payment']['shipping_method']; vous donnera le mode livraison de la commande. Si vous utilisez le filtre "wps_extra_data_to_send_in_email" vous trouverez facilement, l’order_id dans les paramètres.

Cordialement, Gaël.

29 février 2016 at 19 h 36 min #19372

benjamin.bertelle
Participant

Bonjour,

J’avoue ne pas tout comprendre… Peut-être me suis-je mal expliqué.

Dans le mail, je souhaite avoir de manière textuelle « Retrait sur place » qui est le mode de livraison immédiatement suivi de « LUNDI 29/02 – 11:50-12:00 ».

get_post_meta( $order_id, '_order_postmeta', true)['order_payment']['shipping_method'] ne me retourne que « Retrait sur place »

Surtout, je ne vois pas dans ce fichier de fonctions ayant un argument wps_extra_data_to_send_in_email

Merci d’avance.

1 mars 2016 at 9 h 55 min #19373

Gael
Admin bbPress

Bonjour,
oui pardon, ces informations sont dans une autre meta de la commande. Du coup vous aurez accès au jour et à l’heure dans get_post_meta( $order_id, '_wps_book_shipping', true );.

Cordialement, Gaël.

1 mars 2016 at 17 h 51 min #19381

benjamin.bertelle
Participant

Bonjour,

J’ai intégré ceci dans le code

// Customisations BBE

$methode_livraison = get_post_meta( $order_id, '_wps_book_shipping', true );

if ( !empty($email_option) && !empty($email_option['send_confirmation_order_message']) && $payment_status == 'completed' ) {
$wps_message->wpshop_prepared_email($email, 'WPSHOP_ORDER_CONFIRMATION_MESSAGE', array('order_id' => $order_id,'customer_first_name' => $first_name, 'customer_last_name' => $last_name, 'customer_email' => $email, 'order_key' => ( ( !empty($order_meta['order_key']) ) ? $order_meta['order_key'] : ''),'order_date' => current_time('mysql', 0), 'order_payment_method' => $order_payment_method, 'order_content' => '', 'order_addresses' => '', 'order_customer_comments' => '', 'order_billing_address' => '', 'order_shipping_address' => '', 'order_shipping_method' => $shipping_method, 'order_shipping_method_detail' => $methode_livraison) );
}

// Fin customisations BBE

Et ceci dans le paramétrage des messages :

Numéro de commande : [order_key]
Date de la commande : [order_date]
Méthode de paiement : [order_payment_method]
Livraison de la commande : [order_shipping_method] [order_shipping_method_detail]

Pourtant, je ne reçois rien de supplémentaire…

Que fais-je mal ?

Merci d’avance.

1 mars 2016 at 18 h 47 min #19385

Gael
Admin bbPress

Bonjour,
avez-vous accès à la base de donnée ? Si oui postez le contenu de _wps_book_shipping. Pour voir ce qu’il s’y trouve.
Sinon entre $methode_livraison et le if vous pouvez var_dump $methode_livraison et stoper le script avec exit();

Pouvez-vous poster le résultat ? Merci

Cordialement, Gaël.

2 mars 2016 at 21 h 38 min #19398

benjamin.bertelle
Participant

Bonjour,

Je n’ai pas accès à la base de données.

Lorsque je fais un var_dump, il ne se passe rien car la variable est vide.

Je pense que le problème, de toute façon, c’est que l’ajout de code à cet endroit est inefficace. J’ai en effet ajouter un tiret dans le mode de livraison « classique » (‘order_shipping_method’ => $shipping_method.’ – ‘) et il n’apparaît pas dans les mails.

Bonne soirée.

7 sujets de 1 à 7 (sur un total de 7)