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

Aug. 19, 2025 | WordPress

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.

🔴 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
⚠️ Wichtig: Diese Fehler treten auf, weil das WCVA Plugin veraltete WooCommerce-Methoden verwendet, die in neueren Versionen nicht mehr existieren.

🔍 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

  1. Leeren Sie den WordPress-Cache (falls Cache-Plugin aktiv)
  2. Leeren Sie den Browser-Cache
  3. Testen Sie den Admin-Login
  4. Prüfen Sie die Produktseiten
✅ Erfolg: Nach diesen Änderungen sollte Ihre Website wieder vollständig funktionieren!

📌 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

⭐⭐⭐⭐⭐ 5.0 Bewertung
Freemium

Highlights:

  • Sehr aktive Entwicklung
  • Moderne Codebasis
  • Regelmäßige Updates
  • Deutscher Support

WooCommerce Variation Swatches

by GetWooPlugins

⭐⭐⭐⭐⭐ 4.9 Bewertung
Kostenlos

Highlights:

  • Leichtgewichtig
  • Gute Performance
  • Einfache Bedienung
  • Keine Bloatware

YITH WooCommerce Color and Label Variations

by YITH

⭐⭐⭐⭐ 4.5 Bewertung
Premium

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!