如何复制WordPress/WooCommerce插件实现双开以支持商品多EAN码需求
WooCommerce单商品绑定双EAN码解决方案
方案1:最优实现(无需复制插件,兼容性更高)
目前绝大多数WooCommerce EAN管理插件都是基于自定义字段实现条码存储,优先推荐用新增自定义字段的方式满足需求,不会出现插件冲突、维护难的问题:
- 先检查当前在用的EAN插件设置,确认是否支持新增多组条码字段,支持的话直接新增两组字段分别命名为欧盟产地EAN码、美国产地EAN码,直接绑定对应商品即可
- 如果插件不支持多字段配置,直接用WooCommerce原生自定义字段功能实现:
- 进入任意商品编辑页,右上角选项里开启自定义字段显示开关
- 新增自定义字段,键名设为
ean_us,值填入对应美国版本EAN码,原有EAN字段保留为欧盟版本使用 - 需要在前端商品页、订单页展示第二组EAN的话,在主题
functions.php中添加对应钩子调用即可,示例代码:
// 商品详情页尾部显示美国版EAN add_action( 'woocommerce_product_meta_end', 'display_us_ean_code' ); function display_us_ean_code() { global $post; $us_ean = get_post_meta( $post->ID, 'ean_us', true ); if ( !empty($us_ean) ) { echo '<span class="us-ean-tag">美国产地EAN:' . esc_html( $us_ean ) . '</span>'; } }
方案2:复制插件实现双插件同时运行操作步骤
如果确实需要两套独立的EAN插件分别管理两个条码规则,可按以下步骤操作:
- 登录网站服务器,进入
wp-content/plugins/目录,找到要复制的EAN插件文件夹,例如原文件夹名为woocommerce-ean-manager,复制后重命名为woocommerce-ean-manager-us - 进入新的插件文件夹,找到插件主PHP文件(一般和原文件夹同名,例如
woocommerce-ean-manager.php),重命名为woocommerce-ean-manager-us.php - 打开新的主PHP文件,做以下修改避免冲突:
- 修改文件头部的插件注释信息,把插件名称改为
WooCommerce EAN Manager(US),和原有插件做区分 - 把文件内所有插件专属的函数名、钩子名、自定义字段键名、文本域前缀全部加上
_us后缀,例如原函数get_ean_value改为get_ean_value_us,原字段键名ean改为ean_us
- 修改文件头部的插件注释信息,把插件名称改为
- 保存文件后进入WordPress后台插件列表,就能看到新复制的插件,启用后即可单独配置美国版本的EAN管理规则
注意:该方案复制的插件无法跟随原插件同步更新,后续版本迭代需要手动合并代码,维护成本较高,非必要不推荐使用。
内容的提问来源于stack exchange,提问作者NetRoox
相关产品推荐
相关产品推荐

