{"id":304957,"date":"2026-05-03T06:29:08","date_gmt":"2026-05-03T06:29:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/verenigingsplanner\/"},"modified":"2026-05-03T06:38:26","modified_gmt":"2026-05-03T06:38:26","slug":"verenigingsplanner","status":"publish","type":"plugin","link":"https:\/\/os.wordpress.org\/plugins\/verenigingsplanner\/","author":16570833,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.1","stable_tag":"1.4.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Verenigingsplanner","header_author":"Verenigingsplanner","header_description":"Embed the full Verenigingsplanner suite on your WordPress site: room reservations, workshop bookings, event tickets, volunteer sign-ups, member registration, lending module, match day schedules and a Google Calendar widget \u2014 all via simple shortcodes.","assets_banners_color":"","last_updated":"2026-05-03 06:38:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.verenigingsplanner.nl\/wordpress-plugin","header_author_uri":"https:\/\/www.verenigingsplanner.nl","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"mhagwitjes","date":"2026-05-03 06:28:59"},"1.4.0":{"tag":"1.4.0","author":"mhagwitjes","date":"2026-05-03 06:35:23"},"1.4.1":{"tag":"1.4.1","author":"mhagwitjes","date":"2026-05-03 06:38:26"}},"upgrade_notice":{"1.4.1":"<p>Expands the shortcode reference in the plugin description. No functional changes.<\/p>","1.4.0":"<p>Adds Dutch translation and fixes contributor username. No functional changes.<\/p>","1.3.0":"<p>Adds External Services disclosure required by WordPress.org guidelines. No functional changes.<\/p>","1.2.0":"<p>Security fix: adds proper input sanitization to plugin settings. Update recommended.<\/p>","1.1.0":"<p>Adds the match schedule board shortcode and improves performance by loading widget scripts only when needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3521249,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3521249,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0","1.4.0","1.4.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Plugin settings page","2":"Room booking widget","3":"Match schedule board on a clubhouse TV screen","4":"Volunteer sign-up widget"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[141027,269,1475,1582,58700],"plugin_category":[40],"plugin_contributors":[261694],"plugin_business_model":[],"class_list":["post-304957","plugin","type-plugin","status-publish","hentry","plugin_tags-associations","plugin_tags-booking","plugin_tags-reservations","plugin_tags-rooms","plugin_tags-sports-club","plugin_category-calendar-and-events","plugin_contributors-mhagwitjes","plugin_committers-mhagwitjes"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/verenigingsplanner\/assets\/icon-128x128.png?rev=3521249","icon_2x":"https:\/\/ps.w.org\/verenigingsplanner\/assets\/icon-256x256.png?rev=3521249","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This is the official plugin for Verenigingsplanner (https:\/\/www.verenigingsplanner.nl), developed and maintained by the Verenigingsplanner team.<\/p>\n\n<p>The Verenigingsplanner plugin lets you embed various modules from your Verenigingsplanner account directly on your WordPress website using simple shortcodes. Visitors can make room reservations, buy event tickets, sign up as volunteers, register as a new member, or see today's match schedule \u2013 all without leaving your site.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Room and workshop booking widget<\/li>\n<li>Google Calendar embed<\/li>\n<li>Today's match schedule board (great for clubhouse TV screens)<\/li>\n<li>Event ticket sales<\/li>\n<li>Volunteer and neighbourhood task sign-ups<\/li>\n<li>Member registration form<\/li>\n<li>Lending module<\/li>\n<li>Configurable primary colour<\/li>\n<li>All widgets load only on pages where their shortcode is placed (no impact on other pages)<\/li>\n<\/ul>\n\n<p><strong>Available shortcodes:<\/strong><\/p>\n\n<p><strong>Room &amp; Workshop Booking<\/strong><\/p>\n\n<pre><code>[verenigingsplanner]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>mode=\"rooms\"<\/code> \u2014 Show only rooms (omit to show both rooms and workshops)<\/li>\n<li><code>mode=\"workshops\"<\/code> \u2014 Show only workshops<\/li>\n<li><code>room=\"room-id\"<\/code> \u2014 Embed a single specific room directly<\/li>\n<li><code>workshop=\"workshop-id\"<\/code> \u2014 Embed a single specific workshop directly<\/li>\n<\/ul>\n\n<p><strong>Google Calendar<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_calendar]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>mode=\"MONTH\"<\/code> \u2014 Month view (default)<\/li>\n<li><code>mode=\"WEEK\"<\/code> \u2014 Week view<\/li>\n<li><code>mode=\"AGENDA\"<\/code> \u2014 Agenda \/ list view<\/li>\n<li><code>height=\"600\"<\/code> \u2014 Height in pixels (default: 600)<\/li>\n<li><code>show_title=\"0\"<\/code> \u2014 Hide the calendar title (default: 1 = visible)<\/li>\n<li><code>show_nav=\"0\"<\/code> \u2014 Hide the navigation arrows (default: 1 = visible)<\/li>\n<li><code>show_tabs=\"0\"<\/code> \u2014 Hide the Day\/Week\/Month tabs (default: 1 = visible)<\/li>\n<\/ul>\n\n<p><strong>Match Schedule Board<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_wedstrijddag]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>height=\"700\"<\/code> \u2014 Height in pixels (default: 700)<\/li>\n<li><code>date=\"20-04-2025\"<\/code> \u2014 Show schedule for a specific date instead of today (format: DD-MM-YYYY)<\/li>\n<\/ul>\n\n<p>Tip: for a full-screen clubhouse TV display, open <code>https:\/\/www.verenigingsplanner.nl\/wedstrijddag?apiKey=YOUR_API_KEY<\/code> directly in a browser.<\/p>\n\n<p><strong>Event Ticket Sales<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_tickets]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>event=\"event-id\"<\/code> \u2014 Embed a single specific event instead of the full events overview<\/li>\n<\/ul>\n\n<p><strong>Volunteer &amp; Neighbourhood Tasks<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_vrijwilligers]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>mode=\"verenigingstaken\"<\/code> \u2014 Show only volunteer tasks<\/li>\n<li><code>mode=\"buurttaken\"<\/code> \u2014 Show only neighbourhood tasks<\/li>\n<li>Omit <code>mode<\/code> to show both tabs side by side<\/li>\n<\/ul>\n\n<p><strong>Member Registration<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_leden]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>height=\"700\"<\/code> \u2014 Height in pixels (default: 700)<\/li>\n<\/ul>\n\n<p><strong>Lending Module<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_uitleen]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>height=\"800\"<\/code> \u2014 Height in pixels (default: 800)<\/li>\n<\/ul>\n\n<p><strong>Newsletter Sign-up<\/strong><\/p>\n\n<pre><code>[verenigingsplanner_nieuwsbrief]\n<\/code><\/pre>\n\n<p>Optional parameters:<\/p>\n\n<ul>\n<li><code>height=\"400\"<\/code> \u2014 Height in pixels (default: 400)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Verenigingsplanner platform (https:\/\/www.verenigingsplanner.nl) to render widgets on your WordPress site.<\/p>\n\n<p><strong>What service is used:<\/strong>\nAll shortcodes load widget scripts and data from <code>https:\/\/www.verenigingsplanner.nl<\/code>. This is the Verenigingsplanner SaaS platform \u2014 the same service this plugin is built for.<\/p>\n\n<p><strong>What data is sent and when:<\/strong>\n* Your organisation's API key is sent with every widget request to identify which organisation's data to display. The API key is stored locally in your WordPress database and transmitted only to <code>www.verenigingsplanner.nl<\/code>.\n* When a visitor submits a form through a widget (e.g. a booking request, volunteer sign-up, member registration), the form data they enter is sent to <code>www.verenigingsplanner.nl<\/code> for processing by your organisation's admin.\n* No visitor data is collected silently or without user action. No tracking cookies or analytics are placed by the plugin.<\/p>\n\n<p><strong>Privacy policy:<\/strong> https:\/\/www.verenigingsplanner.nl\/privacy\n<strong>Terms of service:<\/strong> https:\/\/www.verenigingsplanner.nl\/voorwaarden<\/p>\n\n<h3>Support<\/h3>\n\n<p>For questions, problems or feature requests, please visit the support page at https:\/\/www.verenigingsplanner.nl or use the WordPress.org support forum for this plugin.<\/p>\n\n<p>Your API key and account details can be managed in your Verenigingsplanner admin panel at https:\/\/www.verenigingsplanner.nl.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/verenigingsplanner<\/code> directory, or install the plugin directly via the WordPress Plugins screen.<\/li>\n<li>Activate the plugin via the Plugins screen in WordPress.<\/li>\n<li>Go to Settings \u2192 Verenigingsplanner and enter your API key.<\/li>\n<li>Add a shortcode to any page or post.<\/li>\n<\/ol>\n\n<p>Your API key can be found in your Verenigingsplanner admin panel under <strong>Settings \u2192 API<\/strong>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20api%20key%3F\"><h3>Where do I find my API key?<\/h3><\/dt>\n<dd><p>Log in to your Verenigingsplanner admin dashboard and go to Settings. You can generate an API key there.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20appearance%3F\"><h3>Can I customise the appearance?<\/h3><\/dt>\n<dd><p>Yes, you can set the primary colour in the plugin settings. The widget also automatically inherits the font of your theme.<\/p><\/dd>\n<dt id=\"are%20bookings%20confirmed%20immediately%3F\"><h3>Are bookings confirmed immediately?<\/h3><\/dt>\n<dd><p>No, booking requests appear in your Verenigingsplanner dashboard for you to confirm. The visitor receives an automatic confirmation email once you approve the request.<\/p><\/dd>\n<dt id=\"how%20does%20the%20match%20schedule%20board%20work%3F\"><h3>How does the match schedule board work?<\/h3><\/dt>\n<dd><p>The <code>[verenigingsplanner_wedstrijddag]<\/code> shortcode embeds a live board showing today's matches including team names, kick-off times, fields and opponent logos. It refreshes automatically every minute. You can also display it full-screen on a clubhouse TV by opening <code>https:\/\/www.verenigingsplanner.nl\/wedstrijddag?apiKey=YOUR_API_KEY<\/code> in a browser.<\/p><\/dd>\n<dt id=\"do%20the%20widgets%20slow%20down%20my%20website%3F\"><h3>Do the widgets slow down my website?<\/h3><\/dt>\n<dd><p>No. Each widget script is only loaded on pages where the corresponding shortcode is placed. Pages without shortcodes are not affected.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20track%20visitors%3F\"><h3>Does the plugin track visitors?<\/h3><\/dt>\n<dd><p>No. The plugin does not place any tracking cookies or collect any visitor data without explicit user action. Data is only transmitted to Verenigingsplanner when a visitor actively submits a form (e.g. a booking or sign-up).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Updated: Full shortcode reference with all optional parameters added to the plugin description<\/li>\n<li>Added: Support section with contact links<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fixed: Removed invalid contributor username; only mhagwitjes listed<\/li>\n<li>Added: Dutch (nl_NL) translation<\/li>\n<li>Added: Full internationalisation (i18n) support \u2014 all strings now translatable<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: External Services disclosure section to readme (Guideline 6 compliance)<\/li>\n<li>Added: <code>mhagwitjes<\/code> to contributors list<\/li>\n<li>Added: <code>[verenigingsplanner_nieuwsbrief]<\/code> shortcode documented in readme<\/li>\n<li>Updated: Clarified this is the official plugin by the Verenigingsplanner team<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fix: Added sanitize_callback to all register_setting() calls (sanitize_text_field for API key, sanitize_hex_color for primary color)<\/li>\n<li>Updated: Tested up to WordPress 6.9<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: <code>[verenigingsplanner_wedstrijddag]<\/code> shortcode for embedding today's match schedule board<\/li>\n<li>New: Lending module shortcode <code>[verenigingsplanner_uitleen]<\/code><\/li>\n<li>Improvement: Widget scripts are now only loaded on pages that use a shortcode<\/li>\n<li>Improvement: Added uninstall hook to clean up plugin settings on removal<\/li>\n<li>Fix: Corrected plugin name typos in documentation<\/li>\n<li>Updated: Tested up to WordPress 6.7<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Embed room booking, match schedules, volunteer sign-ups, member registration and more from Verenigingsplanner on your WordPress website.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304957"}],"author":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mhagwitjes"}],"wp:attachment":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304957"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304957"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304957"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304957"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304957"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}