WPML
Status
Resolvido pelo autor

Visão geral do problema

Quando você tenta traduzir o conteúdo criado com o Muffin Builder do BeTheme, o conteúdo traduzido não é exibido no front-end, ou o conteúdo é codificado conforme exibido na captura de tela abaixo:

Conteúdo criado usando o Muffin Builder é codificado

Solução alternativa

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

  1. Atualize para a última versão do Betheme
  2. Vá para Betheme > Opções do tema > Global > Avançado > Muffin Builder data storage e selecione a opção Serialized | Formato legível, obrigatório para alguns plugins
  3. Abra o arquivo wp-content/themes/betheme/functions/theme-functions.php e procure pelo trecho abaixo:
    /*
     * 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. Substitua-o pelo trecho abaixo:
    /*
     * 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. Se você já começou a traduzir suas páginas, edite a página original e salve.
  6. Atualize a tradução e o conteúdo deve estar disponível agora.

Próximos passos

Entramos em contato com os autores do BeTheme e do Muffin Builder, que implementarão uma correção o mais rápido possível. Você não precisa fazer nada agora!

Todos os problemas conhecidos →