月度归档:3月 2022

给WooCommerce的运费(Shipping Method)增加自定义描述字段

如果一个WooCommerce网站存在多种不同的运费(Shipping Method),则可能有必要让用户在运费选择的模块中了解不同运费的区别。你可以解释运输的时长,或者解释价格的构成等,总之就是提供更多信息帮助用户做出最好的选择。比如在这里,我就对每个运费添加了时长的解释:

一个便捷的办法是通过以下代码实现的:

add_filter('woocommerce_cart_shipping_method_full_label', 'brain1981_custom_shipping_method_label', 10, 2);
function brain1981_custom_shipping_method_label( $label, $method ){
	$txt = "";
	if( $method->id=="flat_rate:1" || $method->id=="free_shipping:4" ){
		$txt = 'In 15 Business days';
	}else if( $method->id=="flat_rate:2" || $method->id=="free_shipping:3" ){
		$txt = '7-10 Business days';
	}
	return $label . '<br /><small>' . $txt . '</small>';
}

需注意的是,WooCommerce的运费ID的格式都是以这样的形式呈现的:
flat_rate:1
free_shipping:2

以上这段代码就是事先辨认出这些运费ID,通过woocommerce_cart_shipping_method_full_label这个钩子在运费的标题后面增加一小段描述。如果你的运费数量不多且比较固定,这段代码就足够用了。

那么如果一个网站有很多种运费,并且经常会修改运费种类,上面这种hard codding的写法就会变得很臃肿且不易维护了。我们就需要给每个运费添加一个自定义的描述字段,实现后台管理描述,方便运维人员自己去修改运费设置。 查看详细 »

阿里云企业邮箱用于网站邮件SMTP的正确设置方法

我有不少客户是在阿里云注册的域名并购买的邮箱,写这篇文章是为了提醒大家,如果你的网站需要用自己的企业邮箱作为发件箱,务必需要正确设置自己的邮箱。

首先,如果你和我一样是用WordPress建站,通过Gravity Forms或CF7这些表单插件发件的,可以看一下我很久以前的这篇文章: WordPress以及表单插件Gravity Forms和Contact Form 7无法发送邮件问题解决。这篇文章告诉你在网站后台如何正确的设置SMTP邮箱服务。但是假如作为发信源头的邮箱本身没有设置好SMTP服务,那么网站后台即使设置正确了,也是没有效果的。

如果你用的是阿里云的企业邮箱,无论是免费版还是付费版本,都需要看一下这里。首先,注册完企业邮箱后,系统会自动生成一个名为“postmaster”的账号:
查看详细 »