{"id":346530,"date":"2026-07-31T09:51:18","date_gmt":"2026-07-31T09:51:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lapdi-events\/"},"modified":"2026-07-31T15:43:19","modified_gmt":"2026-07-31T15:43:19","slug":"lapdi-events","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lapdi-events\/","author":23540318,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"LAPDI Events","header_author":"Let A Pro Do IT!","header_description":"Manage recurring public and member events, venues, and organizers, with calendar shortcodes and a The Events Calendar importer.","assets_banners_color":"0c1e36","last_updated":"2026-07-31 15:43:19","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/letaprodoit","header_plugin_uri":"","header_author_uri":"https:\/\/letaprodoit.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sharrondenice","date":"2026-07-31 15:43:19"}},"upgrade_notice":{"1.0.0":"<p>Initial public release. TSP Easy Dev must be installed and active before LAPDI Events can be activated.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3630264,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3630264,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3630264,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3630264,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[416,1486,274024,5881,1149],"plugin_category":[40],"plugin_contributors":[273861,82727],"plugin_business_model":[],"class_list":["post-346530","plugin","type-plugin","status-publish","hentry","plugin_tags-calendar","plugin_tags-events","plugin_tags-organizers","plugin_tags-recurring-events","plugin_tags-venues","plugin_category-calendar-and-events","plugin_contributors-letaprodoit","plugin_contributors-sharrondenice","plugin_committers-letaprodoit","plugin_committers-sharrondenice"],"banners":{"banner":"https:\/\/ps.w.org\/lapdi-events\/assets\/banner-772x250.jpg?rev=3630264","banner_2x":"https:\/\/ps.w.org\/lapdi-events\/assets\/banner-1544x500.jpg?rev=3630264","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lapdi-events\/assets\/icon-128x128.jpg?rev=3630264","icon_2x":"https:\/\/ps.w.org\/lapdi-events\/assets\/icon-256x256.jpg?rev=3630264","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LAPDI Events is a public and member-aware calendar plugin. It provides its own <code>lapdi_event<\/code>, <code>lapdi_venue<\/code> and <code>lapdi_organizer<\/code> administration types, reusable event categories\/venues\/organizers, one-time\/daily\/weekly\/monthly recurrence, and List\/Month\/Day calendar views \u2014 with each event set to either <strong>Public<\/strong> or <strong>Members only<\/strong> visibility.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Reusable event categories, venues and organizers<\/li>\n<li>One-time, daily, weekly and monthly recurrence with a configurable interval and end date<\/li>\n<li>Accessible List, Month and Day views, with search and responsive mobile layouts<\/li>\n<li>Platform-aware venue address links (Apple Maps on Apple devices, Google Maps elsewhere)<\/li>\n<li>Per-event <strong>Public<\/strong> or <strong>Members only<\/strong> audience<\/li>\n<li>Published blog-post follow-ups for event recaps, photos and video<\/li>\n<li>Per-occurrence responses: Planning to attend, Attended or Unable to attend<\/li>\n<li>Member-visible response lists with names and statuses, hidden from public viewers<\/li>\n<li>Administrative attendee log with response removal<\/li>\n<li><code>[lapdi_events]<\/code> List\/Month\/Day calendar shortcode<\/li>\n<li><code>[lapdi_events_preview]<\/code> public home-page preview shortcode<\/li>\n<li>Capability-based administration through <code>manage_lapdi_events<\/code><\/li>\n<li>Members-only event visibility supports an optional membership access integration and otherwise remains limited to event administrators<\/li>\n<li>Idempotent importer from The Events Calendar \u2014 safe to re-run without duplicating already-imported records<\/li>\n<li>No public event archive, REST-exposed event details, or direct event permalinks<\/li>\n<\/ul>\n\n<h4>Required framework and optional member integration<\/h4>\n\n<p>LAPDI Events requires TSP Easy Dev to be installed and active. WordPress will block LAPDI Events activation until that dependency is available and active.<\/p>\n\n<p>An optional compatible membership integration can provide the access decision for \"Members only\" events. Without a compatible membership integration active, only users with <code>manage_lapdi_events<\/code> see Members-only events.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate TSP Easy Dev.<\/li>\n<li>If migrating from The Events Calendar, keep it active during the initial import.<\/li>\n<li>Upload LAPDI Events under <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong> and activate it.<\/li>\n<li>Go to <strong>Events \u2192 Import Existing Events<\/strong> and run the importer if migrating existing data \u2014 it copies records without changing or deleting the originals, and is safe to re-run.<\/li>\n<li>Review the imported <strong>Events<\/strong>, <strong>Venues<\/strong> and <strong>Organizers<\/strong>.<\/li>\n<li>Add the <code>[lapdi_events]<\/code> shortcode to your events page (commonly at <code>\/events\/<\/code>).<\/li>\n<li>Review <strong>Who can see this event?<\/strong> on every event \u2014 new events default to Public.<\/li>\n<li>Deactivate The Events Calendar only after the import and public page have been verified.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20the%20events%20calendar%20plugin%3F\"><h3>Do I need The Events Calendar plugin?<\/h3><\/dt>\n<dd><p>No \u2014 it's only used as a one-time data source if you're migrating existing events into LAPDI Events with the built-in importer. It isn't required afterward.<\/p><\/dd>\n<dt id=\"how%20do%20i%20limit%20an%20event%20to%20logged-in%20members%3F\"><h3>How do I limit an event to logged-in members?<\/h3><\/dt>\n<dd><p>Edit the event and set <strong>Who can see this event?<\/strong> to <strong>Members only<\/strong>. Users approved by a compatible membership integration can view it when one is active; otherwise, only users who can manage events will see it.<\/p><\/dd>\n<dt id=\"can%20i%20show%20events%20on%20the%20front%20end%20without%20exposing%20a%20public%20archive%3F\"><h3>Can I show events on the front end without exposing a public archive?<\/h3><\/dt>\n<dd><p>Yes \u2014 event, venue and organizer post types are intentionally non-public with no REST exposure or direct permalinks. Use <code>[lapdi_events]<\/code> or <code>[lapdi_events_preview]<\/code> to display them.<\/p><\/dd>\n<dt id=\"what%20event-response%20data%20is%20stored%3F\"><h3>What event-response data is stored?<\/h3><\/dt>\n<dd><p>When a signed-in user responds, the plugin stores the WordPress user ID, event and occurrence identifiers, response status, and created\/updated timestamps in the site's database. Event administrators can view and remove all responses. Approved members can see respondent names and response statuses, while public viewers cannot. Users can clear their own responses. The plugin does not send response data to an external service and supports WordPress personal data exports and erasure requests.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>Deleting LAPDI Events permanently deletes all events, venues, organizers, event categories, attendee responses, and related plugin data. This cannot be undone; create a database backup before deleting the plugin. Ordinary deactivation does not remove data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Manage recurring public and member events, venues, organizers and categories.<\/li>\n<li>Display accessible List, Month, Day and preview calendars.<\/li>\n<li>Import existing records idempotently from The Events Calendar.<\/li>\n<li>Record per-occurrence member responses and provide an administrative attendee log.<\/li>\n<li>Support WordPress personal-data exports, erasure requests and privacy-policy guidance.<\/li>\n<li>Attach published blog-post follow-ups to events for recaps, photos and video.<\/li>\n<li>Require TSP Easy Dev using WordPress's dependency header and path-independent runtime detection.<\/li>\n<li>Provide the Events information page under LAPDI Plugins.<\/li>\n<li>Remove all LAPDI Events content and plugin-owned data safely after an administrator confirms permanent plugin deletion.<\/li>\n<\/ul>","raw_excerpt":"Manage recurring public and member events, venues, and organizers, with calendar shortcodes and a The Events Calendar importer.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346530","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=346530"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/letaprodoit"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346530"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346530"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346530"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346530"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346530"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}