{"id":332542,"date":"2026-06-29T06:54:40","date_gmt":"2026-06-29T06:54:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vereins-geburtstage\/"},"modified":"2026-06-29T06:41:23","modified_gmt":"2026-06-29T06:41:23","slug":"vereins-geburtstage","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vereins-geburtstage\/","author":12466358,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"trunk","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"InnovativeK Vereins-Geburtstage","header_author":"Hagen K\u00f6ckritz","header_description":"Manages member birthdays via CSV import and sends birthday greetings using randomly chosen templates. Daily summary email at 9:00 a.m. when birthdays are due; sending manually by button or fully automatic.","assets_banners_color":"","last_updated":"2026-06-29 06:41:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/innovative-k.de","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5":{"tag":"1.5","author":"HagenKoeckritz","date":"2026-06-29 06:54:02"}},"upgrade_notice":{"1.5.0":"<p>Final compliance fix for the WordPress.org Plugin Directory. No feature changes.<\/p>","1.4.0":"<p>Quality and security hardening for the WordPress.org Plugin Directory. No feature changes.<\/p>","1.3.0":"<p>Versand-Kennzeichnung, 7-Tage-Vorschau und sortierbare Personenliste.<\/p>","1.2.0":"<p>Personen lassen sich nun manuell hinzuf\u00fcgen; Liste komplett l\u00f6schbar mit Nachfrage.<\/p>","1.1.0":"<p>Branding auf InnovativeK, vollautomatischer Versand und eingebaute Anleitung.<\/p>","1.0.0":"<p>Erste Ver\u00f6ffentlichung.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3589534,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3589534,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3589534,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3589534,"resolution":"1","location":"assets","locale":"","width":1061,"height":402},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3589534,"resolution":"2","location":"assets","locale":"","width":1207,"height":683},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3589534,"resolution":"3","location":"assets","locale":"","width":1695,"height":865},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3589534,"resolution":"4","location":"assets","locale":"","width":972,"height":884},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3589534,"resolution":"5","location":"assets","locale":"","width":1049,"height":877}},"screenshots":{"1":"\u00dcbersicht der heutigen Geburtstage und Versand-Knopf.","2":"CSV-Import.","3":"Vorlagenverwaltung mit Platzhaltern.","4":"Einstellungen inkl. Vollautomatik."}},"plugin_section":[],"plugin_tags":[1435,567,267,269369,63398],"plugin_category":[41],"plugin_contributors":[268061],"plugin_business_model":[],"class_list":["post-332542","plugin","type-plugin","status-publish","hentry","plugin_tags-birthday","plugin_tags-csv","plugin_tags-email","plugin_tags-geburtstag","plugin_tags-verein","plugin_category-communication","plugin_contributors-hagenkoeckritz","plugin_committers-hagenkoeckritz"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/icon.svg?rev=3589534","icon":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/icon.svg?rev=3589534","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/screenshot-1.png?rev=3589534","caption":"\u00dcbersicht der heutigen Geburtstage und Versand-Knopf."},{"src":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/screenshot-2.png?rev=3589534","caption":"CSV-Import."},{"src":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/screenshot-3.png?rev=3589534","caption":"Vorlagenverwaltung mit Platzhaltern."},{"src":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/screenshot-4.png?rev=3589534","caption":"Einstellungen inkl. Vollautomatik."},{"src":"https:\/\/ps.w.org\/vereins-geburtstage\/assets\/screenshot-5.png?rev=3589534","caption":""}],"raw_content":"<!--section=description-->\n<p>Vereins-Geburtstage manages your members' birthdays and sends personal birthday greetings by email, automatically or at the push of a button. It is designed for clubs and associations (\"Vereine\") and is fully bilingual (English and German).<\/p>\n\n<p>Members are imported from a CSV file or added manually. On re-import, an existing entry with the same email address is updated, so no duplicates are created. Every morning at 9:00 a.m. the plugin checks whether anyone has a birthday and, only then, sends a summary email to the configured address with the names and a link to the admin area. There you can see today's birthdays, a preview of the upcoming birthdays in the next seven days, and send the greetings with one click. Optionally, the plugin sends them fully automatically.<\/p>\n\n<p>For the texts you can define any number of templates with the placeholders <code>{vorname}<\/code> (first name), <code>{nachname}<\/code> (last name) and <code>{absender}<\/code> (sender). One template is chosen at random per person so the greetings stay varied. Both the overview and the people list show for whom a greeting has already been sent in the current year. The people list can be sorted by first name, last name, birthday or email by clicking the column headers.<\/p>\n\n<p>The plugin is privacy-friendly: only the imported data is stored in your own database, and no external services are used.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>CSV import (first name, last name, birthday, email) with automatic delimiter and date detection<\/li>\n<li>Manual adding of individual people<\/li>\n<li>Daily summary at 9:00 a.m. \u2013 only when at least one birthday is due<\/li>\n<li>Sending manually by button or fully automatic<\/li>\n<li>Any number of templates with placeholders, chosen at random per person<\/li>\n<li>Marking of greetings already sent<\/li>\n<li>Preview of birthdays in the next 7 days<\/li>\n<li>Sortable people list<\/li>\n<li>Whole list deletable (with confirmation)<\/li>\n<li>Built-in help, bilingual EN\/DE<\/li>\n<\/ul>\n\n<p><strong>Deutsch<\/strong><\/p>\n\n<p>Vereins-Geburtstage verwaltet die Geburtstage Deiner Mitglieder und versendet automatisch oder per Knopfdruck pers\u00f6nliche Geburtstagsgr\u00fc\u00dfe per E-Mail. Mitglieder werden per CSV importiert oder manuell erfasst; bei gleicher E-Mail wird ein vorhandener Eintrag \u00fcberschrieben. T\u00e4glich um 9:00 Uhr gibt es \u2013 nur bei anstehenden Geburtstagen \u2013 eine Zusammenfassungsmail. Vorlagen mit den Platzhaltern <code>{vorname}<\/code>, <code>{nachname}<\/code> und <code>{absender}<\/code> werden pro Person zuf\u00e4llig gew\u00e4hlt. Die Personenliste ist sortierbar, bereits versendete Gr\u00fc\u00dfe werden gekennzeichnet. Das Plugin nutzt keine externen Dienste.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Plugin als ZIP unter \u201ePlugins \u2192 Installieren \u2192 Plugin hochladen\" hochladen und aktivieren.<\/li>\n<li>Im Men\u00fc \u201eGeburtstage\" eine CSV-Datei importieren.<\/li>\n<li>Unter \u201eVorlagen\" eigene Texte hinterlegen.<\/li>\n<li>Unter \u201eEinstellungen\" Absender und ggf. den vollautomatischen Versand konfigurieren.<\/li>\n<li>Die Anleitung ist jederzeit im Reiter \u201eAnleitung\" verf\u00fcgbar.<\/li>\n<\/ol>\n\n<p><strong>Hinweis:<\/strong> F\u00fcr punktgenaue 9:00-Uhr-Ausl\u00f6sung empfiehlt sich ein echter Server-Cronjob auf <code>wp-cron.php<\/code>. F\u00fcr zuverl\u00e4ssigen Mailversand ein SMTP-Plugin (z. B. WP Mail SMTP).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"in%20welchem%20format%20muss%20die%20csv%20vorliegen%3F\"><h3>In welchem Format muss die CSV vorliegen?<\/h3><\/dt>\n<dd><p>Vier Spalten: Vorname, Nachname, Geburtstag, E-Mail. Trennzeichen Semikolon oder Komma. Datum als TT.MM.JJJJ oder JJJJ-MM-TT.<\/p><\/dd>\n<dt id=\"werden%20bestehende%20mitglieder%20beim%20import%20doppelt%20angelegt%3F\"><h3>Werden bestehende Mitglieder beim Import doppelt angelegt?<\/h3><\/dt>\n<dd><p>Nein. Ein Eintrag mit gleicher E-Mail-Adresse wird \u00fcberschrieben.<\/p><\/dd>\n<dt id=\"werden%20die%20mails%20wirklich%20nur%20bei%20einem%20geburtstag%20versendet%3F\"><h3>Werden die Mails wirklich nur bei einem Geburtstag versendet?<\/h3><\/dt>\n<dd><p>Ja. Die Zusammenfassung geht nur raus, wenn mindestens eine Person Geburtstag hat.<\/p><\/dd>\n<dt id=\"kann%20ich%20den%20versand%20automatisieren%3F\"><h3>Kann ich den Versand automatisieren?<\/h3><\/dt>\n<dd><p>Ja, in den Einstellungen l\u00e4sst sich der vollautomatische Versand um 9:00 Uhr aktivieren.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Final i18n fix: corrected placement of a translator comment flagged by the Plugin Check.<\/li>\n<li>Completes the code quality and security hardening for the WordPress.org Plugin Directory.<\/li>\n<li>No changes to features or behaviour.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Code quality and security hardening for the WordPress.org Plugin Directory.<\/li>\n<li>All output is now properly escaped; database queries reviewed and secured.<\/li>\n<li>CSV import now uses the WordPress filesystem API instead of direct file functions.<\/li>\n<li>Date handling switched to timezone-safe functions.<\/li>\n<li>Added translator comments for all strings with placeholders.<\/li>\n<li>readme rewritten in English (the plugin interface remains bilingual German\/English).<\/li>\n<li>No changes to features or behaviour.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Kennzeichnung in der \u00dcbersicht und Personenliste, ob im laufenden Jahr bereits eine Mail versendet wurde.<\/li>\n<li>Vorschau der anstehenden Geburtstage der n\u00e4chsten 7 Tage.<\/li>\n<li>Personenliste nach Vorname, Nachname, Geburtstag oder E-Mail sortierbar (Klick auf Spaltenkopf); Standard ist Sortierung nach Geburtstag.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Personen k\u00f6nnen in der Personenliste manuell hinzugef\u00fcgt werden.<\/li>\n<li>Button \u201eGesamte Liste l\u00f6schen\" mit Sicherheitsabfrage.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Plugin-Slug und Branding auf InnovativeK umgestellt.<\/li>\n<li>Optionaler vollautomatischer Versand um 9:00 Uhr.<\/li>\n<li>Eingebaute Anleitung im Adminbereich.<\/li>\n<li>Zweisprachig: Deutsch und Englisch.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Erste Ver\u00f6ffentlichung.<\/li>\n<\/ul>","raw_excerpt":"Birthday greetings by email for clubs and associations: CSV import, random templates, a daily 9:00 a.m. summary, and sending by button or fully automa &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/332542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=332542"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hagenkoeckritz"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=332542"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=332542"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=332542"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=332542"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=332542"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=332542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}