- Status
- Gelöst
- Gemeldet für
- WPML Multilingual CMS 3.3.5
- Gelöst in
- 3.4
Übersicht über das Problem
Ein 404-Fehler:
„Laden der Ressource fehlgeschlagen: Der Server antwortete mit dem Status 404 (Not Found)“
beim Aufruf von admin_url( ‘admin-ajax.php’ ).
Das Problem tritt auf, wenn Sie die Einstellung „Eine andere Domain pro Sprache“ verwenden.
Wenn Sie admin_url( ‘admin-ajax.php’ ) aufrufen, sehen Sie in etwa Folgendes:
http://secondary-language-domain.com/secondary-lang-code/wp-admin/admin-ajax.php
anstelle von:
http://secondary-language-domain.com/wp-admin/admin-ajax.php.
Dies führt zu einem 404-Fehler:
„Laden der Ressource fehlgeschlagen: Der Server antwortete mit dem Status 404 (Not Found)“.
Dies wird in der nächsten Version behoben.
Problemumgehung
Melden Sie sich bei Ihrem FTP an und suchen Sie die Datei wpml-url-converter.class.php unter wp-content/plugins/sitepress-multilingual-cms/inc/url-handling/wpml-url-converter.class.php.
Suchen Sie nach der Funktion admin_url_filter (etwa in Zeile 39) und ändern Sie den folgenden Code:
public function admin_url_filter( $url, $path ) {
if ( 'admin-ajax.php' === $path ) {
$url = $this->get_admin_ajax_url( $url );
}
return $url;
}in:
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; }
Denken Sie immer daran, zuerst ein Backup zu erstellen, bevor Sie etwas an Ihren Dateien ändern.