- Статус
- Решено
- Заявлено для
- WPML Multilingual & Multicurrency for WooCommerce 5.2.0
- Решено в
- WCML 5.3.0
- Теги темы
- 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);