Automattic\WooCommerce\Internal\EmailEditor\EmailTemplates

TemplateApiController::save_template_datapublicWC 1.0

Update WooCommerce specific data we store with Template.

Method of the class: TemplateApiController{}

No Hooks.

Returns

\WP_Error|null. Returns WP_Error if email validation fails, null otherwise.

Usage

$TemplateApiController = new TemplateApiController();
$TemplateApiController->save_template_data( $data, $template_post ): ?\WP_Error;
$data(array) (required)
- WP_Block_Template data.
$template_post(WP_Block_Template) (required)
- WP_Block_Template object.

TemplateApiController::save_template_data() code WC 10.3.6

public function save_template_data( array $data, \WP_Block_Template $template_post ): ?\WP_Error {
	if ( WooEmailTemplate::TEMPLATE_SLUG === $template_post->slug && isset( $data['sender_settings'] ) ) {
		$new_from_name = $data['sender_settings']['from_name'] ?? null;

		if ( null !== $new_from_name ) {
			update_option( 'woocommerce_email_from_name', $new_from_name );
		}

		$new_from_address = $data['sender_settings']['from_address'] ?? null;
		if ( null === $new_from_address || ! filter_var( $new_from_address, FILTER_VALIDATE_EMAIL ) ) {
			return new \WP_Error( 'invalid_email_address', __( 'Invalid email address provided for sender settings', 'woocommerce' ), array( 'status' => 400 ) );
		}

		update_option( 'woocommerce_email_from_address', $new_from_address );
	}

	return null;
}