WPML
Estado
Resuelto por el autor

Resumen del problema

Cuando intenta traducir contenido creado con Muffin Builder de BeTheme, el contenido traducido no se muestra en el front-end, o bien el contenido aparece codificado como se muestra en la siguiente captura de pantalla:

El contenido creado con Muffin Builder está codificado

Solución alternativa

Asegúrese de hacer una copia de seguridad completa de su sitio antes de continuar.

  1. Actualice a la última versión de Betheme
  2. Vaya a Betheme > Theme Options > Global > Avanzado > Muffin Builder data storage y seleccione la opción Serialized | Readable format, required by some plugins
  3. Abra el archivo wp-content/themes/betheme/functions/theme-functions.php y busque el siguiente fragmento:
    /*
     * WPML | Workaround for compsupp-5901
     */
    
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
      if ( $custom_field_name === 'mfn-page-items' ) {
    	  $custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' ) {
    		$custom_field_val = base64_encode( serialize($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  4. Reemplácelo con el siguiente fragmento:
    /*
     * WPML | Workaround for compsupp-5901
     */
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
        if ( $custom_field_name === 'mfn-page-items' ) {
            $custom_field_val = base64_encode( serialize($custom_field_val) );
        }
        return $custom_field_val;	
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' && is_string($custom_field_val) ) {
    		$custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  5. Si ya ha empezado a traducir sus páginas, edite la página original y guarde.
  6. Actualice la traducción y el contenido debería estar disponible ahora.

Siguientes pasos

Nos hemos puesto en contacto con los autores de BeTheme y Muffin Builder, quienes implementarán una solución lo antes posible. ¡No es necesario que haga nada en este momento!

Todos los problemas conocidos →