wpgenie

woocommerce-product-vendor email integration

Dec 21st, 2023
1,057
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.20 KB | None | 0 0
  1. add_filter( 'woocommerce_email_recipient_auction_fail', 'custom_add_vendor_to_email_recipients', 50, 2 );
  2. add_filter( 'woocommerce_email_recipient_auction_finished', 'custom_add_vendor_to_email_recipients', 50, 2 );
  3. add_filter( 'woocommerce_email_recipient_auction_relist', 'custom_add_vendor_to_email_recipients', 50, 2 );
  4. add_filter( 'woocommerce_email_recipient_bid_note', 'custom_add_vendor_to_email_recipients', 50, 2 );
  5. function custom_add_vendor_to_email_recipients( $recipient, $object ) {
  6.  
  7.     if ( ! is_object( $object ) ) {
  8.         return $recipient;
  9.     }
  10.  
  11.     $key         = false;
  12.     $author_info = false;
  13.     $arrayrec    = explode( ',', $recipient );
  14.  
  15.     $post_id     = method_exists( $object, 'get_id' ) ? $object->get_id() : $object->id;
  16.     $vendor_id = WC_Product_Vendors_Utils::get_vendor_id_from_product( $post_id  );
  17.  
  18.     if ( ! empty( $vendor_id ) ) {
  19.         $vendor_data = WC_Product_Vendors_Utils::get_vendor_data_by_id( $vendor_id );
  20.         $vendor_email = $vendor_data['email'];
  21.     }
  22.  
  23.     if ( $vendor_email ) {
  24.         $recipient = str_replace( '[woocommerce-product-vendor]', $vendor_email, $recipient );
  25.  
  26.     } else {
  27.         $recipient = str_replace( '[woocommerce-product-vendor]', '', $recipient );
  28.     }
  29.     return $recipient;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment