Resolved by author
Overview of the issue
In websites using Betheme theme and WPML, translated global header/footer templates may not display correctly on translated pages. Instead, the original language template appears.
Workaround
Please, make sure of having a full backup of your site before proceeding.
- Open …/wp-content/themes/betheme/functions/theme-functions.php file.
- Replace the following snippet:
// wpml fix if( defined( 'ICL_SITEPRESS_VERSION' ) ){ $default_lang = apply_filters('wpml_default_language', NULL ); $current_lang = apply_filters( 'wpml_current_language', NULL ); if( !empty($default_lang) && !empty($current_lang) && $current_lang != $default_lang ) $lang_postfix = '_'.$current_lang; }else if( function_exists( 'pll_the_languages' ) ) { if( pll_default_language() != pll_current_language() ) $lang_postfix = '_'.pll_current_language(); }
- With:
// wpml fix if( defined( 'ICL_SITEPRESS_VERSION' ) ){ $default_lang = apply_filters('wpml_default_language', NULL ); $current_lang = apply_filters( 'wpml_current_language', NULL ); // WPML WORKAROUND FOR compsupp-7113 (we are disabling $lang_postfix) if( !empty($default_lang) && !empty($current_lang) && $current_lang != $default_lang ) { //$lang_postfix = '_'.$current_lang; } }else if( function_exists( 'pll_the_languages' ) ) { if( pll_default_language() != pll_current_language() ) $lang_postfix = '_'.pll_current_language(); }
- Then, open this other file …/wp-content/themes/betheme/functions.php
- Replace the
mfn_global()
function:function mfn_global() { global $mfn_global; $mfn_global = array( 'header' => mfn_template_part_ID('header'), 'footer' => mfn_template_part_ID('footer'), 'sidemenu' => mfn_global_sidemenu_id(), 'single_product' => mfn_single_product_tmpl(), 'blog' => mfn_archive_template_id('blog'), 'portfolio' => mfn_archive_template_id('portfolio'), ); }
- With:
function mfn_global() { global $mfn_global; $header_global = mfn_template_part_ID('header'); $header_global = apply_filters( 'wpml_object_id', $header_global, get_post_type($header_global) , TRUE ); $footer_global = mfn_template_part_ID('footer'); $footer_global = apply_filters( 'wpml_object_id', $footer_global , get_post_type($footer_global) , TRUE ); $mfn_global = array( 'header' => $header_global, 'footer' => $footer_global, 'sidemenu' => mfn_global_sidemenu_id(), 'single_product' => mfn_single_product_tmpl(), 'blog' => mfn_archive_template_id('blog'), 'portfolio' => mfn_archive_template_id('portfolio'), ); }