Support » WooCommerce » Kritischer Fehler Woocommerce bei PHP Versionen 8.xx

  • Gelöst lmobile

    (@lmobile)


    Hallo

    wir erhalten wenn wir die PHP Version auf 8.xx anheben folgende Woocommerce Fehlermeldung:

    Ein Fehler vom Typ E_ERROR wurde in der Zeile 234 der Datei /home/wp/disk/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php verursacht. Fehlermeldung: Uncaught ValueError: Missing format specifier at end of string in /home/wp/disk/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php:234
    
    Stack trace:
    
    #0 /home/wp/disk/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php(234): sprintf()
    
    #1 /home/wp/disk/wordpress/wp-includes/class-wp-hook.php(324): WC_Post_Types::register_taxonomies()
    
    #2 /home/wp/disk/wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
    
    #3 /home/wp/disk/wordpress/wp-includes/plugin.php(517): WP_Hook->do_action()
    
    #4 /home/wp/disk/wordpress/wp-settings.php(645): do_action()
    
    #5 /home/wp/disk/wordpress/wp-config.php(63): require_once('/home/wp/disk/w...')
    
    #6 /home/wp/disk/wordpress/wp-load.php(50): require_once('/home/wp/disk/w...')
    
    #7 /home/wp/disk/wordpress/wp-login.php(12): require('/home/wp/disk/w...')
    
    #8 {main}
    
      thrown

    Könnt Ihr da Einordnen wodurch der Fehler verursacht wird? Wir benutzen die aktuellsten Versionen von Woocommerce und WordPress.

    Danke und Gruß Marc

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
    1. alle anderen Plugins in einer Staging Umgebung deaktivieren. Geht es dann? Wenn ja, dann liegt es an einem anderen Plugin.

      2. Prüfe mal, ob alle Sprachdateien aktuell sind. Ist ein sprintf() Problem.
    Thread-Starter lmobile

    (@lmobile)

    Hallo Marcus

    haben wir getestet. Liegt nicht an einem Plugin Konflikt. Erzeugt wird der Fehler wohl hier

                        'all_items'         => sprintf( __( 'All %s', 'woocommerce' ), $label ),

    und die Ursache ist eine Fehlerhafte Übersetzung eines Strings in WPML. Ich habe mich bereits mit deren Support in Verbindung gesetzt.

    Danke und Gruß Marc

    • Diese Antwort wurde geändert vor 2 Monaten, 1 Woche von lmobile.

    Das war bei einer älteren Übersetzung von WooCommerce mal der Fall, da All %s mit Alle s übersetzt worden war und damit zur Ausführung der Funktion sprintf() der Format-Platzhalter fehlte – %s ist ein Platzhalter, s ist einfach nur ein Buchstabe. So wird es ja auch in der Fehlermeldung beschrieben: „Missing format specifier at end of string“. Abhilfe war, die Übersetzungsdatei zu löschen bzw. auf die neueste Version zu aktualisieren.

    Der Fehler kann in allen Plugins und Themes auftauchen, sobald ein Übersetzer einen Flüchtigkeitsfehler macht.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)