WPML

Обзор проблемы

Если Вы используете тему оформления 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. Узнайте, как это сделать, в руководстве Перевод магазина WoodMart с помощью WPML.

Обходное решение

Эта проблема исправлена в 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 );
        }
    } );
  • Очистите кеш и заново переведите макет товара.
Обновление: команда WoodMart также выпустила патч, и эта проблема должна быть исправлена в их следующем обновлении.
  • Перейдите в консоль WordPress -> WoodMart -> Patcher.
  • Выберите патч номер 618307.

Все известные проблемы

Всё ещё сталкиваетесь с этой проблемой?

Если обновление не устраняет проблему, отправьте запрос в поддержку, и мы разберемся в ней вместе с Вами.