PluginProbe
YayMail – WooCommerce Email Customizer / trunk
YayMail – WooCommerce Email Customizer vtrunk
4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 3.4.2 3.4.3 All 55 releases
yaymail / src / Emails / NewOrder.php

NewOrder.php in YayMail – WooCommerce Email Customizer trunk, at src/Emails/NewOrder.php

88 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace YayMail\Emails;
4
5 use YayMail\Abstracts\BaseEmail;
6 use YayMail\Elements\ElementsLoader;
7 use YayMail\Utils\SingletonTrait;
8
9 /**
10 * NewOrder Class
11 *
12 * @method static NewOrder get_instance()
13 */
14 class NewOrder extends BaseEmail {
15 use SingletonTrait;
16
17 protected function __construct() {
18 $emails = \WC_Emails::instance()->get_emails();
19 $email = $emails['WC_Email_New_Order'];
20 if ( ! $email ) {
21 return;
22 }
23
24 $this->id = $email->id;
25 $this->title = $email->get_title();
26 $this->root_email = $email;
27 $this->recipient = function_exists( 'yaymail_get_email_recipient_zone' ) ? yaymail_get_email_recipient_zone( $email ) : '';
28
29 $this->render_priority = apply_filters( 'yaymail_email_render_priority', $this->render_priority, $this->id );
30 add_filter( 'wc_get_template', [ $this, 'get_template_file' ], $this->render_priority ?? 10, 3 );
31 $this->maybe_disable_block_email_editor();
32 }
33
34 public function get_default_elements() {
35 $email_title = __( 'New order', 'woocommerce' );
36 // translators: customer name.
37 $email_text = sprintf( esc_html__( 'You’ve received the following order from %s:', 'woocommerce' ), '[yaymail_billing_first_name] [yaymail_billing_last_name]' );
38 $additional_text = __( 'Congratulations on the sale.', 'woocommerce' );
39
40 $default_elements = ElementsLoader::load_elements(
41 [
42 [
43 'type' => 'Logo',
44 ],
45 [
46 'type' => 'Heading',
47 'attributes' => [
48 'rich_text' => $email_title . ': #[yaymail_order_number is_plain="true"]',
49 ],
50 ],
51 [
52 'type' => 'Text',
53 'attributes' => [
54 'rich_text' => '<p><span>' . $email_text . '</span></p>',
55 ],
56 ],
57 [
58 'type' => 'OrderDetails',
59 ],
60 [
61 'type' => 'BillingShippingAddress',
62 ],
63 [
64 'type' => 'Text',
65 'attributes' => [
66 'rich_text' => '<p><span>' . $additional_text . '</span></p>',
67 'padding' => [
68 'top' => '0',
69 'right' => '50',
70 'bottom' => '38',
71 'left' => '50',
72 ],
73 ],
74 ],
75 [
76 'type' => 'Footer',
77 ],
78 ]
79 );
80
81 return $default_elements;
82 }
83
84 public function get_template_path() {
85 return yaymail_get_template( 'emails/admin-new-order.php', '', YAYMAIL_PLUGIN_PATH . 'templates/' );
86 }
87 }
88