WC_Emails::initpublicWC 1.0

Init email classes.

Method of the class: WC_Emails{}

Hooks from the method

Returns

null. Nothing (null).

Usage

$WC_Emails = new WC_Emails();
$WC_Emails->init();

WC_Emails::init() code WC 10.7.0

public function init() {
	// Include email classes.
	include_once __DIR__ . '/emails/class-wc-email.php';

	$emails = array(
		'WC_Email_New_Order'                     => __DIR__ . '/emails/class-wc-email-new-order.php',
		'WC_Email_Cancelled_Order'               => __DIR__ . '/emails/class-wc-email-cancelled-order.php',
		'WC_Email_Customer_Cancelled_Order'      => __DIR__ . '/emails/class-wc-email-customer-cancelled-order.php',
		'WC_Email_Failed_Order'                  => __DIR__ . '/emails/class-wc-email-failed-order.php',
		'WC_Email_Customer_Failed_Order'         => __DIR__ . '/emails/class-wc-email-customer-failed-order.php',
		'WC_Email_Customer_On_Hold_Order'        => __DIR__ . '/emails/class-wc-email-customer-on-hold-order.php',
		'WC_Email_Customer_Processing_Order'     => __DIR__ . '/emails/class-wc-email-customer-processing-order.php',
		'WC_Email_Customer_Completed_Order'      => __DIR__ . '/emails/class-wc-email-customer-completed-order.php',
		'WC_Email_Customer_Refunded_Order'       => __DIR__ . '/emails/class-wc-email-customer-refunded-order.php',
		'WC_Email_Customer_Invoice'              => __DIR__ . '/emails/class-wc-email-customer-invoice.php',
		'WC_Email_Customer_Note'                 => __DIR__ . '/emails/class-wc-email-customer-note.php',
		'WC_Email_Customer_Reset_Password'       => __DIR__ . '/emails/class-wc-email-customer-reset-password.php',
		'WC_Email_Customer_New_Account'          => __DIR__ . '/emails/class-wc-email-customer-new-account.php',
		'WC_Email_Admin_Payment_Gateway_Enabled' => __DIR__ . '/emails/class-wc-email-admin-payment-gateway-enabled.php',
	);
	if ( FeaturesUtil::feature_is_enabled( 'point_of_sale' ) ) {
		$emails['WC_Email_Customer_POS_Completed_Order'] = __DIR__ . '/emails/class-wc-email-customer-pos-completed-order.php';
		$emails['WC_Email_Customer_POS_Refunded_Order']  = __DIR__ . '/emails/class-wc-email-customer-pos-refunded-order.php';
	}
	if ( FeaturesUtil::feature_is_enabled( 'fulfillments' ) ) {
		$emails['WC_Email_Customer_Fulfillment_Created'] = __DIR__ . '/emails/class-wc-email-customer-fulfillment-created.php';
		$emails['WC_Email_Customer_Fulfillment_Updated'] = __DIR__ . '/emails/class-wc-email-customer-fulfillment-updated.php';
		$emails['WC_Email_Customer_Fulfillment_Deleted'] = __DIR__ . '/emails/class-wc-email-customer-fulfillment-deleted.php';
	}

	// Preload the options which will be used when emails are getting initialized in the loop below (reduces the number of SQL-queries).
	wp_prime_option_caches(
		array_map(
			fn( string $class_name ) => sprintf( 'woocommerce_%s_settings', strtolower( str_replace( 'WC_Email_', '', $class_name ) ) ),
			array_keys( $emails )
		)
	);
	foreach ( $emails as $class => $path ) {
		$this->emails[ $class ] = include $path;
	}

	// Enable custom partially refunded order email for the block email editor.
	if ( FeaturesUtil::feature_is_enabled( 'block_email_editor' ) ) {
		$this->emails['WC_Email_Customer_Partially_Refunded_Order'] = include __DIR__ . '/emails/class-wc-email-customer-partially-refunded-order.php';
	}

	/**
	 * Filter the email classes.
	 *
	 * @since 3.0.0
	 * @param array $emails Email classes.
	 */
	$this->emails = apply_filters( 'woocommerce_email_classes', $this->emails );
}