- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 3.3.5
- Resolvido em
- 3.4
Visão geral do problema
Um erro 404:
“Falha ao carregar recurso: o servidor respondeu com um status de 404 (Not Found)”
ao chamar admin_url( ‘admin-ajax.php’ ).
O problema aparece quando você usa a configuração “Um domínio diferente por idioma”.
Quando você chama admin_url( ‘admin-ajax.php’ ), você vê algo assim:
http://secondary-language-domain.com/secondary-lang-code/wp-admin/admin-ajax.php
em vez de:
http://secondary-language-domain.com/wp-admin/admin-ajax.php.
Isso resulta em um erro 404:
“Falha ao carregar recurso: o servidor respondeu com um status de 404 (Not Found)”.
Será corrigido na próxima versão.
Solução alternativa
Faça login no seu FTP e encontre o arquivo wpml-url-converter.class.php localizado em wp-content/plugins/sitepress-multilingual-cms/inc/url-handling/wpml-url-converter.class.php.
Pesquise pela função admin_url_filter (por volta da linha 39) e altere o seguinte código:
public function admin_url_filter( $url, $path ) {
if ( 'admin-ajax.php' === $path ) {
$url = $this->get_admin_ajax_url( $url );
}
return $url;
}para:
public function admin_url_filter( $url, $path ) { if ( ( strpos( $url, 'http://' ) === 0 || strpos( $url, 'https://' ) === 0 ) && 'admin-ajax.php' === $path && $this->wpml_wp_api->is_front_end() ) { global $sitepress; $url = $this->convert_url( $url, $sitepress->get_current_language() ); } return $url; }
Lembre-se sempre de fazer um backup primeiro antes de alterar qualquer coisa em seus arquivos.