问题概述
如果您将 Woodmart 主题 与 WPML 结合使用,您可能会遇到翻译产品布局时卡住且无法完成的问题。此外,您还会发现类似以下错误:
Call to a member function get_gallery_image_ids() on null .../wp-content/themes/woodmart/woocommerce/single-product/product-image.php:27
当前文档:WoodMart 的产品布局可使用 WPML 翻译。请阅读 使用 WPML 翻译 WoodMart 商店 了解具体方法。
临时解决方法
此问题已在 WoodMart 8.0.2 中修复。 更新即可在您的站点上解决此问题,因此只有在您还无法更新时,才需要此临时解决方法。
请在继续操作前,确保对您的站点进行完整备份。
- 打开您主题的 functions.php 文件。
- 添加以下代码片段:
add_action( 'woocommerce_before_template_part', function () { global $product; if ( wp_is_json_request() && ! $product ) { $random_product = new WP_Query( array( 'posts_per_page' => '1', 'post_type' => 'product', ) ); while ( $random_product->have_posts() ) { $random_product->the_post(); $product_id = get_the_ID(); } wp_reset_postdata(); $product = wc_get_product( $product_id ); } } ); - 清除缓存并重新翻译您的产品布局。
- 前往 WordPress 仪表板 -> WoodMart -> Patcher。
- 选择 618307 号补丁。