Über dieses Plugin

Der IDF Woo Attribute Filter stellt einen Shortcode bereit, mit dem WooCommerce-Produkte im Frontend nach Attributen gefiltert werden können. Die Filterung erfolgt per AJAX: Die Seite wird nicht neu geladen. Ein zweiter Shortcode gibt die Attributwerte eines Produkts als Balken aus, damit Kunden technische Kennwerte in der Produktkarte vergleichen können. Im Admin-Bereich lassen sich die angezeigten Attribute per Toggle aktivieren und deaktivieren. Entwickelt von der Ideenfabrik GmbH, nutzt das Plugin das Avada Post Card Template für die Produktdarstellung.

Features

  • Filter-Shortcode: Rendert Checkboxen für aktivierte WooCommerce-Attribute auf Shop- und Kategorie-Seiten.
  • AJAX-Filterung: Produktliste aktualisiert sich ohne Seiten-Reload. Mehrere Werte pro Attribut werden mit ODER, verschiedene Attribute mit UND verknüpft.
  • Balken-Shortcode: Gibt die Kennwerte eines Produkts als Balken statt als Zahlenkolonne aus. Die Balkenlänge kommt aus dem Term-Slug; Werte ohne ableitbare Zahl erscheinen als Badge.
  • Attribut-Verwaltung: Admin-UI mit Status-Übersicht und Toggle-Schaltern zum Aktivieren/Deaktivieren einzelner Attribute.
  • Avada-Integration: Nutzt das Avada Post Card Template für konsistente Produktdarstellung. Die Balkenfarbe folgt ohne Zutun der Avada-Primärfarbe.
  • IDF-Home-Anbindung: Automatische Updates über IDF Home.
  • Hilfe-Seite: Bedienungsanleitung, Shortcode-Referenz mit allen Parametern und technische Details direkt im WordPress-Admin.
  • Dependency-Check: Automatische Prüfung, ob WooCommerce aktiv ist. Klare Admin-Hinweise bei fehlenden Abhängigkeiten.
  • Migration: Automatische Übernahme von Einstellungen aus älteren Plugin-Versionen.

Changelog

v2.34.1

Geaendert

  • Masse nach Zahlen statt nach Flaeche. Die Pillen unter Masse standen nach Breite mal Hoehe, 70x61 also zwischen 90x45 und 90x50. Jetzt entscheidet die erste Zahl und bei gleicher die zweite: 70x61, 70x90, 72x100, 77x40, 77x45 bis 100x100. Ein neues Mass steht damit von selbst an seiner Stelle, ohne dass jemand die Term-Sortierung pflegt.
  • Die Erkennung gibt Massen dafuer zwei Stufen, Breite und Hoehe, und Pillen ohne Achse sortieren nach ihren Stufen der Reihe nach. Werte mit einer Stufe oder ohne sortieren wie bisher, die Systeme mit Regler bleiben unberuehrt. Der Reiter Filter (Groessensysteme) und filter-pruefen zeigen die Masse in derselben Folge.

v2.34.0

Neu

  • Nach Produktkategorien filtern. product_cat steht jetzt im Reiter Filter in derselben Liste wie Attribute und Marken, sortierbar und mit Darstellung Pille oder Grafik (Kategoriebild aus WooCommerce). Die Auswahl steht wie gewohnt in der Adresse (?filter_product_cat=hosen).
  • Eine Ebene unter der Seite. Auf einer Kategorieseite zeigt die Gruppe die Kategorien eine Ebene darunter - auf „Berufskleidung" die 15 Unterkategorien mit Produkten -, auf Seiten ohne Kategorie die oberste Ebene. Die Kategorie der Seite selbst steht nicht zur Wahl: sie traegt jedes Produkt dort und schraenkt nichts ein.
  • Unterkategorien eingeschlossen. Eine gewaehlte Kategorie findet auch Produkte, die nur an einer Kategorie darunter haengen, und gezaehlt wird ebenso - sonst fiele eine Kategorie, deren Produkte nur an Unterkategorien haengen, als leer aus der Leiste. Gilt fuer jede hierarchische Taxonomie, also auch fuer Marken mit Untermarken.
  • filter-pruefen zaehlt hierarchische Gruppen genauso; update-filter nimmt product_cat in die Liste auf.

v2.33.0

Geaendert

  • Groessenregler untereinander statt Umschalter. In v2.32.x stand je Groessengruppe nur ein Regler da, und Pillen darueber schalteten zwischen den Systemen um. Das hat verwirrt: wer seine Groesse sucht, musste erst ein System waehlen, ohne zu wissen, in welchem sie steht. Jetzt stehen alle Regler untereinander, und unter jedem steht sein System mit der Spanne („Normal: 32 bis 66").
  • Jeder Regler aendert nur seine eigenen Werte. „M bis XL" und „48 bis 52" lassen sich zugleich waehlen und sind wie alle Werte eines Attributs ODER-verknuepft. Bisher ersetzte ein Regler die ganze Gruppe.
  • Das Feld heisst jetzt Groessenregler: Abstand darunter und gilt auch zwischen den Reglern, leer weiter 20 px.
  • filter-pruefen meldet kein zuerst offenes System mehr; groessen_namen benennt die Systeme unter ihren Reglern.

Behoben

  • Das Bild der gewaehlten Farbe fehlte auf grossen Kategorien. Ab 400 Produkten gibt die Leiste keine Trefferliste mehr aus, und mit ihr fiel die Zuordnung von Produkt zu Variantenbild weg. Auf „Berufskleidung" (626 Produkte) zeigte eine gewaehlte Farbe deshalb nie ihre Variante. Die Bilder kommen jetzt auch ohne Trefferliste mit, und das Skript tauscht sie dort, ohne Karten auszublenden - welche Karte passt, entscheidet auf solchen Seiten die Hauptabfrage.
  • Die Variantenbilder holt eine Abfrage fuer alle Produkte statt wc_get_product() je Produkt und get_post_meta() je Variation. Bei 600 Produkten mit gut zwanzig Variationen waeren das sonst mehr als zehntausend Abfragen.

v2.32.1

Geaendert

  • „International" statt „Buchstaben". So heissen S, M, L und XL im Handel und auf jeder Groessentabelle; „Buchstaben" hat im Umschalter verwirrt. Ein eigener Name im Reiter Filter unter Groessensysteme gewinnt weiter. Der Schluessel bleibt buchstaben, gespeicherte Umstellungen gelten unveraendert.
  • Abstand zwischen Regler und den Pillen darunter. Masse und Einheitsgroesse standen nur mit dem Abstand der Beschriftung (auf ihre-ideenfabrik.de 10 px) unter der Spanne des Reglers und wirkten wie ein Teil davon. Neues Feld Schieberegler: Abstand zu den Pillen darunter in der Gruppe Leiste, leer heisst 20 px. Der Wert ist der ganze Abstand, nicht ein Zuschlag auf den der Beschriftung.

v2.32.0

Neu

  • Groessen als Regler, je Groessensystem. Neue Darstellung Groesse in der Spalte Darstellung im Reiter Filter. Im Attribut pa_groesse des IDF-Shops standen 84 Werte aus sieben Systemen nebeneinander - Buchstaben (XS bis 7XL), Normal (32 bis 66), untersetzt (24 bis 35), lang (68 bis 108), schlank (90 bis 114), Kragenweiten und Kindergroessen. Als Pillen war das eine Wand, als ein einziger Regler Unsinn: zwischen 3XL und 24 liegt nichts. Jetzt bekommt jedes System seinen eigenen Regler; stehen auf einer Seite mehrere, schalten Pillen darueber um. Vorausgewaehlt ist das System mit der Auswahl, sonst das mit den meisten Produkten. Bei nur einem System entfaellt der Umschalter.
  • Doppelgroessen zaehlen fuer beide Haelften. „S/M" liegt auf zwei Stufen und ist gewaehlt, sobald die Spanne eine davon beruehrt. Die Kragenweite „39/40" und die Kindergroesse „4/6" sind dagegen EINE Groesse, und „39/40 long" liegt auf derselben Stufe wie „39/40". Wo die Griffe stehen, rechnet das Skript aus der Auswahl zurueck, ohne dass die Spanne bei jedem Laden um eine Stufe waechst.
  • Erkennung am Namen, Korrektur im Reiter „Filter". Buchstaben, Kragenweiten, Kinder, Masse und Einheitsgroesse am Muster, reine Zahlen nach dem, was im Handel ueblich ist: lang = durch vier teilbar ab 68, schlank = 90, 94, 98 bis 126, untersetzt = 16 bis 31 sowie 33 und 35, normal = gerade Zahlen von 32 bis 70. Alle 96 Werte des Shops landen damit in einem System; strittig sind nur Werte, die es in zwei Systemen gibt (32 und 34 zaehlen zu normal, 68 zu lang). Unter Groessensysteme haengt man einzelne Werte um und benennt die Systeme fuer den Umschalter. Gespeichert wird nur, was abweicht - Option idf_attr_filter_groessen.
  • Masse und Einheitsgroesse haben keine Achse und stehen als Pillen unter dem Regler.
  • Ohne JavaScript stehen die Systeme untereinander, jedes mit Namen und Pillen, nach Groesse sortiert statt alphabetisch.
  • filter-pruefen zeigt bei Groessengruppen je System Achse, Werte, Produktzahl, das zuerst offene System und die umgestellten Werte. update-filter kennt groesse als Darstellung, dazu groessen (Werte umhaengen, ergaenzt die Zuordnung) und groessen_namen.

Geaendert

  • Die Achse eines Groessenreglers bleibt stehen wie bei den Zahlenwerten: gezaehlt wird im ganzen Rahmen der Seite, ohne die aktuellen Filter.
  • idf_attr_filter_zaehlen() liest aus der neuen idf_attr_filter_objekte() (Term => Produkt-IDs, weiter eine Abfrage je Taxonomie). Die Groessen brauchen die Produkte je Wert: welches System die meisten Produkte hat, laesst sich aus Zaehlern nicht ablesen - ein Poloshirt in S bis 3XL zaehlte sonst sechsmal.
  • Die neue Option geht beim Loeschen des Plugins mit, wenn der Schalter im Reiter Deinstallieren an ist, und steht in den Listen auf der DSGVO- und der Deinstallieren-Seite.

v2.31.1

Behoben

  • Ein breites Markenlogo sprengte die Reihe. Grafiken bekamen nur eine Hoehe, die Breite ergab sich aus dem Bild - bei einer Wortmarke im Verhaeltnis 6:1 waren das 193 px neben einem quadratischen Logo mit 32 px. Jetzt begrenzt eine zweite Kante die Breite, und das Bild rueckt bei Bedarf in der Hoehe zusammen, statt gestaucht zu werden; die Flaechen liegen damit ungefaehr gleichauf.
  • Neues Feld Groesste Breite in der Gruppe Grafiken der Filterleiste. Leer heisst das Zweieinhalbfache der Hoehe - der Wert, bei dem ein 6:1-Logo und ein quadratisches ungefaehr gleich gross wirken.

v2.31.0

Neu

  • Nach Marken filtern. Die Marken von WooCommerce (product_brand, seit 9.4) sind eine eigene Taxonomie und kein Attribut - nach ihnen liess sich deshalb nicht filtern, obwohl im Shop jedes Produkt eine hat. Sie stehen jetzt im Reiter Filter in derselben Liste wie die Attribute, an derselben Stelle sortierbar, und die Auswahl steht wie gewohnt in der Adresse (?filter_product_brand=id-identity). Erkannt werden auch die Marken-Taxonomien von Perfect Brands und YITH, wenn eines davon laeuft; weitere haengt der Filter idf/attribute-filter/sondertaxonomien ein.
  • Pille oder Grafik, je Gruppe. Neue Spalte Darstellung in der Attributliste: Automatisch verhaelt sich wie bisher (Farbwert wird Farbquadrat, Zahlenwerte werden Schieberegler, sonst Pille), Pille erzwingt Text, Grafik zeigt das Bild des Werts - das Markenlogo, ein Waschsymbol, ein Pruefzeichen. Gilt fuer jede Gruppe, nicht nur fuer Marken.
  • Ein Wert ohne Bild bleibt in einer Grafikreihe eine Pille mit seinem Namen. So verschwindet nichts stillschweigend, und man sieht auf der Seite, wo ein Logo fehlt.
  • Gruppe „Grafiken" bei den Design-Feldern der Leiste: Hoehe, Abstand, Innenabstand, Flaeche, Rahmen und Ecken. Leer heisst wie ueberall „wie in der Produktkarte".
  • Als drittes Bildfeld wird thumbnail_id gelesen - das Feld, an dem WooCommerce selbst die Bilder von Marken und Kategorien haelt. Ein eigens gepflegtes Bild (IDF Woo Attribute Images, Avada) gewinnt weiter.
  • Neue Ability idf-attribute-filter/update-filter: Auswahl und Darstellung der Leiste von aussen setzen. filter-pruefen zeigt dazu je Gruppe die Darstellung, wie viele Werte ein Bild haben und - bei „Grafik" - welche Werte ohne Bild als Pille erscheinen.

Geaendert

  • Die Beschriftung einer Gruppe kommt nicht mehr aus wc_attribute_label(), sondern aus der Taxonomie selbst. Ueber der Markenreihe stand sonst „product_brand".
  • Ein Schieberegler entsteht bei Marken nie, auch wenn sich aus jedem Namen eine Zahl lesen liesse (3M). Eine Markenliste ist eine Liste von Namen und keine Spanne.
  • Die Spalte „Taxonomie" in der Attributliste zeigt den echten Taxonomienamen statt eines vorangestellten pa_.

Behoben

  • Beim Loeschen des Plugins blieben zwei Optionen stehen, obwohl der Schalter im Reiter Deinstallieren an war: das Aussehen der Leiste (idf_attr_filter_leiste, seit v2.29.0) und die neue Darstellung. Beide gehen jetzt mit, und beide stehen in der Liste auf der DSGVO- und der Deinstallieren-Seite.

v2.30.0

Behoben

  • Die Achse eines Schiebereglers schrumpfte mit jeder Auswahl. Sobald ein Filter gesetzt war, blieben in den anderen Reglern nur noch die Werte uebrig, die gerade noch etwas treffen - aus sieben Stufen wurden zwei. Der Regler stand danach wieder am Anschlag einer kuerzeren Skala, der eben gewaehlte Bereich liess sich nicht mehr aufziehen, und beim Ziehen sprang der zweite Griff.
  • Fuer Regler wird jetzt im ganzen Rahmen der Seite gezaehlt, ohne die aktuellen Filter: die Achse ist die Skala des Attributs und nicht die Liste dessen, was gerade noch erreichbar ist. Pillen und Farbfelder raeumen weiter auf, dort ist das richtig - man klickt einzelne Werte an und keine Spanne.

v2.29.4

Behoben

  • In der Spanne des Reglers stand „(gewaehlt)". Das Skript las den sichtbaren Text der Pille, und der enthaelt den Hinweis fuer Screenreader. Der Klarname kommt jetzt als eigenes Attribut vom Server.

Geaendert

  • Der Schieberegler bleibt in der Farbe einer offenen Pille, solange nichts eingeschraenkt ist. Bisher trugen Strecke und Griffe immer die Farbe des gewaehlten Zustands - auch bei voll geoeffnetem Bereich, wo gar nicht gefiltert wird. Jetzt faerbt erst eine echte Auswahl den Regler um, genau wie bei einer angeklickten Pille.

v2.29.3

Behoben

  • Die Sortierung der Filter blieb nicht stehen. Gespeichert wurde sie richtig, angezeigt aber wieder in der Reihenfolge aus WooCommerce: beim Aufbau der Liste stand die Attributliste des Shops an der Stelle, die die Reihenfolge vorgibt, und nicht die gespeicherte Auswahl. Das Ziehen sah damit aus, als wuerde es verworfen.

v2.29.2

Geaendert

  • Der Schieberegler traegt die Farben der Pillen. Die Spur hat die Farbe einer nicht gewaehlten Pille, die gewaehlte Strecke und die Griffe die des gewaehlten Zustands - der Regler steht neben Pillenreihen und soll dieselbe Aussage machen. Bisher kam die Spur aus der Balkenfarbe der Produktkarte und hatte mit der Leiste nichts zu tun.
  • Die Deckkraft der Spur ist einstellbar (Reiter Filter, Gruppe Leiste); vorgegeben sind 0.35, weil die volle Pillenfarbe auf einer 4 px schmalen Spur zu laut ist.

v2.29.1

Behoben

  • Der Abstand unter dem Schieberegler kam vom Theme. Die Spanne stand in einem <p>, und Themes geben Absaetzen einen Aussenabstand nach unten - der schlaegt ein margin: 0 aus dem Stylesheet des Plugins, sobald er spezifischer notiert ist. Alles, was in der Leiste Text traegt, ist jetzt ein <div> und bekommt seine Abstaende von hier.

v2.29.0

Neu

  • Deckkraft neben jeder Farbe. Ein Prozentfeld hinter dem Farbwaehler, aus dem beim Ausgeben ein rgba() wird - in der Filterleiste und im Design der Produktkarte gleichermassen. Der WordPress-Farbwaehler kennt keinen Alphakanal, und eine halbdurchsichtige Flaeche laesst sich anders nicht einstellen, ohne den Inhalt mit zu verblassen. Dieselbe Loesung wie in IDF Woo Addons.
  • Die Deckkraft gehoert zur Farbe: setzt ein Satz eine eigene Farbe, gilt auch seine Deckkraft; sonst stuende die Farbe des Satzes mit der Durchsichtigkeit der Grundlage da.
  • Werte, die kein Hex sind (Theme-Farben ohne Palette, bereits fertige rgba()), bleiben unangetastet - lieber ohne Deckkraft als mit einem zerlegten Farbwert im style-Attribut.

v2.28.1

Behoben

  • Kein Gedankenstrich in der Spanne des Reglers. Statt „6 Prozent – 59 Prozent" steht dort jetzt „6 Prozent bis 59 Prozent" - Gedankenstriche sind im Design nicht vorgesehen, und ein Bindestrich zwischen zwei Zahlen liest sich als Minus.
  • Der Regler baute hoeher als eine Pillenreihe. Die Mindesthoehe, die das Springen beim Aufbau verhindert, blieb danach stehen und sah aus wie ein zu grosser Abstand nach unten; sie gilt jetzt nur noch, solange der Regler fehlt. Bahn und Abstaende sind dazu auf die Hoehe einer Pillenreihe gebracht.

v2.28.0

Neu

  • Bild der gewaehlten Farbe in der Produktkarte. Ist genau ein Farbwert gewaehlt, zeigt die Karte das Bild der passenden Variante statt des Hauptbilds. Bei zwei gewaehlten Farben bleibt das Hauptbild - es gaebe zwei richtige Bilder und keinen Grund, sich fuer eines zu entscheiden. Hat die Variante kein eigenes Bild, aendert sich nichts. Abschaltbar im Reiter Filter unter Leiste.

Behoben

  • Die Pillen blitzten auf, bevor der Schieberegler stand. Das Skript im Footer baut den Regler erst nach dem ersten Zeichnen. Zwei Zeilen JavaScript vor der Leiste setzen jetzt eine Klasse, an der das Stylesheet die Pillenreihe einer Zahlengruppe von vornherein ausblendet; die Gruppe haelt dabei die Hoehe des Reglers frei, damit nichts springt. Ohne JavaScript greift nichts davon und die Pillen bleiben sichtbar.

v2.27.0

Geaendert

  • Die Attribute im Reiter „Filter" stehen in derselben Liste wie auf einer Satz-Seite: nur die verwendeten, am Griff sortierbar, hinzugefuegt ueber das Auswahlfeld darunter. Die Reihenfolge in der Liste ist damit die Reihenfolge der Gruppen in der Filterleiste - bisher gab es dafuer gar keine Einstellung, es galt die Reihenfolge aus WooCommerce.
  • Die alte Tabelle mit allen Attributen und Haken davor entfaellt; sie wurde mit jedem neuen Attribut laenger, genau wie die Satz-Listen vor v2.20.0.

v2.26.0

Neu

  • Zahlenwerte als Schieberegler. Attribute, aus deren Werten sich eine Zahl ableiten laesst (17-prozent, „24 %"), erscheinen ab drei Werten als Regler mit zwei Griffen statt als Pillenreihe. Unter dem Regler steht die gewaehlte Spanne in Worten.
  • Die Griffe laufen ueber die Stufen, nicht ueber die Zahlen: „6, 11, 24, 59 Prozent" sind vier Stufen und keine Skala von 6 bis 59.
  • Gebaut wird der Regler aus den Pillen, die der Server ohnehin ausgibt - jede traegt ihren Zahlenwert und ihre Adresse. Ohne JavaScript bleibt die Pillenreihe stehen und filtert weiter.
  • Abschaltbar im Reiter Filter unter Leiste („Attribute mit Zahlenwerten": Schieberegler oder Pillen).

v2.25.0

Behoben

  • Die Farbfelder im Reiter „Filter" waren nackte Textfelder. Der Farbwaehler wurde nur auf den Satz-Seiten und in den Einstellungen geladen - im Filter-Reiter fehlten damit Palette, Theme-Farben und Transparenz, und das Feld unter den Quadraten sah aus wie ein Fremdkoerper. Die Assets laden jetzt ueberall dort, wo Design-Felder stehen.
  • Ein Renderer statt zwei. Das Aussehen der Leiste lief ueber eine eigene Ausgabe-Funktion und sah deshalb anders aus als jedes andere Feld im Plugin. Sie ist weg; gerendert wird mit render_design(), wie alle anderen Design-Felder auch.
  • Die langen Erklaerungen unter jedem Farbfeld sind weg - der Hinweis steht einmal ueber dem Abschnitt.

Neu

  • Der Zuruecksetzen-Link hat dieselben Felder wie die Werte: Flaeche, Rahmen, Schrift, Ecken, Groesse und Schriftschnitt. Mit Flaeche oder Rahmen wird daraus eine Schaltflaeche.
  • Position waehlbar: ueber oder unter den Filtern, dazu die Ausrichtung.

v2.24.1

Behoben

  • Das Aussehen der Filterleiste liess sich nicht speichern. Nach dem Speichern standen alle Felder wieder leer. Der Farbwaehler aus render_farbfeld() schreibt seinen Wert fest nach [design][<key>], das Sanitizing der Leiste las aber [<key>] - die Farben kamen damit nie an. Formularfelder und Sanitizing benutzen jetzt durchgehend dieselbe Struktur wie das Design der Produktkarte.
  • Das Textfeld unter den Farbquadraten ist erklaert. Es ist der Farbwaehler fuer „Eigene Farbe" und zaehlt nur, wenn dieses Quadrat gewaehlt ist - das stand nirgends.
  • Die Ability filter-pruefen gibt unter aussehen aus, was tatsaechlich gespeichert ist.

v2.24.0

Neu

  • Das Aussehen der Filterleiste steht im Reiter „Filter", unter den Attributen - und nicht mehr zwischen den Design-Feldern der Produktkarte, wo es auf der Satz-Seite mitlief und dort nichts tat. Eigene Feldliste, eigene Option (idf_attr_filter_leiste), gespeichert mit demselben Knopf wie die Attributauswahl.
  • Alles einstellbar, nicht nur der Hover. Fuenf Gruppen: Beschriftung (Groesse, Schriftschnitt, Farbe, Abstand), Werte (Groesse, Schriftschnitt, Flaeche, Rahmen, Schrift, Ecken, Abstand), Beim Ueberfahren, Gewaehlt (jeweils Flaeche, Rahmen, Schrift, Schriftschnitt) und Farbfelder (Kantenlaenge, Ecken, Ring).
  • Der Zuruecksetzen-Link laesst sich gestalten: Groesse, Schriftschnitt, Farbe und Ausrichtung.
  • Der Fettdruck ist einstellbar. Beschriftung und gewaehlte Pille waren fest halbfett; beides ist jetzt ein Feld.

Geaendert

  • Leer gelassene Felder heissen weiter „wie in der Produktkarte" - wer nichts einstellt, bekommt dieselbe Anmutung wie bisher.

v2.23.0

Geaendert

  • Die Beschriftung steht ueber den Werten, nicht mehr daneben. Nebeneinander kostet jede Zeile ein Drittel ihrer Breite; bei acht Attributen stand die Leiste als schmale Spalte da.
  • Die Filterleiste laesst sich einstellen. Sie bekommt jetzt die Design-Werte aus dem Reiter „Einstellungen" als Inline-Stil - Pillenform, Pillenfarben, Schriftgroesse, Groesse und Abstand der Farbfelder gelten damit fuer Leiste und Produktkarte gleichermassen. Bis v2.22.7 traf die Leiste nur die Vorgabewerte aus dem Stylesheet, und es gab keinen Ort, an dem sich das aendern liess.

Neu

  • Design-Gruppe „Filterleiste" in den Einstellungen: Abstand der Zeilen, Groesse und Farbe der Beschriftung, Flaeche und Schrift der gewaehlten Pille. Diese Felder stehen nur in der Grundlage - auf der Seite eines Satzes taeten sie nichts, weil die Leiste ueber der Produktliste steht und zu keiner Produktgruppe gehoert.
  • Design-Felder koennen sich ueber nur_grundlage auf den Reiter Einstellungen beschraenken.

v2.22.7

Behoben

  • Balken, Pillen und Farbfelder standen auf Kategorieseiten als nackter Text da. Seit v2.22.0 meldete das Plugin bars.css und frontend.css schon in wp_enqueue_scripts an. Avadas CSS-Compiler sammelt aber genau das ein, was zu diesem Zeitpunkt in der Warteschlange steht, und liefert es aus seiner zusammengefassten Datei aus - die gecacht ist. Wurde sie einmal ohne dieses Plugin gebaut (etwa waehrend es deaktiviert war), fehlte das CSS auf jeder Kategorieseite. Auf Produktseiten war es unauffaellig, weil die Karte ihr CSS erst beim Rendern anmeldet.
  • Beide Stylesheets melden sich jetzt genau dann an, wenn wirklich etwas ausgegeben wird - wie es die Shortcodes der Produktkarte seit jeher tun.

v2.22.6

Behoben

  • Kritischer Fehler auf Kategorieseiten in v2.22.5. Beim Umbau auf die Trefferliste ist idf_attr_filter_query_anwenden() mit weggefallen - die Funktion, die pre_get_posts aufruft. Registriert blieb sie, vorhanden war sie nicht mehr: jede Produktseite lief damit in einen Fatal. Die Funktion ist wieder da; ein Abgleich prueft jetzt, dass zu jedem registrierten Callback auch eine Funktion gehoert.

v2.22.5

Behoben

  • Listen mit eigener Abfrage folgen der Auswahl jetzt wirklich. Der Weg ueber post_class() aus v2.22.4 lief ins Leere: Avadas Post-Card-Element ruft die Funktion gar nicht auf, an seinen Karten liess sich nichts markieren. Der Server gibt neben der Leiste jetzt zwei Listen von Produkt-Slugs aus - welche Karten zu dieser Leiste gehoeren und welche davon zur Auswahl passen -, und das Skript findet die Karte ueber den Link zum Produkt, den jede Karte hat.
  • Karten, deren Produkt in keiner der beiden Listen steht, bleiben unangetastet: ein Empfehlungsblock unter der Liste verschwindet nicht, weil oben eine Farbe angeklickt wurde.
  • Ab 400 Produkten im Rahmen entfaellt die Liste (Filter idf/attribute-filter/trefferliste_grenze); dann filtert nur, was ueber die Hauptabfrage laeuft.

v2.22.4

Behoben

  • Der Eingriff in fremde Abfragen ist zurueckgenommen. In v2.22.3 filterte das Plugin jede Produktabfrage - auch die von Avadas Post-Card-Element. Dessen Treffer liegen aber im Objekt-Cache, und der Schluessel dazu entsteht aus den Element-Argumenten, lange bevor pre_get_posts laeuft: die gefilterte Liste landete unter dem Schluessel der ungefilterten und wurde danach allen ausgeliefert. Nach einem Klick zeigte die Kategorieseite auch ohne Filter nur noch ein Produkt.
  • In der Datenbank gefiltert wird jetzt wieder nur die Hauptabfrage. Listen mit eigener Abfrage filtert das Skript im Browser: jede Produktkarte traegt ihre Attributwerte als Klasse (idf-attr--pa_farbe--navy), und was nicht zur Auswahl passt, wird ausgeblendet. Das vertraegt sich mit jedem Cache, weil die ausgelieferte Seite immer die vollstaendige Liste enthaelt.
  • Bleibt nach der Auswahl nichts uebrig, steht das jetzt unter der Leiste, statt dass die Liste wortlos leer ist.

v2.22.3

Behoben

  • Die Produktliste blieb stehen, obwohl die Filterleiste sich aufraeumte. Gefiltert wurde nur die Hauptabfrage - die Produktliste einer Kategorieseite kommt hier aber aus Avadas Post-Card-Element, und das baut sich seine eigene WP_Query mit eigener Kategorie und Sortierung. Gefiltert wird jetzt jede Produktabfrage im Frontend, solange eine Auswahl getroffen ist.
  • Ausgenommen bleiben Listen mit fester Auswahl (post__in) - Cross-Sells, „Aehnliche Produkte", handverlesene Slider - und die eigene Zaehl-Abfrage des Filters. Der neue Filter idf/attribute-filter/query_filtern nimmt weitere aus.

v2.22.2

Neu

  • Ability idf-attribute-filter/filter-pruefen. Sie zeigt, was die Filterleiste aus den aktivierten Attributen macht: gefundene Taxonomien, Groesse der Produktmenge, je Attribut die Zahl der Werte mit und ohne Treffer, erkannte Farbwerte und die Laenge des erzeugten HTML. Seit die Leiste ausblendet, was nichts einschraenkt, ist „da steht nichts" von aussen sonst nicht von „da ist etwas kaputt" zu unterscheiden.

v2.22.1

Behoben

  • Die Filterleiste erschien in v2.22.0 gar nicht. Die Sortierung nach Farbe teilte bei unbunten Werten durch Null: 255 / 255 ist in PHP ein int, und die strikten Vergleiche gegen 0.0 und 1.0 gingen daran vorbei. Weiss (#ffffff) hat damit einen Fatal ausgeloest, der die ganze Leiste verschluckt hat. Die Rechnung laeuft jetzt in Gleitkomma und prueft mit Kleiner-Gleich statt auf Gleichheit.
  • Das „(gewaehlt)" fuer Screenreader haengt an einer eigenen Klasse statt an screen-reader-text. Die gehoert dem Theme; wo es sie nicht mitbringt, stand der Hinweis sichtbar mitten in der Farbreihe.

v2.22.0

Behoben

  • Der Filter filtert wieder. Ein Klick auf einen Wert liess die Produktliste leer zurueck, das Abwaehlen ebenso. Ursache: der Filter holte seine Treffer per AJAX und rendert sie mit locate_template( 'templates/post-card.php' ) - eine Datei, die es in Avada nicht gibt. Die Schleife lief durch und gab je Produkt nichts aus.
  • Gefiltert wird jetzt ueber die Hauptabfrage. Die Auswahl steht als ?filter_pa_farbe=navy in der Adresse, das Plugin schraenkt damit die Produktabfrage ein, und die Liste rendert das, was sie ohnehin rendert. Damit ist auch gleich geklaert, wer die Karten baut - das Plugin muss es nicht mehr wissen.
  • Der eigene AJAX-Endpunkt idf_attr_filter_products entfaellt ersatzlos, ebenso includes/ajax.php.

Neu

  • Farbattribute erscheinen als Quadrate, mit dem Farbnamen als Tooltip - dieselben Felder wie in [idf_attr_colors].
  • Sortiert nach Farbe statt nach Namen: erst die bunten nach Farbton, dann die unbunten von hell nach dunkel. Eine Reihe Farbfelder liest man als Verlauf, nicht alphabetisch.
  • Was nichts einschraenkt, steht nicht da. Ein Wert ohne Treffer in der aktuellen Menge faellt weg, ein Attribut mit nur einem verbliebenen Wert ebenso. Der eigene Filter eines Attributs bleibt bei dieser Rechnung aussen vor, sonst waere nach dem ersten Klick auf „Navy" jede andere Farbe verschwunden.
  • Zuruecksetzen-Link, sobald etwas gewaehlt ist. Optional die Trefferzahl je Wert: [idf-woocommerce-attributfilter show_count="yes"].

Geaendert

  • Die Werte sind Pillen statt Checkboxen und sehen aus wie die Pillen in der Produktkarte; die Leiste liegt auf denselben Custom Properties wie [idf_attr_bars].
  • Jede Wahl ist ein Link. Ohne JavaScript filtert die Leiste trotzdem, mit JavaScript wird die gefilterte Seite im Hintergrund geholt und nur Liste und Leiste getauscht. Zurueck-Knopf, Teilen und Lesezeichen funktionieren.
  • filter.js braucht kein jQuery mehr.

v2.21.0

Neu

  • Farbfelder: [idf_attr_colors]. Ein Attribut, das in WooCommerce auf den Avada-Typ „Farbe" steht, hat den Farbwert am Term - der Shortcode macht daraus eine Reihe Quadrate, ohne Beschriftung. Der Termname bleibt als Tooltip und als aria-label daran, sonst waere die Aussage fuer Screenreader verloren.
  • Eigene Liste auf der Satz-Seite (Farben) und eigener Shortcode statt einer vierten Darstellungsart: die Farbreihe steht in der Karte an einer anderen Stelle als die Merkmale, meist direkt unter dem Bild.
  • Gelesen wird das Term-Meta _fusion.attribute_color, dasselbe Meta wie beim Attributbild. Fuer andere Quellen gibt es den Filter idf/attribute-filter/term_farbe. Terme ohne Farbwert fallen weg; hat kein Term eine Farbe, gibt der Shortcode nichts aus.
  • Angenommen werden Hex-Werte und rgb()/rgba()/hsl()/hsla(). Alles andere wird verworfen - der Wert landet in einem style-Attribut.
  • Vier neue Design-Felder unter Farbfelder: Kantenlaenge, Ecken, Abstand, Rahmenfarbe. Der Rahmen ist nicht Zierde, ohne ihn verschwindet Weiss auf weissem Grund.
  • Die Abilities kennen die Liste (farben in list-saetze und update-satz). satz-fuer-produkt gibt unter farbfelder aus, welcher Farbwert an welchem Term gefunden wurde - „ausgewaehlt, aber am Term haengt keine Farbe" ist sonst von aussen nicht zu sehen.

Geaendert

  • Der Bereich „Balken" heisst „Merkmale". Er gibt nicht nur Balken aus, sondern auch Skalen, Grafiken und Pillen - was davon, steht in der Spalte „Darstellung". Die Spalte in der Satz-Liste heisst entsprechend.
  • update-satz zieht order und scale_order jetzt gleich, statt sie anzuhaengen - dieselbe Regel wie beim Formular seit v2.20.0.

v2.20.0

Geaendert

  • In den Attributlisten eines Satzes steht nur noch, was der Satz benutzt. Vorher stand dort jedes Attribut des Shops mit einer Checkbox davor: bei dreissig Attributen suchte man die fuenf verwendeten zwischen fuenfundzwanzig anderen, und die Liste wurde mit jedem neuen Attribut laenger, ohne dass sich am Satz etwas geaendert hatte. Hinzugefuegt wird jetzt ueber ein Auswahlfeld unter der Tabelle, herausgenommen ueber „Entfernen" in der Zeile; geordnet wird weiter am Griff.
  • Gilt fuer beide Listen, Balken und Skala. Gespeicherte Saetze aendern sich dadurch nicht - was angehakt war, steht jetzt in der Liste, alles andere in der Auswahl darunter.
  • attributes ist damit zugleich die Reihenfolge. order wird beim Speichern gleichgezogen und bleibt fuer aeltere Saetze und die Abilities gefuellt.
  • Die Ueberschriften im Backend sind groesser und wieder normal geschrieben. Versalien mit Sperrung sind im wp-admin unueblich; sie mussten den Rang nur tragen, solange die Schrift zu klein dafuer war. Jetzt Seitentitel 29px, Abschnitt 25px, Feldgruppe 21px - gegen 14px bei den Labels.

v2.19.1

Behoben

  • Die Rubriken-Headlines in den Bereichen sind wieder lesbar. Die Feldgruppen-Ueberschrift (h3, etwa Werte und Pillen im Reiter Aussehen) stand mit 0.8125em unter der Groesse der Labels, die sie ueberschreibt - eine Ueberschrift, die kleiner ist als ihr eigener Inhalt, liest sich als Beiwerk und nicht als Rubrik. Jetzt 1.15em und dunkler (#2c3338), damit steht die Staffelung auf h2 18px, h3 15px, Label 14px. Versalien und Sperrung bleiben als Rangsignal, sie tragen den Unterschied zur h2 jetzt allein.

v2.19.0

Geaendert

  • Avadas Attributbild wird direkt gelesen. idf_attr_bars_term_grafik() nimmt jetzt zwei Term-Metas: erst _idf_wai_image_id (das Feld von IDF Woo Attribute Images), dann _fusion.attribute_image von Avada. Vorher lief der erste Weg ueber die Klasse IDF_WAI_Taxonomy_Image - in einem Avada-Shop haette der Betreiber damit ein Plugin aktiv halten muessen, dessen Bildfeld er gar nicht benutzt.
  • Das eigene Feld geht weiter vor Avada: wo jemand es pflegt, muss sein Eintrag auch wirken.
  • Der Filter idf/attribute-filter/term_grafik bleibt unveraendert der Weg fuer andere Quellen.

v2.18.1

Behoben

  • Am Symbol hing eine fremde Titel-Blase. Rank Math schreibt mit "Bild-Titel hinzufuegen" (Image SEO) jedem Bild ohne title den Seitentitel hinein - am Pflegesymbol also den Produktnamen. Der Browser zeigte ihn beim Ueberfahren als eigene Blase ueber dem Tooltip. Das Plugin nimmt den Titel an seinen eigenen Symbolen jetzt wieder ab; jedes andere Bild der Seite bleibt unberuehrt.

v2.18.0

Behoben

  • Ein per set genannter Satz bleibt still, wo er nicht zustaendig ist. Hat ein Satz Produktkategorien, gibt sein Shortcode bei Produkten ausserhalb dieser Kategorien nichts mehr aus. Vorher zeigten zwei Bloecke in derselben Avada-Vorlage beide ihre Zeilen am selben Produkt, sobald sich die Attributlisten ueberschnitten - an einem T-Shirt stand so "Farbe" unter den Pflegesymbolen, weil der Sonnenschutz-Satz farbe fuehrt und das T-Shirt Farbvarianten hat.
  • Damit duerfen mehrere Saetze nebeneinander in einer Vorlage stehen; jeder zeigt sich nur bei seinen Produkten.

Neu

  • Shortcode-Parameter immer="ja" hebt die Bremse auf, wenn ein Satz bewusst ausserhalb seiner Kategorien erscheinen soll.
  • Saetze ohne Kategorien sind wie bisher ueberall zustaendig - der ausdrueckliche Aufruf schraenkt nichts ein.

v2.17.0

Geändert

  • Die Symbole bekommen einen echten Tooltip statt des title-Attributs. Dessen Blase ist die des Browsers: sie kommt erst nach etwa einer Sekunde, sieht auf jedem System anders aus, lässt sich nicht gestalten, und auf Touch-Geräten gibt es sie gar nicht. Ein Tooltip ist etwas anderes als eine Titel-Blase.
  • Der Tooltip hängt an einem Wrapper um das Bild, weil ein img kein Kind haben kann und sich die Blase an ihm ausrichten muss. Er erscheint bei :hover und :focus-within, ohne JavaScript.
  • Zwei neue Design-Felder in der Gruppe „Grafiken": Tooltip-Hintergrund und Tooltip-Schrift.
  • Der Termname bleibt als alt am Bild - ohne Alternativtext wäre ein Symbol für Screenreader nichts wert.

v2.16.0

Geändert

  • Die Kennung ist ein normales Feld in den Grunddaten, direkt unter dem Namen - kein eigenes Formular, kein Kasten, kein Extra-Knopf. Sie wird mit demselben Speichern-Knopf gespeichert wie alles andere.
  • Dafür wandert das Umbenennen ins Sanitizing. Weil options.php auf die Seite zurückleitet, aus der abgeschickt wurde - und in deren URL noch die alte Kennung steht -, biegt ein wp_redirect-Filter das Ziel auf die neue um. Sonst landete man nach dem Umbenennen auf der Liste statt auf dem Satz.
  • Eine ungültige Kennung (leer, „standard", schon vergeben) wird jetzt sichtbar abgewiesen statt still ignoriert.
  • Abschnitte und Feldgruppen sind unterscheidbar. Rubriken bekommen eine Linie und Luft, Feldgruppen darunter werden kleiner und grau. Vorher war „alles untereinander und alles gleich, Rubriken-Headlines fast gleich groß zu Labels".
  • Der Hinweis unter der Attributliste ist auf einen Satz gekürzt: Balken = Länge, Skala = Einordnung, Grafik = Bild des Begriffs.

v2.15.0

Neu

  • Drei MCP-Abilities fuer die Saetze (loest #7 fuer diesen Teil): list-saetze zeigt Auswahl, Darstellung, Kategorien und die abweichenden Design-Felder; update-satz aendert sie; satz-fuer-produkt beantwortet fuer eine Produkt-ID, welcher Satz greift und warum. Letzteres ist das Werkzeug fuer „warum zeigt das Produkt etwas anderes, als ich eingestellt habe" - bis jetzt liess sich das von aussen gar nicht nachsehen.

Geändert

  • Kennung steht oben, direkt beim Namen, statt am Ende der Seite. Unten war sie zu weit weg von dem, wozu sie gehoert.
  • Aussehen ist zweispaltig: Felder links, Vorschau rechts und mitlaufend (position: sticky). Bei 25 Feldern sah man vorher nie beides zugleich. Unter 1200 Pixeln Fensterbreite rutscht die Vorschau wieder unter die Felder.
  • Unter der Attributliste steht jetzt, was Balken, Skala und Grafik voneinander unterscheidet - und dass „Pille oder Text" eine andere Frage ist als die Spalte „Darstellung". Beides klang gleich und meinte Verschiedenes.
  • Das Design-Feld „Werte ohne Zahl" heisst „Werte ohne Zahl und ohne Grafik" und nennt den Unterschied zur Spalte „Darstellung".

v2.14.0

Neu

  • Vierte Darstellungsart: Grafik. Ein Attribut kann seine Werte als Piktogramme ausgeben - Waschsymbole, Pflegehinweise, Prüfzeichen. Ein Waschsymbol ist als Wort unbrauchbar („Nicht bleichen") und als Balken sinnlos; es ist ein Bild, und genau so steht es jetzt in der Karte. Einstellbar je Attribut in der Spalte „Darstellung" auf der Satz-Seite.
  • Die Bilder hängen am Attribut-Term und werden mit IDF Woo Attribute Images gepflegt. Gelesen wird erst dessen Schnittstelle (die den Avada-Rückfall kennt), sonst das Term-Meta direkt - bereits gepflegte Bilder wirken damit auch ohne das andere Plugin. Für andere Quellen gibt es den Filter idf/attribute-filter/term_grafik.
  • Neue Design-Gruppe „Grafiken": Höhe der Symbole und Abstand zwischen ihnen, je Satz überschreibbar wie alles andere.
  • Ein Begriff ohne Bild erscheint in derselben Zeile als Pille mit seinem Namen, statt zu verschwinden. Der Termname steht als Alternativtext und als Tooltip am Bild.

v2.13.0

Neu

  • Reiter „Einstellungen": die Design-Grundlage für alle Sätze. Farben, Maße und die Wahl zwischen Text und Pille stehen jetzt an einer Stelle, von der jeder Satz ausgeht. Bis v2.12.1 lag diese Rolle im Satz „Standard" - der war damit zugleich Rückfall für die Attributauswahl und Grundlage für das Aussehen, und man sah ihm keine der beiden Aufgaben an.
  • Reiter „DSGVO": Pflichtseite nach IDF-Konvention. Sie hält fest, dass das Plugin keine personenbezogenen Daten verarbeitet, nennt die Speicherorte konkret und liefert einen Textvorschlag für die Datenschutzerklärung.
  • Reiter „Deinstallieren" plus uninstall.php: Schalter, ob die Einstellungen beim Löschen des Plugins mitgehen. Standard ist aus - die Daten bleiben, eine Neuinstallation findet sie wieder vor.
  • Die Kennung eines Satzes lässt sich ändern. Sie steht im Shortcode und folgt dem Namen bewusst nicht; nach dem Duplizieren passte sie deshalb nie („folien-kopie"). Neues Formular „Kennung ändern" auf der Satz-Seite, mit Hinweis, dass Post Cards mit dem alten set-Wert nachgezogen werden müssen.

Geändert

  • Jeder Satz überschreibt nur noch - auch „Standard". Ein leeres Feld heißt überall „wie in den Einstellungen"; daneben steht jeweils, was das gerade heißt.
  • Die Migration verschiebt das Aussehen des Satzes „Standard" in die neue Option idf_attr_filter_design und leert es dort. Sichtbar ändert sich nichts.

v2.12.1

Geändert

  • Die Farbwahl ist wieder sichtbar. Statt eines Auswahlfelds mit Farbnamen steht dort jetzt eine Reihe farbiger Quadrate: erst „Standard", dann die Farben des Themes, zuletzt „Eigene Farbe". Das Auswahlfeld aus v2.12.0 war zwar ein WordPress-Bedienelement, aber unbrauchbar - „awb-color-4" sagt niemandem, welche Farbe das ist.
  • Das erste Quadrat zeigt, was ohne eigene Vorgabe herauskäme: im Standard-Satz eine Schraffur für „nichts vorgeben", in jedem anderen Satz die geerbte Farbe.
  • Wer im Farbwähler eine Farbe wählt, setzt damit automatisch das Quadrat „Eigene Farbe". Sonst wäre die Farbe nach dem Speichern weg gewesen.

v2.12.0

Geändert

  • Drei Reiter statt fünf, und ein Satz ist eine Seite. „Balken" und „Skala" gibt es nicht mehr als eigene Reiter - Name, Kategorien, Balken-Liste, Skala-Liste und Aussehen stehen jetzt zusammen auf der Seite des jeweiligen Satzes, mit einem Speichern-Knopf. Es war nicht mehr zu durchschauen, welche Einstellung wo wohnt.
  • Der Reiter „Einstellungen" heißt „Filter" und sagt oben, was er tut: die Auswahlliste im Shop für [idf-woocommerce-attributfilter]. Mit den Balken in der Produktkarte hat er nichts zu tun; das steht jetzt auch dort.
  • Die Oberfläche benutzt WordPress-Bausteine. Der nachgebaute Schiebeschalter ist einer gewöhnlichen Checkbox gewichen, das eigene Design-Raster der form-table und das selbstgebaute Farbwidget dem WordPress-Farbwähler plus einem Auswahlfeld für die Theme-Farben. Eigenes CSS gibt es nur noch für den Sortiergriff, ein paar Spaltenbreiten und den Rahmen um die Vorschau - assets/admin.css schrumpft von 404 auf 84 Zeilen.
  • Die Vorschau zeigt jetzt Balken, Pille und Skala zusammen, statt je Reiter nur die Hälfte.
  • Die Hilfe-Seite trennt die beiden Funktionen des Plugins sichtbar voneinander und beschreibt die Sätze in der neuen Form.
  • Alte Links auf idf-attribute-filter-bars und -scale leiten auf den passenden Satz um statt ins Leere zu laufen.

v2.11.1

Behoben

  • Die Reiter „Sätze", „Balken" und „Skala" zeigten einen kritischen Fehler. register_setting() hängt den Sanitizer an die Option und nicht an das Formular - WordPress ruft ihn bei jedem update_option() auf, also auch mitten in der Migration. Der Sanitizer las die Sätze über idf_attr_filter_saetze(), das wiederum die Migration startete, die wieder update_option() rief: eine Endlosschleife bis zum Speicherlimit. Der Sanitizer liest jetzt über idf_attr_filter_saetze_gespeichert(), das nie migriert, und die Migration merkt sich ihr Ergebnis, bevor sie schreibt. Das Frontend war nie betroffen, weil die Settings dort gar nicht registriert werden.
  • Sätze anlegen, umbenennen, duplizieren und löschen taten stillschweigend nichts. Dieselbe Ursache: der Sanitizer hielt jeden Schreibvorgang für ein abgeschicktes Formular und verwarf alles ohne Formular-Marker. Er unterscheidet die beiden Fälle jetzt.

v2.11.0

Neu

  • Sätze: mehrere Konfigurationen nebeneinander. Ein Satz hält Balken-Liste, Skala-Liste, Darstellung je Attribut und ein eigenes Design. Eine Sonnenschutzfolie zeigt damit andere Kennwerte in anderer Anmutung als ein Kleidungsstück, ohne dass die Attributliste in jede Post Card geschrieben werden muss.
  • Neuer Reiter „Sätze": anlegen, umbenennen, duplizieren, löschen, Produktkategorien zuordnen, Shortcode zum Kopieren. Die Reiter „Balken" und „Skala" haben oben eine Auswahl, welcher Satz gerade bearbeitet wird.
  • Automatische Zuordnung über die Produktkategorie. Ohne set-Parameter wählt das Plugin den Satz anhand der Kategorien des Produkts, Elternkategorien eingeschlossen; die speziellere gewinnt. Eine einzige Post Card reicht damit für ein gemischtes Archiv.
  • Neuer Shortcode-Parameter set bei [idf_attr_bars] und [idf_attr_scale]. Er geht der Kategorie-Zuordnung vor; nennt er einen Satz, den es nicht mehr gibt, greift wieder die Zuordnung.
  • Das Design erbt. In jedem Satz außer dem Standard-Satz heißt ein leeres Feld „wie im Standard-Satz". Eine geänderte Hausfarbe zieht dadurch überall nach, wo nichts Eigenes eingetragen ist.

Geändert

  • Der bisherige Stand wird beim ersten Zugriff zum Satz „Standard". Bestehende Einbauten ändern sich nicht: [idf_attr_bars] ohne Parameter landet weiter auf genau dieser Konfiguration.
  • Alle Sätze liegen in der Option idf_attr_filter_saetze. Die alten Option-Keys bleiben als Rückfahrkarte stehen, werden aber nicht mehr gelesen.
  • Die Vorschau im Reiter „Skala" zieht jetzt beim Tippen mit statt erst nach dem Speichern.

v2.10.4

Behoben

  • Der Dependency-Checker heisst jetzt IDF_ATTR_FILTER_Dependency_Checker. Der geteilte Klassenname IDF_Dependency_Checker, den fast alle IDF-Plugins mitbringen, wird nicht mehr angefasst. Die eigene Kopie stand hinter einem class_exists-Guard mit return, der unter OPcache nie laeuft: die Klasse landet vor der ersten Codezeile in der Klassentabelle. Sobald ein zweites IDF-Plugin dieselbe Klasse deklarierte, starb jeder Request mit "Cannot declare class IDF_Dependency_Checker" - auf k1.de hat das am 03.09.2026 zweimal die ganze Website lahmgelegt, weil die Aktivierung durchlief und der Fehler erst im Folge-Request entstand. Die Installationsreihenfolge der IDF-Plugins ist damit ohne Bedeutung.

v2.10.3

Geändert

  • idf-attr-bars--nur-skala ist als Anker für Theme-Anpassungen dokumentiert - in README, Hilfe-Seite und Stylesheet. Die Klasse trug seit v2.10.0 keine Regeln mehr und sah dadurch aus wie ein Überbleibsel.

v2.10.2

Behoben

  • Die Hilfe-Seite kannte den Shortcode [idf_attr_scale] nicht - sie dokumentierte nur Filter und Balken.
  • readme.txt erwähnte weder den zweiten Shortcode noch den Reiter „Skala", und der Changelog-Abschnitt war leer.
  • Die Spalte „Darstellung" im Reiter „Balken" hatte keine Breitenangabe im Stylesheet.

v2.10.1

Behoben

  • Speichern im einen Reiter löschte die Attribut-Liste des anderen; die Balken verschwanden dadurch im Frontend. Jede Seite hat jetzt ihre eigene Settings-Gruppe.

v2.10.0

Geändert

  • Die Skala ist zweizeilig: Attributname links, Wert rechts gegenüber, darunter die Leiste über die volle Breite.
  • Eigene Maße statt geerbter - Höhe, Radius, Zeilenabstand, Abstand zur Beschriftung, Schriftgröße und Markerbreite als eigene Felder im Reiter „Skala".
  • show_label bei [idf_attr_scale] steht dadurch auf yes.

v2.9.0

Geändert

  • Die Skala hat einen eigenen Reiter neben Einstellungen, Balken und Hilfe. Der Reiter „Balken" trägt nur noch die Balken-Liste und ihr Design.

Behoben

  • Speichern setzte die Design-Felder der jeweils anderen Seite auf ihren Standard zurück. Gespeichert wird jetzt per Merge.

v2.8.0

Neu

  • Zweiter Shortcode [idf_attr_scale]: gibt nur Skalen aus, ohne Beschriftung, für eine eigene Stelle in der Produktkarte.
  • Eigene Attribut-Liste dafür, mit eigener Reihenfolge und unabhängig von der Balken-Auswahl.
  • Die Skala läuft über drei Farben statt zwei: links, Mitte, rechts.

v2.7.0

Neu

  • Dritte Darstellungsart „Skala" neben Balken und Pille: feste Farbfelder von schlecht nach gut mit einem Marker darauf, in der Anmutung des EU-Energielabels.
  • Spalte „Darstellung" im Reiter „Balken" - je Attribut Balken oder Skala. Der Shortcode bleibt [idf_attr_bars].
  • Vier Design-Felder in der neuen Gruppe „Skala": Anzahl der Felder, Farbe links, Farbe rechts, Markerfarbe.

v2.6.0

Neu

  • Die Farbfelder im Reiter „Balken" kennen die Farben des Themes: die Weltkugel neben jedem Feld stellt Avadas Global Colors zur Auswahl.
  • Gespeichert wird dabei nur deren Kennung, nicht der Hex-Wert - ändert sich eine Hausfarbe im Theme, ziehen die Balken von selbst nach.
  • Drittes Feld je Farbe: Zurücksetzen. Ein leeres Feld heißt „nichts vorgeben".

v2.5.0

Neu

  • Eigener Reiter „Balken". Dort steht, welche Attribute als Balken erscheinen, in welcher Reihenfolge (Drag-and-Drop) und wie sie aussehen; [idf_attr_bars] braucht dadurch keine Parameter mehr.
  • Design-Felder für Farben, Höhe, Radius, Abstände, Spaltenbreiten und Schriftgröße, dazu die Wahl zwischen Text und Pille.
  • Vorschau im Panel, die beim Tippen mitzieht.

Geändert

  • Die Balken hängen nicht mehr an der Attributliste der Filterleiste. Solange im Reiter nichts gespeichert wurde, gilt sie weiter.
  • Die Karten der Plugin-Seiten sind nicht mehr auf 520 Pixel gedeckelt.

v2.4.0

Neu

  • Zweiter Shortcode [idf_attr_bars]: gibt die Attributwerte des aktuellen Produkts als Balken aus, gedacht fuer Produktkarten und Produktvorlagen. Parameter: attributes, badges, max, show_label, show_value, class, product_id.
  • Die Balkenlaenge kommt aus dem Term-Slug (17-prozent wird 17, 99-9-prozent wird 99,9), nicht aus dem angezeigten Namen. Traegt der Slug keine einzelne Zahl - etwa aussen oder 2-1-bis-3-m2 -, erscheint der Wert als Badge statt als Balken. Angezeigt wird immer der Termname, wie er im Shop steht.
  • Eigenes Stylesheet assets/bars.css, das erst geladen wird, wenn der Shortcode wirklich etwas ausgibt. Farben und Masse haengen an Custom Properties auf .idf-attr-bars; die Farbe folgt ohne Zutun Avadas Primaerfarbe.
  • Filter idf/attribute-filter/bars_product_id als letzte Auffanglinie, falls ein Layout das Produkt im Kontext nicht hergibt.
  • Hilfe-Seite und README dokumentieren den neuen Shortcode mit allen Parametern.

v2.3.0

Geändert

  • Das Plugin heisst jetzt IDF Woo Attribute Filter. Der Zusatz „Woo" macht die Zugehoerigkeit zu WooCommerce sichtbar und zieht die Benennung zu den uebrigen Woo-Plugins im Portfolio nach. Umbenannt sind nur sichtbare Beschriftungen: Plugin-Header, Menue-Eintrag (unter IDF Home „Woo Attribute Filter", als Top-Level-Fallback „IDF Woo Attribute Filter"), Ueberschriften der Einstellungs- und Hilfe-Seite, der Name in der Key-Server-Registrierung und die Doku.
  • Unveraendert bleiben Verzeichnis- und Repo-Name, Text-Domain, der Shortcode [idf-woocommerce-attributfilter], die Seiten-Slugs idf-attribute-filter und idf-attribute-filter-help sowie alle Option-Keys. Bestehende Installationen, Lesezeichen und verlinkte Admin-Seiten funktionieren unveraendert weiter.

v2.2.3

Behoben

  • Der Shortcode [idf-woocommerce-attributfilter] rief in seiner ersten Zeile idf_attr_filter_check_dependencies() auf - eine Funktion, die es im Plugin nie gab. Jede Seite mit dem Shortcode lief damit in einen Fatal Error, WordPress hat das Plugin daraufhin deaktiviert und der Shortcode war anschliessend gar nicht mehr registriert. Beide Aufrufstellen (Shortcode und Einstellungsseite) nutzen jetzt idf_attr_filter_check_woocommerce().
  • Die Gruppen-Ueberschrift kommt jetzt aus wc_attribute_label() statt aus wc_get_attribute(). Zeigte die Option auf ein geloeschtes Attribut, wurde vorher auf null zugegriffen.

v2.2.2

Behoben

  • Auf der Hilfe-Seite blieb die Seitenleiste weiterhin zugeklappt. Die Reiter-Seiten hängen jetzt am echten Eltern-Menü und werden erst auf admin_head per remove_submenu_page() aus der Navigation genommen - unsichtbar, erreichbar und mit aufgeklapptem Menü. Der versteckte Eltern-Slug idf-attribute-filter-reiter entfällt.

v2.2.1

Behoben

  • Auf den Reiter-Seiten blieb die Seitenleiste zugeklappt und kein Eintrag war markiert. parent_file und submenu_file klappen jetzt IDF Home auf und markieren den Plugin-Eintrag.

v2.2.0

Geändert

  • Admin-Menü auf die IDF-Menükonvention umgebaut: nur noch ein Eintrag unter IDF Home, die Hilfe-Seite ist jetzt ein Reiter auf der Einstellungsseite.
  • Ohne IDF Home bleibt das bisherige Top-Level-Menü als Fallback erhalten (gleicher Slug, gleiches Icon, gleiche Position).
  • Admin-Code von Einzelfunktionen in die Klasse IDF_Attribute_Filter_Admin überführt; Seiten-Slugs und Seiteninhalte unverändert.
  • Capability-Prüfung je Seite statt pauschal beim Menü-Aufbau.

v2.1.2

Geändert

  • Auf Git-basiertes Deployment migriert (idf-ci Workflow, readme.txt + CHANGELOG.md als Pflichtdateien).

v2.1.1

Behoben

  • WooCommerce-Hinweis erschien nicht wenn Master-Key fehlte (Prüfreihenfolge in plugins_loaded:15 korrigiert).
  • Master-Key-Check ist jetzt non-blocking - Plugin funktioniert auch ohne Master-Key (nur Updates fehlen).

Geändert

  • Entspricht jetzt dem Standard-Pattern der anderen Woo-Plugins.

v2.1.0

Hinzugefügt

  • Master-Key Dependency-Check und Update-Registrierung.
  • Konstante IDF_ATTR_FILTER_FILE.
  • Plugin-Header Requires at least: 6.0.
  • Eigener Dependency-Checker in includes/.

Geändert

  • Ladereihenfolge auf plugins_loaded:15 verschoben.

v2.0.0

Geändert

  • Kompletter Rewrite auf IDF-Plugin-Standards.
  • IDF-Naming: alle Funktionen, Konstanten, Option-Keys, CSS-Klassen auf idf_attr_filter_-Prefix.
  • Modulare Dateistruktur (includes/, assets/).
  • Inline-CSS in eigene Datei ausgelagert.
  • PHP 8.0 Minimum.

Hinzugefügt

  • Eigener Top-Level-Menüpunkt mit Einstellungen und Hilfe.
  • Dependency-Check für WooCommerce.
  • Migration v1.x-Option-Keys auf neue Namen.
  • Input-Sanitization im AJAX-Handler.

Entfernt

  • Debug-console.log-Aufrufe.

v1.0.0

Hinzugefügt

  • Erstversion.
  • WooCommerce-Attributfilter per Shortcode [idf-woocommerce-attributfilter].
  • AJAX-basierte Produktfilterung.
  • Avada Post Card Template für Produktdarstellung.

0 Comments

Info
  • Version: 2.34.1
  • Version vom: 13. September 2026
  • WordPress-Version: 6.0
  • Getestet bis WP-Version: 6.5
  • PHP-Version: 8.0
  • Kompatible Themes: AVADA
  • Erforderliche Plugins: WooCommerce, IDF Home
  • Mitwirkende: Joerg Martin