WPML
Статус
Решено
Заявлено для
WPML Multilingual & Multicurrency for WooCommerce 5.2.0
Решено в
WCML 5.3.0
Связанный плагин/тема
Elementor, Divi
Теги темы
Compatibility

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

В ситуациях, когда Вы создали шаблон Divi для отображения на всех страницах архивов, и в Вашей теме оформления также есть файл taxonomy-product_cat.php, возникнет конфликт. В частности, Ваш шаблон Divi будет отображаться только на языке по умолчанию. При переключении языков вместо шаблона Divi будет отображаться шаблон из файла taxonomy-product_cat.php.

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

Перед выполнением дальнейших действий убедитесь, что у Вас есть полная резервная копия Вашего сайта.


  • Откройте файл functions.php Вашей темы оформления.

  • Добавьте следующий код:
    add_filter('template_include', function ($template){
    	if (function_exists('wc_locate_template') && strpos($template, 'Divi/includes/builder') !== false && !file_exists(wc_locate_template(basename($template)))) {
    		global $woocommerce_wpml;
    		remove_filter( 'template_include', [ $woocommerce_wpml->store, 'template_loader' ], 100 );
    	}
    	
    	return $template;
    }, 99);

Примечание


Эта проблема также может возникать с шаблонами Elementor. В этом случае Вам нужно будет использовать следующий фрагмент кода:
add_filter('template_include', function ($template){
	if (function_exists('wc_locate_template') && strpos($template, 'elementor') !== false && !file_exists(wc_locate_template(basename($template)))) {
		global $woocommerce_wpml;
		remove_filter( 'template_include', [ $woocommerce_wpml->store, 'template_loader' ], 100 );
	}
	
	return $template;
}, 12);

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