问题概述
在同时使用Germanized for WooCommerce和WPML的配置中,存在一个问题:使用配送类条件的配送方式无法用于已翻译的产品。
临时解决方法
这个问题已修复。 更新到最新版本即可在您的站点上解决此问题,因此,只有当您暂时无法更新时,才需要此临时解决方法。
在继续操作之前,请确保您的站点有完整站点备份。
- 打开 …/wp-content/plugins/woocommerce-germanized/packages/woocommerce-germanized-shipments/src/ShippingMethod/ShippingMethod.php 文件。
- 找到第 957 行。
- 将:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array();
- 替换为:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array(); // compsupp-7583 workaround // Assuming $classes is an array of category IDs. $classes = array_map(function($class_id) { // Translate each ID using WPML return apply_filters('wpml_object_id', $class_id, 'category'); }, $classes);