web-dev-qa-db-fra.com

woocommerce ne parvient pas à remplacer la chaîne de modèle dans le titre de l'email

J'utilise Woocommerce et essaie de personnaliser les emails. Dans le titre de l'e-mail, j'ai essayé d'utiliser {customer_first_name} et {customer_name} sans succès. Ils ne sont pas remplacés. Est-ce un bug ou les chaînes que j'utilise sont-elles incorrectes?

1
Ro L

Les variables de modèle d'e-mail ne peuvent être utilisées que dans le corps des emails. Si vous souhaitez modifier les titres/objets de courrier électronique, vous devez utiliser le filtre correspondant et ajouter du code personnalisé à un fichier functions.php de thèmes enfants ou via un plugin personnalisé.

La documentation WooCommerce contient un extrait pour cela: https://docs.woocommerce.com/document/change-email-subject-lines/

Comme exemple pour l'ordre de traitement, vous utiliseriez:

add_filter( 'woocommerce_email_subject_customer_processing_order', 'change_processing_email_subject', 1, 2 );

function change_processing_email_subject( $subject, $order ) {
    global $woocommerce;

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

    $subject = sprintf( 'Hi %s, thanks for your order on %s', $order->billing_first_name, $blogname );

    return $subject;
}

Cela changerait le sujet en:

'Bonjour {prénom du client}, merci pour votre commande sur {nom du site}'

1
Mat