WC_Email::save_template()protectedWC 2.4.0

Save the email templates.

Метод класса: WC_Email{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->save_template( $template_code, $template_path );
$template_code(строка) (обязательный)
Template code.
$template_path(строка) (обязательный)
Template path.

Список изменений

С версии 2.4.0 Введена.

Код WC_Email::save_template() WC 8.7.0

protected function save_template( $template_code, $template_path ) {
	if ( current_user_can( 'edit_themes' ) && ! empty( $template_code ) && ! empty( $template_path ) ) {
		$saved = false;
		$file  = $this->get_theme_template_file( $template_path );
		$code  = wp_unslash( $template_code );

		if ( is_writeable( $file ) ) { // phpcs:ignore WordPress.VIP.FileSystemWritesDisallow.file_ops_is_writeable
			$f = fopen( $file, 'w+' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fopen

			if ( false !== $f ) {
				fwrite( $f, $code ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fwrite
				fclose( $f ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fclose
				$saved = true;
			}
		}

		if ( ! $saved ) {
			$redirect = add_query_arg( 'wc_error', rawurlencode( __( 'Could not write to template file.', 'woocommerce' ) ) );
			wp_safe_redirect( $redirect );
			exit;
		}
	}
}