WPML
Status
Resolvido pelo autor
Plugin/tema relacionado
BeTheme
Tags de tópico
Compatibility

Visão geral do problema

Em sites que usam o tema Betheme e o WPML, os templates traduzidos de cabeçalho/rodapé global podem não ser exibidos corretamente nas páginas traduzidas. Em vez disso, o template no idioma original aparece.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/themes/betheme/functions/theme-functions.php.

  • Substitua o seguinte trecho:
    // 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();
    }

  • Por:
    // 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();
    }

  • Em seguida, abra este outro arquivo …/wp-content/themes/betheme/functions.php

  • Substitua a função mfn_global():
    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'),
        );
    }

  • Por:
    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'),
        );
    }

Todos os problemas conhecidos →