Über dieses Plugin
IDF vCard verbindet ACF-Felder einer Profilseite mit dem vCard-3.0-Standard. Im Plugin-Admin werden benannte Mapping-Sets gepflegt; auf der Profilseite wählt der Shortcode das Set per set-Attribut aus und liefert QR-Code und .vcf-Download. Leere oder nicht gemappte Felder bleiben in der vCard weg.
Features
- Mapping-Sets: Pro Set ein Name, ein Slug und eine ACF-zu-vCard-Tabelle. Sets sind nicht an einen CPT gebunden: Derselbe Slug kann auf beliebigen Profilseiten genutzt werden.
- Bezugs-CPT (optional): Filtert die ACF-Feld-Auswahl im Editor auf einen Post-Type, damit das Mapping übersichtlich bleibt. Im Frontend irrelevant.
- vCard 3.0 nach RFC 2426: Strukturierte N- und ADR-Properties, Telefon-/E-Mail-Typen, X-SOCIALPROFILE für LinkedIn, Xing, GitHub, Bluesky, Mastodon.
- QR-Code als Inline-SVG: Shortcode
[idf_vcard_qr set="..."]rendert die vCard direkt auf der Seite (SVG-Erzeugung über das Plugin IDF QR-Codes). - .vcf-Download mit Foto: Shortcode
[idf_vcard_download set="..."]liefert die vollständige vCard inklusive PHOTO und LOGO aus ACF-Bildfeldern. - Globale QR-Defaults: Größe, Fehlerkorrektur, Farben und Quiet-Zone zentral einstellbar, pro Shortcode-Aufruf überschreibbar.
- Filter für Entwickler:
idf/vcard/properties,idf/vcard/build,idf/vcard/qr_options,idf/vcard/filename. - Voraussetzungen: WordPress 6.0+, PHP 8.1+, Advanced Custom Fields, IDF QR-Codes 1.1.0+. Optional IDF Home für Lizenzprüfung und automatische Updates.
Changelog
v0.7.0
Hinzugefügt
- Felder verknüpfter Beiträge sind im Mapping-Editor wählbar. Ist ein Bezugs-CPT gesetzt, steht je Relationship- oder Post-Object-Feld dieses CPT eine eigene Gruppe „Aus verknuepftem Beitrag“ in jeder Auswahl: der Titel und alle Felder der Post-Types, auf die das Feld zeigen darf, samt Unterfeldern von ACF-Gruppen. Bisher ließ sich eine Quelle
relation_feld>ziel_feldnur über die Abilities setzen. - Ohne Bezugs-CPT bleibt es bei den Abilities, sonst käme jedes Relationship-Feld der Site mit allen Zielfeldern in jede der rund vierzig Auswahlen.
v0.6.0
Behoben
- Unterfelder von ACF-Gruppen gelten als registriert. ACF speichert sie als
gruppe_unterfeld, und so liestget_field()sie auch. Die Feldliste kannte bisher nur die oberste Ebene, deshalb meldetencreate-setundupdate-setjedes Unterfeld als „nicht registriert“, auf thueringer-landkost.de etwa die Anschrift der Marke. Eine Warnung, die immer kommt, übersieht man auch dann, wenn ein Feld wirklich fehlt.
Geändert
- Der Mapping-Editor bietet die Unterfelder von ACF-Gruppen zur Auswahl an, bezeichnet als „Gruppe: Unterfeld“, auch bei einer Gruppe in der Gruppe. Unterfelder von Repeater und Flexible Content bleiben außen vor, weil ihr Name eine Zeilennummer trägt.
v0.5.0
Hinzugefügt
- Werte aus einem verknüpften Beitrag. Ein Mapping-Wert darf
relation_feld>ziel_feldlauten: gelesen wird das Zielfeld am ersten Beitrag, auf den das Relationship- oder Post-Object-Feld zeigt,post_titleliefert dessen Titel. Auf thueringer-landkost.de kommen so Firma und Anschrift aus der Marke in die vCard der Team-Seiten. Bilder (Foto, Logo) gehen auf demselben Weg. - Die Abilities
create-setundupdate-setnehmen die neue Form an und weisen eine Quelle mit mehr als einem>oder einer leeren Seite ab. Die Warnung zu nicht registrierten Feldern prüft das Relationship-Feld im Bezugs-CPT und das Zielfeld gegen alle Felder der Site. - Der Mapping-Editor im Backend zeigt eine solche Quelle mit dem Zusatz „Feld am verknuepften Beitrag“ und behält sie beim Speichern. Die Hilfe erklärt die Form.
v0.4.1
Behoben
- Das Attribut
sizevon[idf_vcard_qr]wirkt. Bisher stand die Breite an einem Inline-Element und griff nicht, der Code erschien in voller Modulgröße: auf thueringer-landkost.de 325 bis 385 px statt der eingestellten 160 px. - Der Code wird nie kleiner als 3 px je Modul samt Rand, damit eine Handykamera ihn vom Bildschirm liest. Eine lange vCard ergibt deshalb einen größeren Code als
size, bei 77 Modulen etwa 231 px.
v0.4.0
Hinzugefügt
- Mapping-Sets lassen sich über den MCP-Adapter pflegen. Neue Abilities
idf-vcard/list-sets,get-set,create-set,update-set,delete-setundlist-properties, dazuget-settings(QR-Standardwerte lesen) undrender-vcard(vCard eines Beitrags erzeugen, wie der Download-Link sie liefert). Bisher ging das nur im Backend; auf thueringer-landkost.de hing daran der Knopf „Kontakt speichern" der Team-Seiten. - Gespeichert wird über denselben Weg wie im Backend. Anders als dort werden unbekannte Properties abgewiesen statt still verworfen, und ACF-Felder, die im Bezugs-CPT nicht registriert sind, kommen als Warnung zurück.
- Schreibende Abilities stehen im Aktivitätsprotokoll des MCP-Adapters, sofern er installiert ist.
v0.3.1
Behoben
- Der Dependency-Checker heisst jetzt
IDF_VCARD_Dependency_Checker. Der geteilte KlassennameIDF_Dependency_Checker, den fast alle IDF-Plugins mitbringen, wird nicht mehr angefasst. Die eigene Kopie war durch ihre bedingte Deklaration selbst geschuetzt, wirkte aber als Ausloeser: sobald sie die geteilte Klasse zuerst deklarierte, starb die frueh gebundene Kopie eines anderen IDF-Plugins. 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.
v0.3.0
Geändert
- Admin-Menü: ein Eintrag unter IDF Home statt eines eigenen Top-Level-Menüs mit vier Untereinträgen. Einstellungen, Hilfe und Deinstallation sind jetzt Reiter auf der Mapping-Sets-Seite.
- Ohne IDF Home bleibt das eigene Top-Level-Menü als Rückfalloption erhalten, mit derselben Oberfläche.
- Alle bisherigen Seiten-URLs bleiben gültig.
v0.2.0
Geändert
- Mappings sind jetzt eigenständige Sets mit Namen und Slug - im Shortcode per
set="..."gewählt, nicht länger automatisch über den Post-Type aufgelöst. - Set-Editor hat einen optionalen Bezugs-CPT, der die ACF-Feld-Auswahl im Editor filtert. Im Frontend bleibt das Set CPT-agnostisch.
- Admin-Bereich: Übersicht aller Sets mit Bearbeiten/Löschen/Neu-Anlegen statt CPT-Tabs.
v0.1.0
Hinzugefügt
- ACF-Felder werden auf vCard-3.0-Properties gemappt; leere Felder bleiben in der vCard weg.
- vCard als Inline-SVG-QR-Code und als
.vcf-Download auf jeder Profilseite. - Foto und Logo aus ACF-Bildfeldern landen im Download-vCf, nicht im QR.
- Admin-Bereich „vCards" mit Mapping-Editor, globalen QR-Defaults und Hilfe-Seite.