Support » WooCommerce » Fehler vom Typ E_ERROR in woocommerce/includes/class-wc-post-types.php

  • Gelöst aktivbuerger

    (@aktivbuerger)


    Hallo,

    da der Thread https://de.wordpress.org/support/topic/fataler-error-bei-php-8-0-update-in-woocommerce/ schon geschlossen wurde, muss ich leider einen neuen zum gleichen Thema eröffnen. Wir hatten gestern exakt den selben Fehler:
    Ein Fehler vom Typ E_ERROR wurde in der Zeile 234 der Datei /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php verursacht. Fehlermeldung: Uncaught ValueError: Missing format specifier at end of string in /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php:234
    Stack trace:
    #0 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php(234): sprintf()
    #1 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-includes/class-wp-hook.php(324): WC_Post_Types::register_taxonomies()
    #2 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
    #3 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-includes/plugin.php(517): WP_Hook->do_action()
    #4 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-settings.php(695): do_action()
    #5 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-config.php(129): require_once('...')
    #6 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-load.php(50): require_once('...')
    #7 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-admin/admin-ajax.php(22): require_once('...')
    #8 {main}
      thrown

    Wir haben das Plugin WooCommerce via FTP deaktiviert, dann die Plugin-Daten von einem Testsystem kopiert. Dennoch lässt sich WooCommerce jetzt nicht mehr wegen eines „fatalen Fehler“ aktivieren.

    Wie im verlinkten Thread haben auch wir das Plugin LocoTranslate, aber nicht aktiviert.

    Weiß hier zufällig jemand Rat?

    Dank & Gruß,
    Regina

    Hier der aktuelle Website-Bericht:

    ` wp-core
    
    version: 6.5.2
    site_language: de_DE
    user_language: de_DE
    timezone: Europe/Berlin
    permalink: /%postname%/
    https_status: true
    multisite: false
    user_registration: 0
    blog_public: 1
    default_comment_status: undefined
    environment_type: production
    user_count: 31
    dotorg_communication: true wp-paths-sizes
    
    wordpress_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress
    wordpress_size: 1,93 GB (2072421618 bytes)
    uploads_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/uploads
    uploads_size: 1,80 GB (1928701249 bytes)
    themes_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/themes
    themes_size: 75,71 MB (79391014 bytes)
    plugins_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins
    plugins_size: 225,27 MB (236215936 bytes)
    database_size: 531,77 MB (557605693 bytes)
    total_size: 4,54 GB (4874335510 bytes) wp-active-theme
    
    name: Osmosis Child (osmosis-child)
    version: 3.2.8
    author: Greatives Team
    author_website: http://greatives.eu
    parent_theme: Osmosis (osmosis)
    theme_features: core-block-patterns, widgets-block-editor, automatic-feed-links, post-thumbnails, post-formats, title-tag, customize-selective-refresh-widgets, align-wide, editor-styles, editor-style, yoast-seo-breadcrumbs, editor-color-palette, menus, widgets
    theme_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/themes/osmosis-child
    auto_update: Deaktiviert wp-parent-theme
    
    name: Osmosis (osmosis)
    version: 4.5.3
    author: Greatives Team
    author_website: https://greatives.eu
    theme_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/themes/osmosis
    auto_update: Deaktiviert wp-themes-inactive (2)
    
    Twenty Twenty-Four: version: 1.1, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-Three: version: 1.4, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert wp-mu-plugins (3)
    
    Health Check Troubleshooting Mode: author: (undefined), version: 1.7.2
    WPNewsman Pro - Worker Stability Enhancement: version: 1.0.7, author: Alex Ladyga - G-Lock Software
    WP STAGING Optimizer: version: 1.5.5, author: WP STAGING wp-plugins-active (39)
    
    batch-move: version: 1.5, author: CS ABS-Hosting.nl/Walchum.net, Automatische Aktualisierungen deaktiviert
    Broken Link Checker: version: 2.2.4, author: WPMU DEV, Automatische Aktualisierungen aktiviert
    Caldera Forms: version: 1.9.7, author: Caldera Forms, Automatische Aktualisierungen deaktiviert
    Caldera Forms Simple Captcha Field: version: 1.0.0, author: David Cramer for CalderaWP, Automatische Aktualisierungen deaktiviert
    Category Posts Widget: version: 4.9.16, author: TipTopPress, Automatische Aktualisierungen deaktiviert
    Classic Editor: version: 1.6.3, author: WordPress Contributors, Automatische Aktualisierungen aktiviert
    Classic Widgets: version: 0.3, author: WordPress Contributors, Automatische Aktualisierungen deaktiviert
    Connector to CiviCRM with CiviMcRestFace: version: 1.0.8, author: Rich Lott (Artfulrobot), Jaap Jansma (CiviCooP), Automatische Aktualisierungen deaktiviert
    Cookie Notice & Compliance for GDPR / CCPA: version: 2.4.16, author: Hu-manity.co, Automatische Aktualisierungen aktiviert
    Custom Sidebars: version: 3.36, author: WebFactory Ltd, Automatische Aktualisierungen aktiviert
    Envato Market: version: 2.0.11, author: Envato, Automatische Aktualisierungen deaktiviert
    Feed Them Social - Page, Post, Video and Photo Galleries: version: 4.2.7, author: SlickRemix, Automatische Aktualisierungen deaktiviert
    G-Lock WPNewsman Lite: version: 1.9.0, author: Alex Ladyga - G-Lock Software, Automatische Aktualisierungen deaktiviert
    Google Analytics for WordPress by MonsterInsights: version: 8.26.0, author: MonsterInsights, Automatische Aktualisierungen deaktiviert
    Health Check & Troubleshooting: version: 1.7.0, author: The WordPress.org community, Automatische Aktualisierungen aktiviert
    Integration of CiviCRM's Form Processor with Caldera Forms: version: 1.0.1, author: Jaap Jansma, Automatische Aktualisierungen aktiviert
    List category posts: version: 0.89.8, author: Fernando Briano, Automatische Aktualisierungen aktiviert
    Max Mega Menu: version: 3.3.1, author: megamenu.com, Automatische Aktualisierungen deaktiviert
    Osmosis Extension: version: 4.5.2, author: Greatives Team, Automatische Aktualisierungen deaktiviert
    PDF & Print by BestWebSoft: version: 2.3.6, author: BestWebSoft, Automatische Aktualisierungen deaktiviert
    PHP Compatibility Checker: version: 1.6.3, author: WP Engine, Automatische Aktualisierungen deaktiviert
    Protect the Children!: version: 1.4.0, author: Miller Media (Matt Miller), Automatische Aktualisierungen aktiviert
    Redirection: version: 5.4.2, author: John Godley, Automatische Aktualisierungen aktiviert
    Simple Redirect: version: 4.0.5, author: Get on Social, Automatische Aktualisierungen aktiviert
    Slider Revolution: version: 6.7.1, author: ThemePunch, Automatische Aktualisierungen deaktiviert
    TinyPNG - JPEG, PNG & WebP image compression: version: 3.4.3, author: TinyPNG, Automatische Aktualisierungen aktiviert
    UpdraftPlus - Backup/Restore: version: 1.24.2, author: UpdraftPlus.Com, DavidAnderson, Automatische Aktualisierungen aktiviert
    Visualizer: Tables and Charts for WordPress: version: 3.10.13, author: Themeisle, Automatische Aktualisierungen deaktiviert
    Wordfence Security: version: 7.11.5, author: Wordfence, Automatische Aktualisierungen aktiviert
    WP All Export: version: 1.4.3, author: Soflyy, Automatische Aktualisierungen aktiviert
    WP All Import: version: 3.7.4, author: Soflyy, Automatische Aktualisierungen deaktiviert
    WPBakery Page Builder: version: 7.6, author: Michael M - WPBakery.com, Automatische Aktualisierungen deaktiviert
    WPBakery Page Builder Clipboard: version: 5.0.4, author: bitorbit, Automatische Aktualisierungen deaktiviert
    WPForms Lite: version: 1.8.8.2, author: WPForms, Automatische Aktualisierungen aktiviert
    WP Mail SMTP: version: 4.0.1, author: WP Mail SMTP, Automatische Aktualisierungen aktiviert
    WP Multi Store Locator Pro: version: 4.4, author: WpExpertsio, Automatische Aktualisierungen deaktiviert
    WP STAGING WordPress Backup Plugin - Backup Duplicator & Migration: version: 3.5.0, author: WP-STAGING, WPStagingBackup, Automatische Aktualisierungen deaktiviert
    Yoast Duplicate Post: version: 4.5, author: Enrico Battocchi & Team Yoast, Automatische Aktualisierungen aktiviert
    Yoast SEO: version: 22.5, author: Team Yoast, Automatische Aktualisierungen aktiviert wp-plugins-inactive (10)
    
    Autoptimize: version: 3.1.11, author: Frank Goossens (futtta), Automatische Aktualisierungen deaktiviert
    Enable jQuery Migrate Helper: version: 1.4.0, author: The WordPress Team, Automatische Aktualisierungen deaktiviert
    eRecht24 Safe Sharing: version: 2.0.22, author: eRecht24.de, Jan-Peter Lambeck & 3UU, Automatische Aktualisierungen aktiviert
    Events Manager: version: 6.4.7.3, author: Pixelite, Automatische Aktualisierungen aktiviert
    Events Manager Pro: version: 2.6.7.2, author: NetWebLogic, Automatische Aktualisierungen aktiviert
    Feed Them Social Premium: version: 1.7.6, author: SlickRemix, Automatische Aktualisierungen deaktiviert
    Google Analytics Opt-Out: version: 2.3.6, author: WP-Buddy, Automatische Aktualisierungen aktiviert
    Loco Translate: version: 2.6.7, author: Tim Whitlock, Automatische Aktualisierungen deaktiviert
    Print-O-Matic: version: 2.1.10, author: twinpictures, Automatische Aktualisierungen deaktiviert
    WooCommerce: version: 8.8.2, author: Automattic, Automatische Aktualisierungen deaktiviert wp-media
    
    image_editor: WP_Image_Editor_Imagick
    imagick_module_version: 1693
    imagemagick_version: ImageMagick 6.9.13-8 Q16 x86_64 18353 https://legacy.imagemagick.org
    imagick_version: 3.7.0
    file_uploads: 1
    post_max_size: 75M
    upload_max_filesize: 50M
    max_effective_size: 50 MB
    max_file_uploads: 20
    imagick_limits:
    imagick::RESOURCETYPE_AREA: 439 GB
    imagick::RESOURCETYPE_DISK: 9.2233720368548E+18
    imagick::RESOURCETYPE_FILE: 786432
    imagick::RESOURCETYPE_MAP: 219 GB
    imagick::RESOURCETYPE_MEMORY: 110 GB
    imagick::RESOURCETYPE_THREAD: 1
    imagick::RESOURCETYPE_TIME: 0
    imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FLV, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
    gd_version: 2.3.3
    gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM
    ghostscript_version: 9.27 wp-server
    
    server_architecture: Linux 4.18.0-513.24.1.el8_9.x86_64 x86_64
    httpd_software: Apache
    php_version: 8.0.30 64bit
    php_sapi: fpm-fcgi
    max_input_variables: 1500
    time_limit: 0
    memory_limit: 256M
    max_input_time: 60
    upload_max_filesize: 50M
    php_post_max_size: 75M
    curl_version: 7.61.1 OpenSSL/1.1.1k
    suhosin: false
    imagick_availability: true
    pretty_permalinks: true
    htaccess_extra_rules: true
    current: 2024-04-25T08:29:51+00:00
    utc-time: Thursday, 25-Apr-24 08:29:51 UTC
    server-time: 2024-04-25T10:29:50+02:00 wp-database
    
    extension: mysqli
    server_version: 10.4.33-MariaDB
    client_version: mysqlnd 8.0.30
    max_allowed_packet: 64000000
    max_connections: 400 wp-constants
    
    WP_HOME: undefined
    WP_SITEURL: undefined
    WP_CONTENT_DIR: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content
    WP_PLUGIN_DIR: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins
    WP_MEMORY_LIMIT: 512M
    WP_MAX_MEMORY_LIMIT: 256M
    WP_DEBUG: false
    WP_DEBUG_DISPLAY: true
    WP_DEBUG_LOG: false
    SCRIPT_DEBUG: false
    WP_CACHE: false
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_ENVIRONMENT_TYPE: Nicht definiert
    WP_DEVELOPMENT_MODE: undefined
    DB_CHARSET: utf8mb4
    DB_COLLATE: undefined wp-filesystem
    
    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    mu-plugins: writable
    0: Writable redux-framework
    
    version: 4.4.9
    installation: in_theme
    data directory: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/themes/osmosis/includes/framework/ redux-instance-grve_osmosis_options
    
    opt_name: grve_osmosis_options
    global_variable: grve_osmosis_options
    dev_mode: false
    ajax_save: true
    page_slug: grve_options
    page_permissions: manage_options
    menu_type: submenu
    page_parent: themes.php
    compiler: true
    output: true
    output_tag: true
    templates_path: /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/themes/osmosis/includes/admin/templates/panel
    extensions:
    Accordion: 4.3.16
    Custom Fonts: 4.4.2
    Customizer: 4.4.2
    Datetime: 4.3.15
    Icon Select: 4.4.2
    Import Export: 4.0.0
    Js Button: 4.3.16
    Metaboxes: 4.2.0
    Multi Media: 4.4.1
    Options Object: 4.0.0
    Repeater: 4.3.13
    Search: 3.4.5
    Shortcodes: 4.3.6
    Taxonomy: 4.4.6
    Users: 4.4.1 wp_mail_smtp
    
    version: 4.0.1
    license_key_type: lite
    debug: Keine Debug-Hinweise gefunden.
    lite_install_date: Apr 23, 2021 @ 10:39am wpforms
    
    version: 1.8.8.2
    lite: 30. Juli 2019 um 14:36 Uhr
    upload_dir: Beschreibbar
    total_forms: undefined
    total_submissions: undefined

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

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)
  • da der Thread https://de.wordpress.org/support/topic/fataler-error-bei-php-8-0-update-in-woocommerce/ schon geschlossen wurde …

    Unsere Forensoftware schließt automatisch nach einer bestimmten Frist Threads, damit nachgeschobene Fragen nicht untergehen. Es ist aber sowieso besser, wenn du einen neuen Thread startest.

    Fehlermeldung: Uncaught ValueError: Missing format specifier at end of string …
    #0 … class-wc-post-types.php(234): sprintf()

    bedeutet, dass einer Funktion sprintf() zur formatierten Ausgabe eines Textes ein Parameter unvollständig übermittelt wurde. Oder einfacher ausgedrückt: wo im Quelltext %s stand, hat der Übersetzer nur % oder nur s geschrieben, womit aus einem Platzhalter einfacher Text wird. Die Übersetzung muss gar nicht mit Loco Translate selbst erstellt worden sein.

    Probier doch bitte mal, per FTP unter wp-content/languages/plugins/ die Übersetzungsdateien woocommerce-de_DE* zu löschen. Du solltest dich dann wieder anmelden können und unter Dashboard > Aktualisierungen ein Update der Übersetzung angeboten bekommen. Wenn nach Installation des Updates erneut ein Fehler auftritt, ist der Übersetzungsfehler noch nicht behoben. Dann musst du die Übersetzungsdateien erneut löschen und erst einmal ohne Übersetzung auskommen.

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Hallo @pixolin,

    vielen Dank für die Hilfe und die Erklärungen.

    Die Aktualisierungen der Übersetzungen werden angezeigt und geladen, aber danach kann ich das WooCommerce-Plugin immer noch nicht aktivieren: „Das Plugin kann nicht aktiviert werden, da es einen fatalen Fehler erzeugt.

    Macht es Sinn das Plugin ganz neu zu installieren und dann die alten Daten in das Verzeichnis zu kopieren?

    Dank & Gruß,
    Regina

    Ich hatte das anders beschrieben:

    1. Übersetzungsdateien löschen
    2. WooCommerce aktivieren – ohne die Übersetzungen vorher neu zu laden!
    3. Wenn 2. geklappt hat, versuchen, die Übersetzung zu aktualisieren.
    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Es funktioniert leider auch in der Reihenfolge nicht.

    Andere Idee: Wenn ich die PHP-Version von 8 zurücksetze auf 7.x, birgt das Gefahren für andere Plugins oder das ganze System? Der Fehler scheint ja mit PHP 8.0 in Zusammenhang zu stehen.

    Dank & Gruß,
    Regina

    • Diese Antwort wurde geändert vor 3 Wochen, 2 Tage von aktivbuerger.

    Der Fehler liegt nicht in der PHP-Version. Bei PHP 8 werden Fehler allerdings weniger tollerant behandelt. Ich würde sogar eher auf PHP 8.2 upgraden, da PHP 8.0 von offizieller Stelle nicht mehr mit Sicherheits-Updates versorgt werden. (Es ist aber durchaus denkbar, dass Provider Sicherheits-Patches einspielen.)

    Du bekommst bei der Fehlermeldung

    #0 /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php(234): sprintf(?)

    an der Stelle des von mir eingefügten Fragezeichen aber auch keine Zeichenkette angezeigt?

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Nö, da steht wirklich nur „sprintf()“.

    Moderator Bego Mario Garde

    (@pixolin)

    Ich habe das vorhin nochmal in einer Testumgebung nachgebaut und bekomme bei einer fehlerhaften Übersetzung („All %s“→“Alle %“) genau die gleiche Fehlermeldung. Durch Löschen der Sprachdateien wp-content/languages/plugins/woocommerce-de_DE.po und wp-content/languages/plugins/woocommerce-de_DE.mo verschwindet die Fehlermeldung wieder. Es kann natürlich sein, dass du z.B. mit Loco Translate weitere Übersetzungsdateien angelegt hast. Ein möglicher Lösungsweg wäre dann, alle Dateien und Unterverzeichnisse in wp-content/languages zu löschen und zu testen, ob damit der Fehler verschwindet. Die Sprachdateien können anschließend über Dashboard > Aktualisierungen wieder installiert werden.

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Ich habe jetzt auch alle Übersetzungsdateien mit „locotranslate“ im Namen gelöscht, zusätzlich noch mal die mit „woocommerce“ im Namen.

    Leider ließ sich auch jetzt nicht das Plugin „WooCommerce“ aktivieren.

    Dann habe ich wie empfohlen *alle* Dateien in dem oben genannten Ordner gelöscht. Das Plugin ließ sich zwar installieren, aber ich bekam einen Whitescreen mit Fehlermeldung und alles war down (Backend und Frontend). Ich musste „WooCommerce“ also erneut via FTP ausschalten.

    • Diese Antwort wurde geändert vor 3 Wochen, 1 Tag von aktivbuerger.
    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Es kam wieder die Mail mit dem Fehlerhinweis:
    "Ein Fehler vom Typ E_ERROR wurde in der Zeile 234 der Datei /kunden/141429_10117/webseiten/aktive-buergerschaft/wordpress/wp-content/plugins/woocommerce/includes/class-wc-post-types.php verursacht."

    Die Zeile lautet:
    "'all_items' => sprintf( __( 'All %s', 'woocommerce' ), $label ),"

    Macht es Sinn diese Zeile mit /* auszukommentieren?

    Moderator Bego Mario Garde

    (@pixolin)

    Die Funktion sprintf() dient der formatierten Ausgabe einer Variable. Beispiel:

    $anzahl = 42;
    $ausgabe = sprintf( '%s Produkte', $anzahl );
    echo $ausgabe; // Ausgabe: 42 Produkte

    In der genannten Programmierzeile wird außerdem eine Übersetzungsfunktion verwendet, mit der ein Begriff entsprechend der Übersetzungsdatei für das Plugin woocommerce ersetzt wird. Beispiel:

    $uebersetzung = __( 'products', 'woocommerce' );
    echo $uebersetzung; // Ausgabe: Produkte

    Zusammen ergibt das eine formatierte Ausgabe einer Variable, bei der eine Zeichenkette übersetzt wird:

    'all_items' => sprintf( __( 'All %s', 'woocommerce' ), $label ), …
    
    // Weist der Variablen $labels['all_items'] die 
    // Zeichenkette "Alle %s" zu.

    Der von dir geschilderte Fehler tritt auf, wenn die Übersetzung fehlerhaft ist und statt einem Platzhalter %s nur ein Prozentzeichen % enthält. Dann wird aus der Zeile

    'all_items' => sprintf( 'Alle %', $label ), 

    womit die Funktion sprintf() die Variable $label nicht ausgeben kann (es fehlt der Platzhalter `%s). Das führt zu einer Fehlermeldung Missing format specifier at end of string – auf Deutsch sinngemäß „fehlender Platzhalter am Ende der Zeichenkette“.

    Da der Fehler also an der Übersetzung liegt, müssen alle Übersetzungen entfernt werden. Das sind insbesondere die Übersetzung für WooCommerce und WooCommerce-AddOns, alle eigenen Übersetzungen (z.B. Loco Translate) oder Anpassungen der Übersetzung z.B. in der functions.php des Themes.

    Wenn du den kompletten Inhalt des Verzeichnisses wp-content/languages geleert hast und der Fehler weiterhin auftritt, kann ich mir das nur mit einem Eintrag in der functions.php erklären – oder es wurde irgendwas anderes übersehen.

    Zur Fehlersuche kannst auch versuchen, die Zeile 234 in der Datei wp-content/plugins/woocommerce/includes/class-wc-post-types.php durch zwei am Anfang der Zeile eingefügte Schrägstriche auszukommentieren:

    …                                                        /* translators: %s: attribute name */
    // 'all_items'         => sprintf( __( 'All %s', 'woocommerce' ), $label ),
    /* translators: %s: attribute name */
    'parent_item'       => sprintf( __( 'Parent %s', 'woocommerce' ), $label ),
    …   

    Das wird aber spätestens beim nächsten Update wieder überschrieben.

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Vielen Dank für deine Mühe, @pixolin!

    Ich habe alles im Verzeichnis wp-content/languages gelöscht und konnte danach das Plugin aktivieren, sogar ohne Systemabsturz.
    Dann habe ich die Übersetzungen aktualisiert und WooCommerce war wieder off, diesmal mit der (neuen) Meldung: „Das Plugin _woocommerce/woocommerce.php wurde aufgrund eines Fehlers deaktiviert: Diese Plugindatei existiert nicht.

    Das Verzeichnis mit dem Unterstrich war die deaktivierte Version, die aktuell nicht mehr existiert. Die PHP-Datei ist im regulären Ordner vorhanden. Wo ist da mein Denk- oder Ablauffehler?

    Dank & Gruß
    Regina

    Wenn ein Plugin einen Programmierfehler hat, ist das Backend von WordPress nicht erreichbar. Der erste Schritt, um wieder arbeiten zu können, ist deshalb, das Plugin ohne Zugriff auf das Backend zu deaktivieren, wodurch sich der Programmierfehler nicht mehr bermerkbar macht.

    Um ein Plugin ohne Zugriff auf das Plugin-Menü im Backend zu deaktivieren, kannst du das Verzeichnis wp-content/plugins oder das Unterverzeichnis mit dem Plugin, hier also wp-content/plugins/woocommerce umbenennen. WordPress findet das Plugin nicht an der bisherigen Stelle und deaktiviert das Plugin. Du kannst dich wieder anmelden und weiterarbeiten.

    Der nächste Schritt ist, das Verzeichnis wieder in wp-content/plugins/woocommerce zu benennen und dann mit weiterhin deaktiviertem Plugin im Menü Plugins zu prüfen, ob es vielleicht schon ein Update gibt, dass einen Programmierfehler behebt. Anschließend kann erneut getestet werden, ob der Fehler weiterhin auftritt, wenn das Plugin wieder aktiviert wird.

    Wahrscheinlich hast du das Plugin-Verzeichnis in wp-content/plugins/_woocommerce umbenannt, dann bereits das Plugin wieder aktiviert und erst danach die Umbenennung rückgängig gemacht? In dem Fall hat WordPress in der Datenbank eingetragen, dass das Plugin WooCommerce unter wp-content/plugins/_woocommerce zu finden ist und reklamiert anschließend, dass es das Plugin dort nicht mehr findet und es deshalb deaktiviert hat. Deshalb solltest du nochmal prüfen, ob der Pfadname des Verzeichnisses wieder stimmt und dann das Plugin erneut aktivieren.

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    So, ich bin einen kleinen Schritt weiter gekommen und konnte das Plugin ohne Fehlermeldung aktivieren. Dann gab es sogar gleich ein neues Update, das ich eingespielt habe, aktuell also Version 8.8.3

    Nur ist der Shop jetzt nicht erreichbar. So führt die Adresse /shop auf die Startseite zurück, obwohl im Backend alles korrekt eingestellt ist. Muss ich da noch was aktivieren?

    Ich glaube es ist nicht mehr weit zum Happy-End …

    Thread-Starter aktivbuerger

    (@aktivbuerger)

    Update: Der Shop ist wieder da, allerdings unter einer veränderten Adresse – https://www.aktive-buergerschaft.de/warenkorb/shop/ statt https://www.aktive-buergerschaft.de/shop/

    Ich möchte noch ein wenig abwarten, ob der Zustand stabil bleibt, bevor ich mich richtig freue, bedanke und versuche den Lösungsweg nachzuverfolgen.

    Dazu kannst du die Einstellungen in WooCommerce > Einstellungen > Erweitert bei Seiteneinrichtung durchgehen.

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)