WPML

Visão geral do problema

O tema Houzez usa sua própria função personalizada para chamar as opções do tema. Se o idioma padrão do seu site não for o inglês, essa função entrará em conflito com o WPML. O resultado é que as traduções não serão exibidas no front-end e serão revertidas para o idioma padrão no painel de administração.

Solução alternativa

Este problema foi corrigido. Atualizar para a versão mais recente resolve isso no seu site, portanto, você só precisa desta solução alternativa se ainda não puder atualizar.

Antes de prosseguir, faça um backup completo do seu site.

  1. Abra /wpml-string-translation/inc/admin-texts/wpml-admin-texts.class.php.
  2. Procure a linha 198.
  3. Substitua:
    function icl_st_set_admin_options_filters() {
    	$option_names = $this->getOptionNames();
    
    	foreach ( $option_names as $option_key => $option ) {
    		if ( $this->is_blacklisted( $option_key ) ) {
    			unset( $option_names[ $option_key ] );
    			update_option( '_icl_admin_option_names', $option_names );
    		} elseif ( $option_key != 'theme' && $option_key != 'plugin' ) { // theme and plugin are an obsolete format before 3.2
    			add_filter( 'option_' . $option_key, array( $this, 'icl_st_translate_admin_string' ) );
    			add_action( 'update_option_' . $option_key, array( $this, 'on_update_original_value' ), 10, 3 );
    		}
    	}
    }
  4. Por:
    function icl_st_set_admin_options_filters() {
    	$option_names = $this->getOptionNames();
    
    	$isAdmin = is_admin() && ! wpml_is_ajax();
    
    	foreach ( $option_names as $option_key => $option ) {
    		if ( $this->is_blacklisted( $option_key ) ) {
    			unset( $option_names[ $option_key ] );
    			update_option( '_icl_admin_option_names', $option_names );
    		} elseif ( $option_key != 'theme' && $option_key != 'plugin' ) { // theme and plugin are an obsolete format before 3.2
    			/**
    			 * We don't want to translate admin strings in admin panel because it causes a lot of confusion
    			 * when a value is displayed inside the form input.
    			 **/
    			if ( ! $isAdmin ) {
    				add_filter( 'option_' . $option_key, array( $this, 'icl_st_translate_admin_string' ) );
    			}
    			add_action( 'update_option_' . $option_key, array( $this, 'on_update_original_value' ), 10, 3 );
    		}
    	}
    }

Próximas etapas

Este problema será resolvido com o lançamento da versão WPML 4.5 (final de setembro de 2021).

Todos os problemas conhecidos

Ainda está vendo este problema?

Se a atualização não resolver, envie uma dúvida de suporte e nós vamos analisar isso com você.