Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails

WCTransactionalEmailPostsGenerator::generate_email_templatespublicWC 1.0

Generate email templates.

This function generates the email templates for the given email types.

Method of the class: WCTransactionalEmailPostsGenerator{}

No Hooks.

Returns

null. Nothing (null).

Usage

$WCTransactionalEmailPostsGenerator = new WCTransactionalEmailPostsGenerator();
$WCTransactionalEmailPostsGenerator->generate_email_templates( $templates_to_generate );
$templates_to_generate(array) (required)
The email types to generate.

WCTransactionalEmailPostsGenerator::generate_email_templates() code WC 10.3.6

public function generate_email_templates( $templates_to_generate ) {
	global $wpdb;

	$core_emails = array_filter(
		$this->default_templates,
		function ( $email_id ) use ( $templates_to_generate ) {
			return in_array( $email_id, $templates_to_generate, true );
		},
		ARRAY_FILTER_USE_KEY
	);

	if ( empty( $core_emails ) ) {
		return false;
	}

	// Start transaction.
	$wpdb->query( 'START TRANSACTION' );

	try {
		foreach ( $core_emails as $email_type => $email_data ) {
			$this->generate_single_template( $email_type, $email_data );
		}

		$wpdb->query( 'COMMIT' );
		return true;

	} catch ( \Exception $e ) {
		$wpdb->query( 'ROLLBACK' );
		return new \WP_Error( 'email_generation_failed', $e->getMessage() );
	}
}