Plugin WP für Veranstaltungsanmeldung gesucht

thobie

thobie

Aktives Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
1.069
Reaktionspunkte
187
Ich habe mir jetzt den Wolf gesucht und zig Plugins geprüft, zum Teil installiert und getestet.

Ich suche kein Plugin mit eigener Anmeldeseite, Kalender, Terminen, Veranstaltungen, Registrierung, Bezahlmöglichkeit, Benachrichtigungen, Statistiken usw. usw.

Folgender Einsatz: In einem Beitrag wird eine Veranstaltung angekündigt. Ein Leser soll sich mit einem einfachen Anmeldeformular unter dem Veranstaltungshinweis anmelden können. Wichtig sind nur seine Kontaktdaten, eine Mailbenachrichtigung an den Admin/eventuell weitere Personen und eine Übersicht der Registrierungen im Backend. Es geht im Einzelfall eher darum, ob zum Beispiel zu einer Lesung 2 Personen oder 20 Personen kommen wollen.
 
Ein Ansatz könnte sein einen Mail-Counter einzubauen; jedesmal wenn ein Formular eine Mail erfolgreich versendet hat, wird das gezählt.
Mit dem Plugin Contact Form 7 – Dynamic Text Extension und einer Erweiterung mit einem Code-Snippet in der functions.php:

How to create a mail counter for Contact Form 7
https://sevenspark.com/tutorials/how-to-create-a-counter-for-contact-form-7

Damit sollte so auch bsw. eine Ausgabe im Frontend möglich sein, wo der Counter angezeigt würde.
Contact-form-7 ist ziemlich mächtig und mittlerweile gut erweiterbar.
Benötigst du diesen Mail-Counter mehrfach (mehrere Formulare mit jeweils Zählungen), kann man das Code-Snippet mit IDs multipliziert anlegen.
 
Danke, Difool, nach der Entscheidung, nur ein kleines Anmeldeformular mit einem Formulareditor und kein Veranstaltungstool mit Registrierung zu verwenden, habe ich jetzt einige Tools ausprobiert. https://de.wordpress.org/plugins/search/form/ Sieben habe ich in meiner Entwicklungsumgebung installiert. Zwei getestet, die auch sehr ansprechend funktionierten. Gescheitert ist dann aber immer alles beim fehlerhaften oder nicht funktionierenden Mailversand der Benachrichtigungen.

Ich habe mich dann für den CF7 entschieden, den ich schon für Kontaktformulare verwende und der sehr zuverlässig funktioniert. Die Vorgehensweise mit dem Zähler habe ich durchgeführt und ihn eingebaut. Es funktioniert jetzt alles zufriedenstellend. Jetzt muss der Verein noch sein Feedback dazu geben.

Einziges Manko: Ich habe beim CF7 leider keine Übersicht im Backend, wer sich zu einer Veranstaltung angemeldet hat. Und somit eine bessere Übersicht als der einfache Zähler, der in den Benachrichtungsmails mitgesendet und hochgezählt wird.
 
Schau dir mal cf7-views an:
https://wordpress.org/plugins/cf7-views/

Allerdings benötigt man die Pro-Version des Plugins für User-Rechte-Beschränkungen:
Pro-Plugin enthält Optionen, um den Zugriff auf die Formulareingaben nur auf angemeldete Benutzer zu beschränken.
So können Website-Administratoren den Benutzern erlauben, nur ihre Eingaben zu sehen.

Die Ausgabe der Formulardaten wird mit einem Shortcode übergeben –
diesen Shortcode könnte man alternativ dafür benutzen, um mit einem Code Snippet
in der functions.php eine „Info-Box“ im Dashboard anzeigen zu lassen.

Kannst ja testen und schauen, ob die Formulardaten offen im Frontend zu erreichen wären,
auch wenn man den Shortcode des Plugins nicht in einer Page oder Post benutzt.
 
Jetzt haben wir uns falsch verstanden. Die Übersicht der angemeldeten Besucher soll nicht im Frontend erscheinen –> cf7-views, das geht niemanden etwas an, wieviele Besucher und wer sich angemeldet hat. Ich brauche das nur als Administrator im Backend. Andere Formularplugins bieten so etwas an.

Und als Zusatzfrage: Der implantierte Zähler funktioniert ja. Sagst Du mir noch, wie ich a) ihn nach stattgefundener Veranstaltung für dieses Anmeldeformular wieder auf „0“ setze oder b) mehrere Zähler für mehrere Formulare für mehrere Veranstaltungen einbinde?
 
Und als Zusatzfrage: Der implantierte Zähler funktioniert ja. Sagst Du mir noch, wie ich a) ihn nach stattgefundener Veranstaltung für dieses Anmeldeformular wieder auf „0“ setze oder b) mehrere Zähler für mehrere Formulare für mehrere Veranstaltungen einbinde?
Der Chris hat das in den Kommentaren für einen User beantwortet.

Für multiple Counter fügt man ein Array „counter_id“ hinzu, damit dort die Variable der „counter_id“ gesetzt werden kann.
Für jeden einzelnen Form-Mail-Counter benötigts du ein entsprechendes Code-Snippet für die functions.php –
in denen die Variablen IDs angepasst werden müssen:

//Define the key to store in the database
Bei null hast du angefangen define( 'CF7_COUNTER', 'cf7-counter' );,
der Zweite wäre define( 'CF7_COUNTER_1', 'cf7-counter-1' );,
der nächste define( 'CF7_COUNTER_2', 'cf7-counter-2' );…usw.

Beispiel cf7-counter-1
PHP:
//Define the key to store in the database
define( 'CF7_COUNTER_1', 'cf7-counter-1' );

//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter($atts){
extract( shortcode_atts( array(
'counter_id' => '',
), $atts ) );
$val = get_option( CF7_COUNTER_1 . $counter_id, 0) + 1; //Erhoeht den aktuellen Zaehlerstand bei COUNTER_1
return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
So müsste der Code in den Contact Form 7-Formulareinstellungen aussehen für 'cf7-counter-1':
[dynamichidden cf7-counter-1 "CF7_counter counter_id='1' "]

So müsste der Code in den Contact Form 7-Formulareinstellungen aussehen für 'cf7-counter-2':
[dynamichidden cf7-counter-2 "CF7_counter counter_id='2' "]

Und damit der Counter bei multiplen Einsätzen auch jeweils hochzählt, bedarf es anscheinend die mail_sent-action
der jeweiligen counter-ID zu pushen.

Speichert den aktuellen Zaehlerstand bei COUNTER_1 in der Datenbanktabelle:
PHP:
//Action performed when the mail is actually sent by CF7
function cf7dtx_increment_mail_counter(){
$val = get_option( CF7_COUNTER_1, 0) + 1; //Increment the current count
update_option(CF7_COUNTER_1, $val); //Update the settings with the new count
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter');

Löschen der Zählerstände der cf7-counter(-ID)
Das müsste man wohl manuell für ein „schnell und einfach“ in der Datenbank machen:
wp_options > cf7-counter > wert: 0
wp_options > cf7-counter-1 > wert: 0
wp_options > cf7-counter-2 > wert: 0
 
Moin, Difool, danke für die Erläuterungen. Damit es nicht zu kompliziert wird und da ich annehme, dass der Verein nicht gleichzeitig mehrere Veranstaltungen anbietet, auf die sich Interessierte anmelden müssen, wähle ich Option 2, setze den Zählerstand jeweils in der Datenbank zurück und verwende nur ein Anmeldeformular.
 
Alles klar.

Und falls es sinnvoll erscheinen sollte, kann man den Counter auch runterzählen lassen.
Beide Variablen im Code dann damit ersetzen:
$val = get_option( CF7_COUNTER, 95) - 1;

Hier im Beispiel sind bsw. 95 Plätze vorhanden und je versandte Form-Mail wird -1 runtergezählt.
Ergibt Sinn, wenn man den Counter z.B. bei Veranstaltungen dann im Frontend anzeigen lassen möchte
und es evtl. Platz-Anzahl gibt oder so.

Und per css noch bisserl pimpen: https://freefrontend.com/css-animated-counters/
:xsmile:
 
Zurück
Oben Unten