- Estado
- Resuelto
- Notificado para
- WPML Multilingual CMS 3.3.5
- Resuelto en
- 3.4
Resumen del problema
Un error 404:
«Error al cargar el recurso: el servidor respondió con un estado de 404 (No encontrado)»
al llamar a admin_url( ‘admin-ajax.php’ ).
El problema aparece cuando utiliza la configuración «Un dominio diferente por idioma».
Cuando llama a admin_url( ‘admin-ajax.php’ ), ve algo como esto:
http://secondary-language-domain.com/secondary-lang-code/wp-admin/admin-ajax.php
en lugar de:
http://secondary-language-domain.com/wp-admin/admin-ajax.php.
Esto da como resultado un error 404:
«Error al cargar el recurso: el servidor respondió con un estado de 404 (No encontrado)».
Se solucionará en la próxima versión.
Solución alternativa
Acceda a su FTP y busque el archivo wpml-url-converter.class.php ubicado en wp-content/plugins/sitepress-multilingual-cms/inc/url-handling/wpml-url-converter.class.php.
Busque la función admin_url_filter (alrededor de la línea 39) y cambie el siguiente código:
public function admin_url_filter( $url, $path ) {
if ( 'admin-ajax.php' === $path ) {
$url = $this->get_admin_ajax_url( $url );
}
return $url;
}por:
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; }
Recuerde siempre hacer una copia de seguridad antes de cambiar cualquier cosa en sus archivos.