Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Der Kunde stießt auf einen fatalen Fehler, der auftrat, wenn man in den Aboeinstellungen auf bereits getätigte Bestellungen klickte. Der Fehler wurde von WordPress abgefangen und betraf das WPML Multilingual CMS Plugin.
Lösung:
Wir haben einen Workaround für dieses Problem gefunden. Führen Sie die folgenden Schritte durch:
1. Öffnen Sie die Datei

wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/wpml-url-filters.class.php

.
2. Fügen Sie direkt nach der Funktion

public function get_edit_post_link( $link, $id, $context = 'display' )

folgenden Code hinzu:

if (is_object($id)) {
    $id = $id->ID;
}

Diese Änderung wird in der zukünftigen WPML-Version 4.7 offiziell enthalten sein. Wir informieren Sie, sobald diese Version verfügbar ist.

Bitte beachten Sie, dass diese Lösung veraltet sein oder nicht auf Ihr Problem zutreffen könnte. Wir empfehlen Ihnen, die bekannten Probleme zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und sicherzustellen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Sollte das Problem weiterhin bestehen, zögern Sie nicht, ein neues Support-Ticket zu öffnen.

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Dieses Thema enthält 24 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Marcel Vor 1 Jahr, 2 Monaten.

Assistiert von: Marcel.

Verfasser Beiträge
Februar 7, 2024 unter 9:27 am #15275453

simonA-16

Guten Tag

Wir haben folgenden fatalen Fehler gefunden bezüglich WPML CMS und Subscription plugin, welches wir benutzen. Der Fehler wurde von WP abgefangen. Der Fehler entsteht, wenn man in den Aboeinstellungen auf die bereits getätigten Bestellungen klickt. Siehe dazu folgenden Screenshot: versteckter Link. Das Mail von WP mit dem Fehler findest du hier. Falls benötigt, kann eine Staging Seite zum testen zur verfügung gestellt werden.

Hallo!

WordPress hat eine eingebaute Funktion, die erkennt, wenn ein Plugin oder ein Theme einen fatalen Fehler auf deiner Website verursacht, und dich deswegen mit dieser automatisierten E-Mail benachrichtigt.

In diesem Fall hat WordPress einen Fehler in einem deiner Plugins, WPML Multilingual CMS, abgefangen.

Besuche zunächst deine Website (versteckter Link) und überprüfe sie auf sichtbare Probleme. Besuche als nächstes die Seite, auf der der Fehler aufgetreten ist (versteckter Link) und prüfe, ob es sichtbare Probleme gibt.

Bitte kontaktiere dein Hosting-Unternehmen, um Unterstützung bei der weiteren Untersuchung dieses Problems zu erhalten.

Wenn deine Website fehlerhaft zu sein scheint und du nicht mehr wie gewohnt auf dein Dashboard zugreifen kannst, hat WordPress jetzt einen speziellen „Wiederherstellungsmodus“. Auf diese Weise kannst du dich sicher in deinem Dashboard anmelden und weitere Untersuchungen durchführen.

versteckter Link

Um deine Website zu schützen, läuft dieser Link in 1 Tag ab. Aber keine Sorge: Ein neuer Link wird dir per E-Mail zugeschickt, wenn der Fehler nach Ablauf der Frist erneut auftritt.

Wenn du Hilfe bei diesem Problem suchst, wirst du möglicherweise nach einigen der folgenden Informationen gefragt:
WordPress-Version 6.3.2
Aktives Theme: Kadence Child (Version 1.0.37) Aktuelles Plugin: WPML Multilingual CMS (Version 4.6.8) PHP-Version 8.1.23

Fehler-Details
==============
Ein Fehler vom Typ E_ERROR wurde in der Zeile 259 der Datei /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php verursacht. Fehlermeldung: Uncaught TypeError: Illegal offset type in isset or empty in /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php:259
Stack trace:
#0 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php(113): WPML_Element_Translation->maybe_populate_cache(Object(WC_Subscription))
#1 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/wpml-url-filters.class.php(144): WPML_Element_Translation->get_element_lang_code(Object(WC_Subscription))
#2 /www/inoivch_340/public/wp-includes/class-wp-hook.php(310): WPML_URL_Filters->get_edit_post_link('versteckter Link...', Object(WC_Subscription), '')
#3 /www/inoivch_340/public/wp-includes/plugin.php(205): WP_Hook->apply_filters('versteckter Link...', Array)
#4 /www/inoivch_340/public/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/wcs-helper-functions.php(71): apply_filters('get_edit_post_l...', 'versteckter Link...', Object(WC_Subscription), '')
#5 /www/inoivch_340/public/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php(1517): wcs_get_edit_post_link(Object(WC_Subscription))
#6 /www/inoivch_340/public/wp-includes/class-wp-hook.php(310): WC_Subscriptions_Admin::display_renewal_filter_notice('')
#7 /www/inoivch_340/public/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(NULL, Array)
#8 /www/inoivch_340/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#9 /www/inoivch_340/public/wp-admin/admin-header.php(303): do_action('admin_notices')
#10 /www/inoivch_340/public/wp-admin/edit.php(407): require_once('/www/inoivch_34...')
#11 {main}
thrown

Februar 7, 2024 unter 3:03 pm #15277242

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

es scheint sich dabei um folgendes Problem zu handeln: https://wpml.org/errata/advanced-custom-fields-fatal-error-uncaught-typeerror-illegal-offset-type-in-isset-or-empty-in/, welches jedoch nur in Kombination mit ACF ausgelöst wird.

Ich sehe aktuell ACF nicht als aktiv. Nutzen Sie ACF, bzw. ist es ggf. in einem von Ihnen genutztem Plugin integriert? Der Workaround wäre dafür unser "Glue" Add-On anzupassen. Bitte prüfen Sie, ob ACF in irgendeiner Art auf Ihrer Installation genutzt wird oder integriert ist.

Freundliche Grüße
Marcel

Februar 7, 2024 unter 3:47 pm #15277605

simonA-16

Hallo Marcel

Danke für deine schnelle Antwort. Laut meinen Informationen läuft ACF nicht auf unserer Seite. Wir benutzen Kadence Blocks für das Meiste und dann noch Custom Product Tabs for WooCommerce. Ich prüfe jedoch mit den Devs. von Kadence ob dort irgendwas integriert ist. Denke jedoch nicht.

Gruss
Simon

Februar 7, 2024 unter 3:52 pm #15277670

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Danke für die Info.,

Bei den Custom Tabs, wo der Source-Code frei download bar ist, sehe ich keine Referenzen zu ACF. Bei Kadence bin ich mir nicht sicher. Ist ggf. ein Menüeintrag "Feldgruppen" im WP Backend ersichtlich?

Freundliche Grüße
Marcel

Februar 8, 2024 unter 9:00 am #15280190

simonA-16

Hallo Marcel

Wäre es OK wenn ich eine Staging Seite für dich erstellen würde? Dann könntest du das gleich selber prüfen. Schick mir doch das Formular für die Logindaten.

Gruss
Simon

Februar 8, 2024 unter 5:13 pm #15282544

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo Simon,

gerne! Ich würde mir das gerne direkt auf Ihrer Seite ansehen. Dazu bräuchte ich bitte temporären Zugriff (WP-Admin und FTP) auf Ihre Seite, vorzugsweise zu einer Test/Staging Seite, an der das Problem nach Möglichkeit repliziert wurde.

Die dafür benötigten Felder finden Sie unterhalb des Kommentarbereichs. Die Informationen, die Sie eingeben, sind privat, d.h. nur Sie und ich können sie sehen und haben Zugriff darauf.

WICHTIG
Bitte erstellen Sie eine Sicherungskopie der Site-Dateien und der Datenbank, bevor Sie uns Zugang gewähren.
-Wenn Sie die wp-admin/FTP-Felder nicht sehen, bedeutet dies, dass Ihre Post- und Website-Login-Daten ÖFFENTLICH gemacht werden. Posten Sie Ihre Website-Details NICHT, wenn Sie die erforderlichen wp-admin/FTP-Felder nicht sehen. Wenn Sie das nicht tun, bitten Sie mich, die private Box zu aktivieren. Die private Box sieht wie folgt aus:
versteckter Link

Freundliche Grüße
Marcel

Februar 9, 2024 unter 5:21 pm #15287171

simonA-16

Hallo Marcel

Habe gerade Antwort von Kadence erhalten. Kadence Blocks hat eine built in integration mit ACF für dynamische Inhalte. Hoffe das hilft weiter.

Gruss
Simon

Februar 9, 2024 unter 5:25 pm #15287175

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

vielen Dank!

Ich habe versucht den Fehler nachzustellen, bekomme unter z.B.: jedoch aktuell keinen PHP Fehler dargestellt: versteckter Link.

Ist das PHP Debugging auf der Installation deaktiviert? Ich wollte dies via FTP prüfen, jedoch funktioniert der FTP Login leider nicht. Könnten Sie dies bitte prüfen?

Freundliche Grüße
Marcel

Februar 9, 2024 unter 5:36 pm #15287204

simonA-16

Hallo

Habe soeben WP Debuging aktiviert für diese Staging. Beim Login handelt es sich um SFTP.
Konnte den Fehler reproduzieren. Einfach hier klicken unter Abonements: versteckter Link

Februar 9, 2024 unter 5:48 pm #15287229

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

danke für die Info. Die URL, welche ich gepostet habe, wäre genau der Link bei "2". Ein Klick darauf öffnet versteckter Link, jedoch ohne Fehler.

Können Sie es mit meinem User ebenso reproduzieren? Wir sehen anscheinend andere Resultate bei einem Klick darauf.

Freundliche Grüße
Marcel

Februar 9, 2024 unter 8:09 pm #15287463

simonA-16

Hallo Marcel

Wenn du das anklickst kommst du zwar weiter aber keine Bestellungen werden angezeigt. Im Fehler Log von Kinsta sehe ich dann den Fehler:

2024/02/09 17:25:06 [error] 3564#3564: *528 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php:259
Stack trace:
#0 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php(113): WPML_Element_Translation->maybe_populate_cache(Object(WC_Subscription))
#1 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/wpml-url-filters.class.php(144): WPML_Element_Translation->get_element_lang_code(Object(WC_Subscription))
#2 /www/inoivch_340/public/wp-includes/class-wp-hook.php(310): WPML_URL_Filters->get_edit_post_link('versteckter Link...', Object(WC_Subscription), '')
#3 /www/inoivch_340/public/wp-includes/plugin.php(205): WP_Hook->apply_filters('versteckter Link...', Array)
#4 /www/inoivch_340/public/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/su" while reading response header from upstream, client: 185.237.182.13, server: stg-inoivch-staging.kinsta.cloud, request: "GET /wp-admin/edit.php?post_type=shop_order&post_status=all&_subscription_related_orders=84637 HTTP/2.0", upstream: "versteckter Link:", host: "stg-inoivch-staging.kinsta.cloud:20250", referrer: "versteckter Link"

Februar 12, 2024 unter 6:27 pm #15294486

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

das wäre genau der Fehler-Code für https://wpml.org/errata/advanced-custom-fields-fatal-error-uncaught-typeerror-illegal-offset-type-in-isset-or-empty-in/.

Am besten testen Sie auf einer getrennten Staging-Umgebung, ob es mit einem Standard Theme wie Storefront und nur mit WPML ebenso reproduziert werden kann.

Freundliche Grüße
Marcel

Februar 15, 2024 unter 8:10 am #15305385

simonA-16

Hallo Marcel

Sorry für meine späte Antwort. Werde das testen und melde mich dann gleich bei dir.

Februar 15, 2024 unter 5:44 pm #15308771

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Danke für die Info. Geht in Ordnung!

Februar 16, 2024 unter 9:07 am #15310530

simonA-16

Hallo Marcel

Also habe es mit dem Twenty Twenty-Three Theme probiert. Konnte den Fehler reproduzieren:

Hallo!

WordPress hat eine eingebaute Funktion, die erkennt, wenn ein Plugin oder ein Theme einen fatalen Fehler auf deiner Website verursacht, und dich deswegen mit dieser automatisierten E-Mail benachrichtigt.

In diesem Fall hat WordPress einen Fehler in einem deiner Plugins, WPML Multilingual CMS, abgefangen.

Besuche zunächst deine Website (versteckter Link) und überprüfe sie auf sichtbare Probleme. Besuche als nächstes die Seite, auf der der Fehler aufgetreten ist (versteckter Link) und prüfe, ob es sichtbare Probleme gibt.

Bitte kontaktiere dein Hosting-Unternehmen, um Unterstützung bei der weiteren Untersuchung dieses Problems zu erhalten.

Wenn deine Website fehlerhaft zu sein scheint und du nicht mehr wie gewohnt auf dein Dashboard zugreifen kannst, hat WordPress jetzt einen speziellen „Wiederherstellungsmodus“. Auf diese Weise kannst du dich sicher in deinem Dashboard anmelden und weitere Untersuchungen durchführen.

versteckter Link

Um deine Website zu schützen, läuft dieser Link in 1 Tag ab. Aber keine Sorge: Ein neuer Link wird dir per E-Mail zugeschickt, wenn der Fehler nach Ablauf der Frist erneut auftritt.

Wenn du Hilfe bei diesem Problem suchst, wirst du möglicherweise nach einigen der folgenden Informationen gefragt:
WordPress-Version 6.3.2
Aktives Theme: Twenty Twenty-Three (Version 1.3) Aktuelles Plugin: WPML Multilingual CMS (Version 4.6.8) PHP-Version 8.1.23

Fehler-Details
==============
Ein Fehler vom Typ E_ERROR wurde in der Zeile 259 der Datei /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php verursacht. Fehlermeldung: Uncaught TypeError: Illegal offset type in isset or empty in /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php:259
Stack trace:
#0 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-element-translation.php(113): WPML_Element_Translation->maybe_populate_cache(Object(WC_Subscription))
#1 /www/inoivch_340/public/wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/wpml-url-filters.class.php(144): WPML_Element_Translation->get_element_lang_code(Object(WC_Subscription))
#2 /www/inoivch_340/public/wp-includes/class-wp-hook.php(310): WPML_URL_Filters->get_edit_post_link('versteckter Link...', Object(WC_Subscription), '')
#3 /www/inoivch_340/public/wp-includes/plugin.php(205): WP_Hook->apply_filters('versteckter Link...', Array)
#4 /www/inoivch_340/public/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/wcs-helper-functions.php(71): apply_filters('get_edit_post_l...', 'versteckter Link...', Object(WC_Subscription), '')
#5 /www/inoivch_340/public/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php(1517): wcs_get_edit_post_link(Object(WC_Subscription))
#6 /www/inoivch_340/public/wp-includes/class-wp-hook.php(310): WC_Subscriptions_Admin::display_renewal_filter_notice('')
#7 /www/inoivch_340/public/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(NULL, Array)
#8 /www/inoivch_340/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#9 /www/inoivch_340/public/wp-admin/admin-header.php(303): do_action('admin_notices')
#10 /www/inoivch_340/public/wp-admin/edit.php(407): require_once('/www/inoivch_34...')
#11 {main}
thrown