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!