Automattic\WooCommerce\Internal\Admin\EmailPreview
EmailPreviewRestController::send_email_preview
Handle the POST /settings/email/send-preview.
Метод класса: EmailPreviewRestController{}
Хуков нет.
Возвращает
Массив|WP_Error. Request response or an error.
Использование
$EmailPreviewRestController = new EmailPreviewRestController(); $EmailPreviewRestController->send_email_preview( $request );
- $request(WP_REST_Request) (обязательный)
- The received request.
Код EmailPreviewRestController::send_email_preview() EmailPreviewRestController::send email preview WC 10.5.0
public function send_email_preview( WP_REST_Request $request ) {
$email_address = $request->get_param( 'email' );
// Start output buffering to prevent partial renders with PHP notices or warnings.
ob_start();
try {
$email_content = $this->email_preview->render();
} catch ( \Throwable $e ) {
ob_end_clean();
return new WP_Error(
'woocommerce_rest_email_preview_not_rendered',
__( 'There was an error rendering an email preview.', 'woocommerce' ),
array( 'status' => 500 )
);
}
ob_end_clean();
$email_subject = $this->email_preview->get_subject();
$email = new \WC_Emails();
$sent = $email->send( $email_address, $email_subject, $email_content );
if ( $sent ) {
return array(
// translators: %s: Email address.
'message' => sprintf( __( 'Test email sent to %s.', 'woocommerce' ), $email_address ),
);
}
return new WP_Error(
'woocommerce_rest_email_preview_not_sent',
__( 'Error sending test email. Please try again.', 'woocommerce' ),
array( 'status' => 500 )
);
}