diff --git a/packages/php/email-editor/src/Engine/Templates/single-email-post-template.php b/packages/php/email-editor/src/Engine/Templates/single-email-post-template.php new file mode 100644 index 0000000000..b6b6c8f15c --- /dev/null +++ b/packages/php/email-editor/src/Engine/Templates/single-email-post-template.php @@ -0,0 +1,13 @@ +post_title; - $language = get_bloginfo( 'language' ); - - $renderer = ContainerWrapper::getInstance()->get( Renderer::class ); // TODO: Update implementation. - - $rendered_data = $renderer->render( - $post, - $subject, - __( 'Preview', 'mailpoet' ), - $language - ); - - return $rendered_data['html']; -} - - -$template_html = mee_get_rendered_html(); - -// We control those templates. -// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -echo $template_html; diff --git a/packages/php/email-editor/src/Engine/class-email-editor.php b/packages/php/email-editor/src/Engine/class-email-editor.php index d787d75d84..f5f60be820 100644 --- a/packages/php/email-editor/src/Engine/class-email-editor.php +++ b/packages/php/email-editor/src/Engine/class-email-editor.php @@ -1,6 +1,6 @@ get_post_types(), 'name' ); - if ( in_array( $current_post_type, $email_post_types, true ) && locate_template( array( "single-$current_post_type.php" ) ) !== $template ) { - /* - * This is an email post - * AND a 'single $post_type template' is not found on - * theme or child theme directories, so load it - * from our plugin directory. - */ - return __DIR__ . '/Templates/single-post-template.php'; + if ( ! in_array( $current_post_type, $email_post_types, true ) ) { + return $template; } - return $template; + add_filter( + 'mailpoet_email_editor_preview_post_template_html', + function ( $post ) { + // Generate HTML content for email editor post. + return $this->send_preview_email->render_html( $post ); + } + ); + + return __DIR__ . '/Templates/single-email-post-template.php'; } }