WooCommerce:如何覆盖「无效下载链接,返回商店」提示信息
替换WooCommerce过期下载链接提示信息
为什么子主题覆盖核心文件无效?
WooCommerce仅支持通过子主题覆盖模板文件(位于woocommerce/templates/目录下),woocommerce/includes/下的核心类文件无法通过子主题的对应路径覆盖,这是官方设计的机制,避免核心功能被意外破坏。
推荐方法:使用过滤器修改提示(无需修改核心文件)
直接将以下代码添加到你的子主题(或主题)的functions.php文件中,这是最安全、易维护的方式,WooCommerce更新后不会失效:
add_filter( 'woocommerce_download_error', 'custom_replace_expired_download_link_message', 10, 2 ); function custom_replace_expired_download_link_message( $error_message, $error_code ) { // 匹配无效/过期下载链接的错误码 if ( 'invalid_download_link' === $error_code ) { // 替换为你自定义的提示内容 $error_message = '下载链接已过期,请返回店铺重新获取'; } return $error_message; }
代码说明:
woocommerce_download_error是WooCommerce提供的过滤器,专门用于修改下载相关的错误提示10是优先级,2表示该函数接收两个参数:原错误消息和错误码- 你可以根据需求修改
$error_message里的自定义文本
不推荐的文件覆盖方法(仅作参考)
如果一定要通过覆盖核心文件实现,需要创建一个自定义插件(而非子主题),在插件中重写WC_Download_Handler类,但这种方法存在风险:
- WooCommerce更新会覆盖你的修改
- 可能引发兼容性问题,影响其他功能
因此强烈建议使用上述过滤器方法。
内容的提问来源于stack exchange,提问作者José Aristud
相关产品推荐
相关产品推荐

