Shortcodes conditionnels YayMail
1. Structure de base à mettre dans functions.php
add_filter(‘yaymail_customs_shortcode’, function ($shortcode_list, $yaymail_informations, $args = array()) {
$output = ‘<p>Valeur par défaut (aperçu éditeur)</p>’;
if (isset($args[‘order’]) && $args[‘order’] instanceof WC_Order) {
$order = $args[‘order’];
$pm = $order->get_payment_method();
// Condition selon le mode de paiement
if ($pm === ‘monetico’) {
$output = ‘<p>Paiement via Monetico</p>’;
} elseif ($pm === ‘wf_pay_later’) {
$output = ‘<p>Payer plus tard – instructions</p>’;
} else {
$output = ‘<p>Message générique</p>’;
}
}
// Nom du shortcode utilisé dans YayMail
$shortcode_list[‘[yaymail_custom_shortcode_mon_shortcode]’] = $output;
return $shortcode_list;
}, 10, 3);
2. Règles importantes
Nom du shortcode : doit commencer par [yaymail_custom_shortcode_nom]
Insertion dans YayMail : tu ajoutes un bloc texte avec ce shortcode.
Test : les shortcodes ne s’exécutent pas avec “Envoyer email test” → tester avec une vraie commande (ou aperçu basé sur un ID de commande).
$order->get_payment_method() → renvoie le slug du mode de paiement (ex. monetico, wf_pay_later).
3. Exemple rapide
Pour un shortcode qui affiche une mention spéciale seulement si le paiement = Monetico :
if ($pm === ‘monetico’) {
$output = ‘<p style= »color:green; »>Merci pour votre paiement via Monetico ✅</p>’;
}
4. Astuce
Tu peux créer autant de shortcodes que tu veux :
[yaymail_custom_shortcode_paiement_info]
[yaymail_custom_shortcode_livraison_info]
[yaymail_custom_shortcode_conditions]
Il suffit de dupliquer le bloc et changer le nom + les conditions.