WPML

Resumen del problema

En los sitios web que utilizan el tema Betheme y WPML, es posible que las plantillas traducidas de encabezado/pie de página global no se muestren correctamente en las páginas traducidas. En su lugar, aparece la plantilla del idioma original.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.

  • Abra el archivo …/wp-content/themes/betheme/functions/theme-functions.php.
  • Reemplace el siguiente fragmento:
    // 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();
    }
  • Luego, abra este otro archivo …/wp-content/themes/betheme/functions.php
  • Reemplace la función 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 los problemas conocidos