2017-08-11 4 views
0

Je veux supprimer l'adresse de facturation et l'adresse de livraison de l'admin-new-order.php. J'en ai déjà une copie dans mon thème. J'ai été en mesure de supprimer le courriel et le numéro de téléphone, mais je ne peux tout simplement pas supprimer la facturation et l'expédition.supprimer l'expédition et la facturation de woocommerce email

Pour supprimer l'e-mail et téléphone Je l'ai fait

add_filter('woocommerce_email_customer_details_fields', 'custom_woocommerce_email_customer_details_fields');  
function custom_woocommerce_email_customer_details_fields($totals) { 
     unset( 
      $totals['billing_email'], 
      $totals['billing_phone'] 
      ); 
      return $totals; 
     } 

Je sais que si je complètement enlevé:

do_action('woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email); 

il supprimerait tout, mais je ne peux pas le faire parce que je dois les notes, et les délais de livraison (à partir d'un plugin) qui s'affiche là. Si je supprime le tout, il supprime tout.

J'ai essayé

unset($totals['billing_first_name']); 

Et tant de variations de cela, mais il ne fonctionne pas.

enter image description here

+0

S'il vous plaît poster var_dump() de toutes les variables de l'action. – DrDamnit

+0

Il est trop long pour poster. Il ne permet que 600 caractères ici:/ – Franky

+0

Utilisez https://giat.github.com ou paatebin.com – DrDamnit

Répondre

0

Dans tous les modèles de courrier électronique que vous avez ci-dessous ne crochet d'action. WC_Emails::email_address() ce code de fonction est utilisé pour ajouter des détails de facturation et d'expédition dans les courriers.

/** 
* @hooked WC_Emails::customer_details() Shows customer details 
* @hooked WC_Emails::email_address() Shows email address 
*/ 
do_action('woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email); 

Pour retirer la facturation et les détails de la livraison du courrier ci-dessous dans la fonction mettre votre function.php fichier

function removing_customer_details_in_emails($order, $sent_to_admin, $plain_text, $email){ 
    $wmail = WC()->mailer(); 
    remove_action('woocommerce_email_customer_details', array($wmail, 'email_addresses'), 20, 3); 
} 
add_action('woocommerce_email_customer_details', 'removing_customer_details_in_emails', 5, 4); 
+0

J'ai essayé d'ajouter ceci et cela m'a donné une erreur contradictoire avec quelque chose d'autre. Donc, il n'est pas possible d'enlever l'expédition et la facturation avec le "unset()" comme j'ai enlevé l'email et le téléphone? – Franky

+0

@Franky ce code fonctionne très bien. S'il vous plaît fournir la capture d'écran d'erreur ou plus de détails. –

+0

Ou même si je pouvais simplement ajouter les "notes du client" à la section "meta", cela résoudrait mon problème. – Franky