Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails
WCTransactionalEmailPostsGenerator::init_default_transactional_emails
Initialize the default WooCommerce Transactional Emails.
This function initializes the default templates for the core transactional emails. It fetches all the emails from WooCommerce and filters them to include only the core transactional emails.
Method of the class: WCTransactionalEmailPostsGenerator{}
No Hooks.
Returns
null. Nothing (null).
Usage
$WCTransactionalEmailPostsGenerator = new WCTransactionalEmailPostsGenerator(); $WCTransactionalEmailPostsGenerator->init_default_transactional_emails();
WCTransactionalEmailPostsGenerator::init_default_transactional_emails() WCTransactionalEmailPostsGenerator::init default transactional emails code WC 10.3.6
public function init_default_transactional_emails() {
if ( ! empty( $this->default_templates ) ) {
// If the default templates are already initialized, we don't need to run this function again.
return;
}
$core_transactional_emails = WCTransactionalEmails::get_transactional_emails();
$wc_emails = \WC_Emails::instance();
/**
* WooCommerce Transactional Emails instance.
*
* @var \WC_Email[]
*/
$email_types = $wc_emails->get_emails();
// Filter the emails to include only the core transactional emails.
$email_types = array_filter(
$email_types,
function ( $email ) use ( $core_transactional_emails ) {
return in_array( $email->id, $core_transactional_emails, true );
}
);
$this->default_templates = array_reduce(
$email_types,
function ( $acc, $email ) {
$acc[ $email->id ] = $email;
return $acc;
},
array()
);
}