Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails
WCTransactionalEmailPostsGenerator::generate_email_templates
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() 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() );
}
}