- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 3.1.9.5
- Resolvido em
- 3.1.9.7
Visão geral do problema
- Vá para o menu e crie um no idioma padrão.
- Tente criar o menu no idioma secundário.
- Após salvar, você receberá um erro 404.
Solução alternativa
Este problema foi resolvido no WPML 3.1.9.7
Você deve atualizar para a versão recente do WPML para corrigir o problema
Se você não quiser ou não puder atualizar o WPML, siga estas instruções:
- Baixe a versão atualizada do iclNavMenu.class.php
- Use-o como um substituto de
sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php:
Muito provavelmente, isso significa que você deve usar seu cliente FTP e fazer o upload do arquivo emsitepress-multilingual-cms/inc/wp-nav-menus: se for solicitado que você substitua o arquivo existente, basta confirmar.
Em caso de problemas
Caso você encontre algum destes problemas:
Fatal error: Call to undefined method SitePress::get_setting() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 121PHP Fatal error: Call to undefined function wpml_prepare_in() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 548- Uma página branca/em branco
Siga estes passos:
- Vá para “WPML” -> “Suporte”
- Clique em “informações de depuração”: você verá uma caixa de texto cinza, com muitas informações (é um objeto json)
- Copie o conteúdo da caixa de texto em um arquivo de texto e nomeie esse arquivo como desejar: é melhor usar a extensão “json”, mas isso não é obrigatório
- Crie um novo usuário do WordPress com direitos de administrador para que eu possa depurar o problema
- Instale o plugin gratuito “Duplicator” (aqui).
Você pode usar um plugin diferente, se preferir, mas as instruções a seguir são específicas para o Duplicator (embora possam ser facilmente ajustadas para outros plugins) - Crie um novo pacote:
- Vá para “Duplicator” -> “Pacotes”
- Clique em “Create New”
- Prossiga com o assistente, deixando todas as configurações padrão (se desejar, você pode excluir alguns arquivos que acha que não são necessários, ou que deixariam o pacote muito grande, como os arquivos na pasta “uploads”)
- Assim que o snapshot estiver pronto, baixe os arquivos “installer” e “package”
- Crie uma pasta e inclua os arquivos dos passos 3 e 6.4 (ou seja, o arquivo de texto com as informações de depuração, o installer e o package).
- Compacte essa pasta e faça o upload no Google Drive, Dropbox ou um serviço semelhante (ou faça o upload da pasta inteira sem compactar, e compartilhe-a)
- Vá para o nosso fórum de suporte e crie um tíquete de suporte com o seguinte título “Workaround issues – Saving menus in non default language leads to 404 error”: nós pediremos que você compartilhe de forma privada os arquivos que você armazenou no passo 8.
Se você estiver usando uma versão muito antiga do WPML, esta solução alternativa pode não funcionar.
In these cases, you may get a white page, or this errors: PHP Fatal error: Call to undefined function wpml_prepare_in()
Para corrigir este erro específico, siga estes passos:
abra'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
e pesquise porwpml_prepare_in
- Se você não conseguir encontrá-lo, adicione isto no final do arquivo:
function wpml_prepare_in( $items, $format = '%s' ) { global $wpdb; $items = (array) $items; $how_many = count( $items ); if ( $how_many > 0 ) { $placeholders = array_fill( 0, $how_many, $format ); $prepared_format = implode( ",", $placeholders ); $prepared_in = $wpdb->prepare( $prepared_format, $items ); } else { $prepared_in = ""; } return $prepared_in; }