1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
<?php
namespace SIW\WooCommerce\Email;
class New_Order {
public static function init() {
$self = new self();
add_filter( 'woocommerce_email_recipient_new_order', [ $self, 'set_recipient'], 10, 2 );
add_filter( 'woocommerce_email_subject_new_order', [ $self, 'set_subject'], 10, 2 );
add_filter( 'woocommerce_email_heading_new_order', [ $self, 'set_heading'], 10, 2 );
add_filter( 'wc_get_template', [ $self, 'set_template'], 10, 5 );
}
public function set_template( string $located, string $template_name, array $args, string $template_path, string $default_path ) {
if ( 'emails/admin-new-order.php' === $template_name ) {
$located = SIW_TEMPLATES_DIR . '/woocommerce/'. $template_name;
}
return $located;
}
public function set_recipient() {
return siw_get_option( 'workcamp_application_email')['sender'];
}
public function set_subject( string $subject, \WC_Order $order ) {
return sprintf( __( 'Nieuwe aanmelding Groepsproject (%s)', 'siw' ), $order->get_order_number() );
}
public function set_heading( string $heading, \WC_Order $order ) {
if ( $order->has_status( 'processing' ) ) {
$heading = sprintf( __( 'Nieuwe aanmelding (betaald)', 'siw' ), $order->get_order_number() );
}
else {
$heading = sprintf( __( 'Nieuwe aanmelding (nog niet betaald)', 'siw' ), $order->get_order_number() );
}
return $heading;
}
}