WC_Email_Customer_Completed_Order{} │ WC 1.0└─ WC_Email
Customer Completed Order Email.
Order complete emails are sent to the customer when the order is marked complete and usual indicates that the order has been shipped.
Хуков нет.
Использование
$WC_Email_Customer_Completed_Order = new WC_Email_Customer_Completed_Order();
// use class methods
Методы
- public __construct()
- public get_content_html()
- public get_content_plain()
- public get_default_additional_content()
- public get_default_heading()
- public get_default_subject()
- public trigger( $order_id, $order = false )
Заметки
- Пакет: WooCommerce\Classes\Emails
Код WC_Email_Customer_Completed_Order{} WC Email Customer Completed Order{}
WC 9.9.4
class WC_Email_Customer_Completed_Order extends WC_Email {
/**
* Constructor.
*/
public function __construct() {
$this->id = 'customer_completed_order';
$this->customer_email = true;
$this->title = __( 'Completed order', 'woocommerce' );
$this->template_html = 'emails/customer-completed-order.php';
$this->template_plain = 'emails/plain/customer-completed-order.php';
$this->placeholders = array(
'{order_date}' => '',
'{order_number}' => '',
);
// Triggers for this email.
add_action( 'woocommerce_order_status_completed_notification', array( $this, 'trigger' ), 10, 2 );
// Call parent constructor.
parent::__construct();
// Must be after parent's constructor which sets `email_improvements_enabled` property.
$this->description = $this->email_improvements_enabled
? __( 'Let shoppers know once their order is complete and is being shipped.', 'woocommerce' )
: __( 'Order complete emails are sent to customers when their orders are marked completed and usually indicate that their orders have been shipped.', 'woocommerce' );
}
/**
* Trigger the sending of this email.
*
* @param int $order_id The order ID.
* @param WC_Order|false $order Order object.
*/
public function trigger( $order_id, $order = false ) {
$this->setup_locale();
if ( $order_id && ! is_a( $order, 'WC_Order' ) ) {
$order = wc_get_order( $order_id );
}
if ( is_a( $order, 'WC_Order' ) ) {
$this->object = $order;
$this->recipient = $this->object->get_billing_email();
$this->placeholders['{order_date}'] = wc_format_datetime( $this->object->get_date_created() );
$this->placeholders['{order_number}'] = $this->object->get_order_number();
}
if ( $this->is_enabled() && $this->get_recipient() ) {
$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
}
$this->restore_locale();
}
/**
* Get email subject.
*
* @since 3.1.0
* @return string
*/
public function get_default_subject() {
return $this->email_improvements_enabled
? __( 'Your order from {site_title} is on its way!', 'woocommerce' )
: __( 'Your {site_title} order is now complete', 'woocommerce' );
}
/**
* Get email heading.
*
* @since 3.1.0
* @return string
*/
public function get_default_heading() {
return $this->email_improvements_enabled
? __( 'Good things are heading your way!', 'woocommerce' )
: __( 'Thanks for shopping with us', 'woocommerce' );
}
/**
* Get content html.
*
* @return string
*/
public function get_content_html() {
return wc_get_template_html(
$this->template_html,
array(
'order' => $this->object,
'email_heading' => $this->get_heading(),
'additional_content' => $this->get_additional_content(),
'sent_to_admin' => false,
'plain_text' => false,
'email' => $this,
)
);
}
/**
* Get content plain.
*
* @return string
*/
public function get_content_plain() {
return wc_get_template_html(
$this->template_plain,
array(
'order' => $this->object,
'email_heading' => $this->get_heading(),
'additional_content' => $this->get_additional_content(),
'sent_to_admin' => false,
'plain_text' => true,
'email' => $this,
)
);
}
/**
* Default content to show below main email content.
*
* @since 3.7.0
* @return string
*/
public function get_default_additional_content() {
return $this->email_improvements_enabled
? __( 'Thanks again! If you need any help with your order, please contact us at {store_email}.', 'woocommerce' )
: __( 'Thanks for shopping with us.', 'woocommerce' );
}
}