Automattic\WooCommerce\Internal\EmailEditor
BlockEmailRenderer::render_block_email
Maybe render block-based email content.
Method of the class: BlockEmailRenderer{}
No Hooks.
Returns
String. Modified email content
Usage
// private - for code of main (parent) class only $result = $this->render_block_email( $email_post, $woo_content, $wc_email ): ?string;
- $email_post(WP_Post) (required)
- Email post.
- $woo_content(string) (required)
- WooCommerce email content.
- $wc_email(WC_Email) (required)
- WooCommerce email.
BlockEmailRenderer::render_block_email() BlockEmailRenderer::render block email code WC 10.3.6
private function render_block_email( \WP_Post $email_post, string $woo_content, \WC_Email $wc_email ): ?string {
try {
$subject = $wc_email->get_subject(); // We will get subject from $email_post after we add it to the editor.
$preheader = $wc_email->get_preheader();
$rendered_email_data = $this->renderer->render( $email_post, $subject, $preheader, 'en' );
$personalized_email = $this->personalizer->personalize_content( $rendered_email_data['html'] );
$rendered_email = str_replace( self::WOO_EMAIL_CONTENT_PLACEHOLDER, $woo_content, $personalized_email );
add_filter( 'woocommerce_email_styles', array( $this->woo_content_processor, 'prepare_css' ), 10, 2 );
return $rendered_email;
} catch ( \Exception $e ) {
wc_caught_exception( $e, __METHOD__, array( $email_post, $woo_content, $wc_email ) );
return null;
}
}