WordPress Fatal Error: WooCommerce Color/Image Variation Select Plugin reparieren (2025)

WordPress Fatal Error: WooCommerce Color/Image Variation Select Plugin reparieren (2025)
Ein kritischer Fehler nach einem WordPress-Update kann schnell zum Albtraum werden – besonders wenn der Admin-Zugang blockiert ist und die Produktseiten nicht mehr funktionieren. In diesem Artikel zeige ich Ihnen, wie Sie den Fatal Error im beliebten WCVA (WooCommerce Color/Image Variation Select) Plugin beheben können.
📋 Inhaltsverzeichnis
🔴 Das Problem: Kritischer Fehler nach WordPress 6.7 Update
Nach dem Update auf WordPress 6.7 kann es bei älteren WooCommerce-Plugins zu kritischen Fehlern kommen. Besonders betroffen sind Shops, die das WooCommerce Color/Image Variation Select (WCVA) Plugin verwenden.
Symptome:
- ❌ „Es gab einen kritischen Fehler auf deiner Website“
- ❌ WordPress-Admin nicht mehr erreichbar
- ❌ WooCommerce-Produktseiten zeigen Fehler 500
- ❌ Varianten-Auswahl funktioniert nicht mehr
🔍 Ursachenanalyse: Was ist schiefgelaufen?
Die Fehleranalyse zeigt zwei Hauptprobleme:
Fehler 1: Undefined method get_attribute_taxonomies()
💡 Tipp: Code markieren und mit Strg+C kopieren
PHP Fatal error: Call to undefined method WooCommerce::get_attribute_taxonomies() in .../woocommerce-colororimage-variation-select/classes/class_attribute_global_values.php:32
Ursache: Das Plugin verwendet die alte Methode $woocommerce->get_attribute_taxonomies()
, die in neueren WooCommerce-Versionen durch wc_get_attribute_taxonomies()
ersetzt wurde.
Fehler 2: Call to member function on null
💡 Tipp: Code markieren und mit Strg+C kopieren
PHP Fatal error: Call to a member function attribute_label() on null in .../woocommerce-colororimage-variation-select/woocommerce/single-product/add-to-cart/variable.php:95
Ursache: Die globale Variable $woocommerce
ist nicht definiert, da moderne WooCommerce-Versionen stattdessen die Funktion WC()
verwenden.
✅ Schritt-für-Schritt Lösung
Schritt 1: Zugang via FTP/Dateimanager
Da der WordPress-Admin nicht erreichbar ist, benötigen Sie FTP-Zugang oder Zugriff über den Dateimanager Ihres Hosting-Providers.
Schritt 2: class_attribute_global_values.php reparieren
Dateipfad: /wp-content/plugins/woocommerce-colororimage-variation-select/classes/class_attribute_global_values.php
Suchen Sie Zeile 27-32 (die Funktion wcva_setup_texonomy_based_fields) und ersetzen Sie diese durch:
📝 Code-Fix #1: Zeile 27-32 ersetzen
public function wcva_setup_texonomy_based_fields(){ // Kompatibilität mit allen WooCommerce Versionen $createdattributes = array(); // Prüfe ob WooCommerce aktiv ist if (!class_exists('WooCommerce') && !function_exists('WC')) { return; } // Moderne Methode (WooCommerce 2.1+) if (function_exists('wc_get_attribute_taxonomies')) { $createdattributes = wc_get_attribute_taxonomies(); } // Fallback für alte Versionen elseif (class_exists('WooCommerce')) { global $woocommerce; if (isset($woocommerce) && method_exists($woocommerce, 'get_attribute_taxonomies')) { $createdattributes = $woocommerce->get_attribute_taxonomies(); } } // Zusätzlicher Fallback: Direkt aus der Datenbank if (empty($createdattributes)) { global $wpdb; $table_name = $wpdb->prefix . 'woocommerce_attribute_taxonomies'; if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name) { $createdattributes = $wpdb->get_results(" SELECT * FROM {$table_name} WHERE attribute_name != '' ORDER BY attribute_name ASC "); } } // Stelle sicher, dass wir ein Array haben if (!is_array($createdattributes)) { $createdattributes = array(); } // Rest der Original-Funktion folgt hier... foreach ($createdattributes as $attribute) { // Original-Code beibehalten } }
Schritt 3: variable.php reparieren
Dateipfad: /wp-content/plugins/woocommerce-colororimage-variation-select/woocommerce/single-product/add-to-cart/variable.php
Fügen Sie nach Zeile 12 ein:
📝 Code-Fix #2: Nach Zeile 12 einfügen
global $product, $post, $woocommerce; // Stelle sicher dass $woocommerce definiert ist if (!isset($woocommerce) && function_exists('WC')) { $woocommerce = WC(); }
Ersetzen Sie die Zeilen 93-97 durch:
📝 Code-Fix #3: Zeilen 93-97 ersetzen
// Sichere Methode für alle WooCommerce Versionen if (function_exists('wc_attribute_label')) { // Moderne Methode (WooCommerce 2.1+) $labeltext = wc_attribute_label( $attribute_name ); } elseif (isset($woocommerce) && method_exists($woocommerce, 'attribute_label')) { // Alte Methode (WooCommerce < 2.1) $labeltext = $woocommerce->attribute_label( $attribute_name ); } else { // Fallback $labeltext = ucfirst(str_replace('pa_', '', $attribute_name)); }
Schritt 4: Cache leeren und testen
- Leeren Sie den WordPress-Cache (falls Cache-Plugin aktiv)
- Leeren Sie den Browser-Cache
- Testen Sie den Admin-Login
- Prüfen Sie die Produktseiten
📌 Zusätzliche Textdomain-Warnungen beheben
Nach der Reparatur können noch unkritische Warnungen auftreten:
⚠️ Unkritische Warnung
Function _load_textdomain_just_in_time was called incorrectly
Diese Warnungen sind nicht kritisch! Sie können sie ausblenden durch:
Option 1: Debug-Modus deaktivieren (wp-config.php)
📝 In wp-config.php einfügen
define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );
Option 2: Must-Use Plugin erstellen
Erstellen Sie die Datei /wp-content/mu-plugins/fix-textdomain-notices.php:
📝 Als neue Datei speichern
<?php /** * Plugin Name: Fix Textdomain Loading Notices */ add_filter('doing_it_wrong_trigger_error', function($trigger, $function, $message) { if ($function === '_load_textdomain_just_in_time') { if (strpos($message, 'wcva') !== false || strpos($message, 'woocommerce-payments') !== false) { return false; } } return $trigger; }, 10, 4);
🔄 Alternative Plugins (Empfehlung)
Da das WCVA Plugin offensichtlich nicht mehr aktiv gepflegt wird, empfehlen wir den Wechsel zu einer modernen Alternative:
Variation Swatches for WooCommerce
by Emran Ahmed
Highlights:
- Sehr aktive Entwicklung
- Moderne Codebasis
- Regelmäßige Updates
- Deutscher Support
WooCommerce Variation Swatches
by GetWooPlugins
Highlights:
- Leichtgewichtig
- Gute Performance
- Einfache Bedienung
- Keine Bloatware
YITH WooCommerce Color and Label Variations
by YITH
Highlights:
- Umfangreiche Features
- Professioneller Support
- YITH Ecosystem
- Viele Anpassungsoptionen
💡 Fazit
Der Fatal Error im WCVA Plugin ist ein typisches Beispiel für Kompatibilitätsprobleme nach WordPress-Updates. Mit den gezeigten Anpassungen können Sie das Problem schnell lösen und Ihren Shop wieder zum Laufen bringen.
Wichtigste Erkenntnisse:
- ✅ Veraltete Plugin-Methoden sind häufige Fehlerquellen
- ✅ Mit Fallback-Mechanismen erhöhen Sie die Kompatibilität
- ✅ Regelmäßige Backups sind unverzichtbar
- ✅ Ein Wechsel zu aktiv gepflegten Plugins lohnt sich langfristig
💻 Code-Kopier-Tipp
Um den Code zu kopieren, markieren Sie ihn einfach mit der Maus und drücken Sie:
- Windows/Linux: Strg + C
- Mac: Cmd + C
- Alternativ: Rechtsklick → Kopieren
🤝 Benötigen Sie professionelle Hilfe?
Als erfahrene WordPress-Entwickler helfen wir Ihnen gerne bei:
- Plugin-Kompatibilitätsproblemen
- WooCommerce-Optimierungen
- Performance-Verbesserungen
- Sicherheits-Updates
Kontaktieren Sie uns für eine kostenlose Erstberatung!