RAR Kollektiv
Oxygen, SCF, pretix-Anbindung und 10 eigene MU-Plugins

RAR Kollektiv ist ein Kollektiv für selektive Charity-Raves: ausgesuchte Orte, strikt limitierte Nächte, Tickets ab 15 €, der gesamte Überschuss geht an die Krebsstiftung. Betreiber ist die RAR Kollektiv GbR in Filderstadt mit Alen Zecevic und mir als Gesellschaftern – rarkollektiv.de ist also mein eigenes Projekt. Die Website stellt die Nächte vor, erklärt das Charity-Prinzip und wickelt den Ticketprozess bis zum Kauf im selbst gehosteten pretix ab. Aufbau ab September 2026, Relaunch am 07.10.2026.
Die Aufgabe
Drei Dinge musste die Website leisten. Erstens Nächte als eigene Inhalte mit Status, Datum, Line-up und Spendennachweis. Zweitens einen Ticketprozess, der nicht offen verkauft, sondern Anfragen prüft und erst nach Freigabe einen persönlichen Kauf-Link ausgibt – angebunden an einen Ticketshop, ohne Drittanbieter-Formulare. Drittens einen Spendenstand, der aus den Nachtdaten berechnet wird, statt dass jemand Zahlen von Hand pflegt. Dazu: alle Texte ohne Code änderbar, eine schlanke Startseite, Altersgrenze 18.
Die Umsetzung
Aufbau in Oxygen: Templates und Components
Die Seite läuft auf Oxygen 6.2 mit dem Oxygen Zero Theme, Modern Normalize ist aktiv, der CSS-Präfix ist rar-. Drei Templates reichen: „404“, „Rechtliche Seite“ und „Rave – Einzelseite“. Wiederkehrende Elemente stecken in 21 Components, darunter Nacht-Banner, Line-up-Act, FAQ-Eintrag, Awareness-Karte, Rechenweg-Schritt und die Logo-Varianten. Zehn Seiten bilden die Struktur, bis hin zur geschützten Kaufseite /tickets/kaufen/.
Inhalte und Texte in Secure Custom Fields
Secure Custom Fields 6.9.5 hält 12 Feldgruppen mit 387 Feldern. Die Optionsseite „RAR Kollektiv – Globale Inhalte“ gliedert sich in die Tabs Kontakt & Marke, Menü, Laufband, Fußzeile, Spenden, SEO & Teilen, Rave-Texte, 404-Seite und Tickets. Im Tab Tickets liegen auch der Schalter „Ticketverkauf aktiv“ und die Mailtexte. Die Seitentexte liegen in eigenen Feldgruppen für Startseite, Archiv, Charity, Tickets, Danke, FAQ und Rechtliches; „SEO & Teilen“ hängt an Seiten und Nächten. rar-platzhalter.php ersetzt in allen SCF-Texten die Platzhalter für Organisation, Altersgrenze und E-Mail-Adresse durch die Werte aus Kontakt & Marke – jede Angabe steht genau einmal.
Nächte als eigener Post Type
Nächte liegen im Post Type rar_nacht mit Detailseiten unter /archiv/, etwa /archiv/rar-001/. Die Feldgruppe „Nacht – Angaben“ enthält Edition, Status, Datum, Ort, Line-up, Spendenbetrag, Ticketeinnahmen, Produktionskosten, Spendenbeleg, Plätze und die pretix-Felder. Drei Nächte sind veröffentlicht: RAR #001 „Die erste Nacht“ am 20.11.2026 mit 45 Plätzen und Status „Anfrage offen“, RAR #002 und RAR #003 geplant. Die 7 FAQ-Fragen liegen im Post Type rar_faq und werden auf /faq/ mit der Frage als H2 ausgegeben; ihre Einzeladressen antworten 404.
Ticketprozess: Anfrage, Prüfung, Freigabe
rar-tickets-frontend.php liefert den Shortcode rar_ticket_anfrage, ein eigenes Anfrageformular mit Honeypot, Mindest-Ausfüllzeit, Nonce und Ratenbegrenzung über einen IP-Hash ohne Speicherung der IP. rar-tickets-verwaltung.php verwaltet die Anfragen (nicht öffentlicher Post Type rar_anfrage): Ansichten je Status, Filter nach Nacht und Person, Sortierung „Empfohlen“ und eine stille Sperrliste, deren Anfragen angenommen, aber nie genehmigt werden. rar-tickets.php übernimmt die Freigabe. Genehmigen legt in pretix einen Einmal-Gutschein an und mailt den persönlichen Link; der Gutschein blockiert einen Platz im Kontingent und gilt höchstens 7 Tage oder bis zum Beginn der Nacht. Ablehnen schickt eine neutrale Absage und nimmt die Freigabe vollständig zurück.
pretix-Anbindung und Webhook
rar-pretix.php legt für jede veröffentlichte Nacht mit Datum automatisch ein pretix-Event an: Produkt „Ticket“ als Pay what you want ab 15 €, nur mit persönlichem Gutschein sichtbar, Kontingent aus dem Feld „Plätze“. Bei jedem Speichern zieht es Termin, Kontingent und Live-Status nach; live geht das Event nur mit eingeschaltetem Schalter „Ticketverkauf aktiv“ und Status „Anfrage offen“. API-Token und Widget-Skripte laufen nur über einen festen Host. Der Webhook /rar/v1/pretix markiert bezahlte Anfragen als „gekauft“, entwertet den Gutschein und vergleicht den Namen auf dem Ticket; ist pretix nicht erreichbar, antwortet er mit 503, pretix wiederholt. Der stündliche Cron rar_tickets_abgleich fängt verlorene Webhooks auf, der tägliche rar_tickets_taeglich räumt abgelaufene Links auf. Die Kaufseite /tickets/kaufen/ mit dem Shortcode rar_ticket_kauf bleibt noindex/nofollow und ohne Cache.
Spendenstand und Nachweise
rar-spenden.php rechnet den Spendenstand aus, statt ihn pflegen zu lassen: Gezählt wird jede veröffentlichte Nacht mit Status „Vorbei“ und eingetragenem Betrag; daraus entsteht die Zeile „Bisher gespendet“. Solange nichts abgerechnet ist, bleiben die Felder leer und die Zählerblöcke blenden sich per Bedingung aus. rar-nachweis.php liefert die Werte für den Spendennachweis im Archiv-Banner – Überschuss gleich Ticketeinnahmen minus Produktionskosten, nie negativ – und den Zustand „Ausgebucht“ für das Nacht-Banner. Das Live-Dashboard rar_dashboard zeigt Produktionskosten, bisherige Einnahmen aus bezahlten pretix-Bestellungen und den voraussichtlichen Charity-Überschuss.
SEO, strukturierte Daten und Performance
Ein SEO-Plugin gibt es nicht; rar-seo.php übernimmt Seitentitel, Meta-Beschreibung, Robots, Open Graph und strukturierte Daten: Organization, WebSite, BreadcrumbList, Event auf den Rave-Detailseiten und FAQPage. Geplante Raves und Beiträge mit der Meta _rar_robots_nofollow fehlen in Suche und Sitemap. Die Startseite kommt bei rund 70 KB HTML ohne Bild-Element aus (0 img, 5 Inline-SVGs). Drei selbst gehostete woff2-Subsets – Big Shoulders Display, Archivo, Space Mono – werden über Oxygen-Font-Styles eingebunden und vorgeladen.
Technik im Detail
- WordPress 7.1.3, PHP 8.2, nginx
- Oxygen 6.2 mit Oxygen Zero Theme, Modern Normalize, CSS-Präfix rar-, Breakdance Forms und Breakdance Elements for Oxygen; 3 Templates, 21 Components, 10 Seiten
- Secure Custom Fields 6.9.5 mit 12 Feldgruppen und 387 Feldern
- Post Types rar_nacht (3 veröffentlicht), rar_faq (7 Fragen), rar_anfrage (nicht öffentlich); Backend-Rolle rar_ticketpruefung
- 10 eigene Must-Use-Plugins, zusammen etwa 340 KB und rund 7.100 Zeilen PHP
- rar-tickets.php 1.3.0 (1.572 Zeilen), rar-tickets-frontend.php 1.2.1 (772 Zeilen), rar-tickets-verwaltung.php 1.2.0 (2.040 Zeilen)
- rar-pretix.php 2.2.0 (1.351 Zeilen), rar-seo.php 1.7.1 (611 Zeilen), rar-spenden.php 2.1.0 (302 Zeilen), rar-nachweis.php (141 Zeilen)
- rar-platzhalter.php 1.2.0, rar-typo.php 1.1.0 (geschützte Leerzeichen bei der Ausgabe), rar-oberflaeche.php 1.3.0
- REST-Route /rar/v1/pretix; Cron-Hooks rar_tickets_abgleich (stündlich), rar_tickets_taeglich (täglich)
- Hooks u. a. pre_get_document_title, wp_robots, wp_sitemaps_add_provider, the_generator, acf/format_value, phpmailer_init
- JSON-LD auf der Startseite: Organization und WebSite; robots.txt verweist auf die gefilterte wp-sitemap.xml
- 4 PNG in der Mediathek; Agent Connector for WP für die Wartung per MCP
Design und Rollen
Konzept, Design und Entwicklung stammen von mir; das Impressum nennt nur die Gesellschafter der RAR Kollektiv GbR, Alen Zecevic und mich. Einen externen Auftraggeber gab es nicht. Aufbau ab September 2026, Relaunch am 07.10.2026.
Das Ergebnis
Das Ergebnis ist ein Ticketprozess ohne Drittanbieter-Formulare – Anfrage, Prüfung, persönlicher Kauf-Link, pretix –, bei dem die Website den Shop steuert. Spendenstand und Nachweise werden berechnet statt gepflegt, alle Texte liegen in Secure Custom Fields und lassen sich ohne Code ändern. Mit demselben Stack baue ich auch Websites und Plugins für Kunden.

Projekt-Details
- Jahr
- 2026
- Kunde
- RAR Kollektiv GbR, Filderstadt (eigenes Projekt)
- Rolle
- Konzept, Design & Entwicklung (eigenes Projekt)
- Stack
- Oxygen Builder, PHP, Schema.org, Secure Custom Fields, SEO, WordPress
Interesse an so einem Projekt?
Ich baue Websites, Tools und Apps – schnell, sauber, pixelgenau.
Projekt anfragen

