{"id":273448,"date":"2026-01-10T17:54:28","date_gmt":"2026-01-10T17:54:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/koinonia-link\/"},"modified":"2026-05-20T18:41:11","modified_gmt":"2026-05-20T18:41:11","slug":"koinonia-link","status":"publish","type":"plugin","link":"https:\/\/fur.wordpress.org\/plugins\/koinonia-link\/","author":12029770,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.4","stable_tag":"1.1.4","tested":"7.0","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Koinonia Link","header_author":"Randy Breland (Land Tech Web Designs, Corp)","header_description":"A simple, secure way to track church guests and manage digital connection cards.","assets_banners_color":"b7e9f6","last_updated":"2026-05-20 18:41:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/landtechwebdesigns.com\/product\/koinonia-link\/","header_author_uri":"https:\/\/landtechwebdesigns.com\/product\/koinonia-link\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":619,"num_ratings":1,"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":"brelandr","date":"2026-05-20 19:23:41"},"1.1.2":{"tag":"1.1.2","author":"brelandr","date":"2026-05-20 18:41:11"},"1.1.3":{"tag":"1.1.3","author":"brelandr","date":"2026-05-20 18:41:11"},"1.1.4":{"tag":"1.1.4","author":"brelandr","date":"2026-05-20 18:41:11"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3436840,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3436840,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3539936,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/edit.php?post_type=kc_guest\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"6.9\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"koinonia-link\"}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n$user = get_user_by('login', 'admin');\\nif ($user) {\\n\\twp_set_current_user($user->ID);\\n}\\n\\n$active = get_option('active_plugins', array());\\n$active = array_values(array_filter($active, function($plugin) {\\n\\treturn 'kingdom-connect\\\/kingdom-connect.php' !== $plugin;\\n}));\\nif (!in_array('koinonia-link\\\/koinonia-link.php', $active, true)) {\\n\\t$active[] = 'koinonia-link\\\/koinonia-link.php';\\n}\\nupdate_option('active_plugins', $active);\\n\\nif (!class_exists('KC_Demo_Data')) {\\n\\t$demo_file = WP_PLUGIN_DIR . '\\\/koinonia-link\\\/includes\\\/class-kc-demo-data.php';\\n\\tif (file_exists($demo_file)) {\\n\\t\\trequire_once $demo_file;\\n\\t}\\n}\\n\\nif (class_exists('KC_Demo_Data')) {\\n\\tif (!class_exists('WP_REST_Request')) {\\n\\t\\t$rest_paths = array(\\n\\t\\t\\tABSPATH . 'wp-includes\\\/rest-api.php',\\n\\t\\t\\tABSPATH . 'wp-includes\\\/class-wp-rest-request.php'\\n\\t\\t);\\n\\t\\tforeach ($rest_paths as $path) {\\n\\t\\t\\tif (file_exists($path)) {\\n\\t\\t\\t\\trequire_once $path;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\tif (class_exists('WP_REST_Request')) {\\n\\t\\t$request = new WP_REST_Request('POST', '\\\/koinonia-link\\\/v1\\\/demo-data\\\/generate');\\n\\t\\t$request->set_param('delete_existing', 'true');\\n\\t\\tKC_Demo_Data::get_instance()->rest_generate_demo_data($request);\\n\\t}\\n}\\n\\n$home_page = get_page_by_path('welcome-home');\\nif ($home_page && !is_wp_error($home_page)) {\\n\\tupdate_option('show_on_front', 'page');\\n\\tupdate_option('page_on_front', $home_page->ID);\\n}\\n\\n$church_name = 'Koinonia Link Church';\\n$church_address = '123 Kingdom Way, Faith City, ST 12345';\\n$church_phone = '(555) 555-5555';\\n$primary_contact = $user ? $user->ID : 1;\\nupdate_option('kingdom_connect_church_name', $church_name);\\nupdate_option('kingdom_connect_church_address', $church_address);\\nupdate_option('kingdom_connect_church_phone', $church_phone);\\nupdate_option('kc_primary_contact', $primary_contact);\\nupdate_option('kc_church_worship_style', 'contemporary');\\n\\n$find_page_by_title = function($title) {\\n\\t$query = new WP_Query(\\n\\t\\tarray(\\n\\t\\t\\t'post_type' => 'page',\\n\\t\\t\\t'post_status' => array('publish', 'private', 'draft'),\\n\\t\\t\\t's' => $title,\\n\\t\\t\\t'posts_per_page' => 50,\\n\\t\\t\\t'no_found_rows' => true,\\n\\t\\t\\t'fields' => 'ids'\\n\\t\\t)\\n\\t);\\n\\tforeach ($query->posts as $page_id) {\\n\\t\\t$page = get_post($page_id);\\n\\t\\tif ($page && $page->post_title === $title) {\\n\\t\\t\\treturn absint($page_id);\\n\\t\\t}\\n\\t}\\n\\treturn 0;\\n};\\n\\n$ensure_page = function($title, $content, $status, $slug, $template) use ($find_page_by_title) {\\n\\t$existing_id = $find_page_by_title($title);\\n\\tif ($existing_id) {\\n\\t\\tif (!empty($template)) {\\n\\t\\t\\tupdate_post_meta($existing_id, '_wp_page_template', $template);\\n\\t\\t}\\n\\t\\treturn $existing_id;\\n\\t}\\n\\n\\t$page_data = array(\\n\\t\\t'post_title' => $title,\\n\\t\\t'post_content' => $content,\\n\\t\\t'post_status' => $status,\\n\\t\\t'post_type' => 'page'\\n\\t);\\n\\tif (!empty($slug)) {\\n\\t\\t$page_data['post_name'] = $slug;\\n\\t}\\n\\t$page_id = wp_insert_post($page_data, true);\\n\\tif (!is_wp_error($page_id) && $page_id > 0 && !empty($template)) {\\n\\t\\tupdate_post_meta($page_id, '_wp_page_template', $template);\\n\\t}\\n\\treturn (!is_wp_error($page_id) && $page_id > 0) ? $page_id : 0;\\n};\\n\\n$events_id = 0;\\n$sermons_id = 0;\\n$member_portal_id = 0;\\n\\n$visit_id = $ensure_page('Plan Your Visit', '<!-- wp:koinonia-link\\\/plan-your-visit \\\/-->' . \\\"\\\\n\\\" . '[kc_plan_visit]', 'publish', '', 'template-plan-visit.php');\\nif ($visit_id) {\\n\\tupdate_option('kc_plan_your_visit_page_id', $visit_id);\\n}\\n\\n$directory_id = $ensure_page('Church Directory', '<h2>Church Directory<\\\/h2>\\\\n<p>Connect with members of our church family.<\\\/p>\\\\n[kc_guest_directory]', 'publish', '', '');\\nif ($directory_id) {\\n\\tupdate_option('kc_directory_page_id', $directory_id);\\n}\\n\\n$groups_id = $ensure_page('Small Groups', '<h2>Small Groups<\\\/h2>\\\\n<p>Find a small group that fits your schedule and interests.<\\\/p>\\\\n[kc_small_groups]', 'publish', '', '');\\nif ($groups_id) {\\n\\tupdate_option('kc_groups_page_id', $groups_id);\\n}\\n\\nif (post_type_exists('kc_event')) {\\n\\t$events_id = $ensure_page('Events', '<h2>Upcoming Events<\\\/h2>\\\\n<p>Join us for these upcoming events and activities.<\\\/p>\\\\n[kc_events]', 'publish', '', '');\\n\\tif ($events_id) {\\n\\t\\tupdate_option('kc_events_page_id', $events_id);\\n\\t}\\n}\\n\\nif (post_type_exists('kc_sermon')) {\\n\\t$sermons_id = $ensure_page('Sermons', '<h2>Sermons<\\\/h2>\\\\n<p>Listen to our recent sermons and teachings.<\\\/p>\\\\n[kc_sermons]', 'publish', '', '');\\n\\tif ($sermons_id) {\\n\\t\\tupdate_option('kc_sermons_page_id', $sermons_id);\\n\\t}\\n}\\n\\n$give_id = $ensure_page('Give', '<h2>Give<\\\/h2>\\\\n<p>Thank you for your generous support of our ministry.<\\\/p>\\\\n[kc_give]', 'publish', '', '');\\nif ($give_id) {\\n\\tupdate_option('kc_give_page_id', $give_id);\\n}\\n\\n$my_giving_id = $ensure_page('My Giving', '<h2>My Giving History<\\\/h2>\\\\n[kc_my_giving]', 'private', '', '');\\nif ($my_giving_id) {\\n\\tupdate_option('kc_my_giving_page_id', $my_giving_id);\\n}\\n\\n$leader_portal_id = $ensure_page('Leader Portal', '<h2>Leader Portal<\\\/h2>\\\\n[kc_leader_toolkit]', 'private', '', '');\\nif ($leader_portal_id) {\\n\\tupdate_option('kc_leader_portal_page_id', $leader_portal_id);\\n}\\n\\n$kiosk_id = $ensure_page('Child Check-In Kiosk', '[kc_checkin_kiosk]', 'publish', 'child-check-in-kiosk', '');\\nif ($kiosk_id) {\\n\\tupdate_option('kc_checkin_kiosk_page_id', $kiosk_id);\\n}\\n\\n$volunteer_id = $ensure_page('Volunteer Portal', '<h2>Classroom Roster<\\\/h2>\\\\n[kc_live_roster]', 'private', 'volunteer-portal', '');\\nif ($volunteer_id) {\\n\\tupdate_option('kc_page_id_volunteer_portal', $volunteer_id);\\n}\\n\\n$group_map_id = $ensure_page('Find a Group', '<h2>Find a Small Group Near You<\\\/h2>\\\\n<p>Use our interactive map to find small groups close to your location.<\\\/p>\\\\n[kc_group_map]', 'publish', 'find-a-group', '');\\nif ($group_map_id) {\\n\\tupdate_option('kc_group_map_page_id', $group_map_id);\\n}\\n\\n$connection_id = $ensure_page('Connect With Us', '<h2>Connect With Us<\\\/h2>\\\\n<p>Fill out this form to get connected with our church community.<\\\/p>\\\\n[kc_connect_card]', 'publish', 'connect-with-us', '');\\nif ($connection_id) {\\n\\tupdate_option('kc_connection_card_page_id', $connection_id);\\n}\\n\\nif (function_exists('shortcode_exists') && shortcode_exists('kc_member_portal')) {\\n\\t$member_portal_id = $ensure_page('My Church', '<h2>My Church<\\\/h2>\\\\n<p>Manage your profile, view your groups, track your giving, and see your serving schedule.<\\\/p>\\\\n[kc_member_portal]', 'private', 'my-church', '');\\n\\tif ($member_portal_id) {\\n\\t\\tupdate_option('kc_member_portal_page_id', $member_portal_id);\\n\\t}\\n}\\n\\n$menu_name = 'Koinonia Link Menu';\\n$menu = wp_get_nav_menu_object($menu_name);\\n$menu_id = $menu ? $menu->term_id : wp_create_nav_menu($menu_name);\\nif (!is_wp_error($menu_id) && $menu_id) {\\n\\t$items = wp_get_nav_menu_items($menu_id);\\n\\t$existing = array();\\n\\tif (!empty($items)) {\\n\\t\\tforeach ($items as $item) {\\n\\t\\t\\tif (!empty($item->object_id)) {\\n\\t\\t\\t\\t$existing[(int) $item->object_id] = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t$add_page = function($page_id) use ($menu_id, &$existing) {\\n\\t\\tif (empty($page_id) || isset($existing[$page_id])) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\twp_update_nav_menu_item(\\n\\t\\t\\t$menu_id,\\n\\t\\t\\t0,\\n\\t\\t\\tarray(\\n\\t\\t\\t\\t'menu-item-object-id' => $page_id,\\n\\t\\t\\t\\t'menu-item-object' => 'page',\\n\\t\\t\\t\\t'menu-item-type' => 'post_type',\\n\\t\\t\\t\\t'menu-item-status' => 'publish'\\n\\t\\t\\t)\\n\\t\\t);\\n\\t\\t$existing[$page_id] = true;\\n\\t};\\n\\n\\t$add_page($visit_id);\\n\\t$add_page($groups_id);\\n\\t$add_page($events_id);\\n\\t$add_page($sermons_id);\\n\\t$add_page($give_id);\\n\\t$add_page($kiosk_id);\\n\\t$add_page($connection_id);\\n\\n\\t$locations = get_nav_menu_locations();\\n\\tif (!empty($locations)) {\\n\\t\\t$assigned = false;\\n\\t\\tforeach ($locations as $location => $assigned_menu) {\\n\\t\\t\\tif (empty($assigned_menu)) {\\n\\t\\t\\t\\t$locations[$location] = $menu_id;\\n\\t\\t\\t\\t$assigned = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif (!$assigned && array_key_exists('primary', $locations) && empty($locations['primary'])) {\\n\\t\\t\\t$locations['primary'] = $menu_id;\\n\\t\\t}\\n\\t\\tset_theme_mod('nav_menu_locations', $locations);\\n\\t}\\n}\\n\\nupdate_option('kc_setup_complete', true);\"}]}"}},"all_blocks":{"koinonia-link\/plan-your-visit":{"name":"koinonia-link\/plan-your-visit","title":"Plan Your Visit"}},"tagged_versions":["1.0.0","1.1.2","1.1.3","1.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3436840,"resolution":"1","location":"assets","locale":"","width":2816,"height":1536},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3454174,"resolution":"10","location":"assets","locale":"","width":1544,"height":1987},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3441379,"resolution":"2","location":"assets","locale":"","width":1544,"height":1469},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3441379,"resolution":"3","location":"assets","locale":"","width":1544,"height":1076},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3441379,"resolution":"4","location":"assets","locale":"","width":1544,"height":1438},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3441379,"resolution":"5","location":"assets","locale":"","width":1544,"height":1493},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3441379,"resolution":"6","location":"assets","locale":"","width":1544,"height":848},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3441379,"resolution":"7","location":"assets","locale":"","width":1544,"height":2208},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3441379,"resolution":"8","location":"assets","locale":"","width":1544,"height":835},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3441379,"resolution":"9","location":"assets","locale":"","width":1203,"height":1613}},"screenshots":{"1":"The Guest CRM Dashboard showing the interaction timeline.","2":"The 'Plan Your Visit' Gutenberg block on a mobile device.","3":"The Privacy &amp; Ethics settings panel."}},"plugin_section":[262246],"plugin_tags":[6970,1150,5800,17518,6969],"plugin_category":[39,58],"plugin_contributors":[251791],"plugin_business_model":[],"class_list":["post-273448","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-church","plugin_tags-crm","plugin_tags-donations","plugin_tags-ministry","plugin_tags-sermons","plugin_category-business","plugin_category-user-management","plugin_contributors-brelandr","plugin_committers-brelandr"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/koinonia-link\/assets\/icon-256x256.png?rev=3436840","icon_2x":"https:\/\/ps.w.org\/koinonia-link\/assets\/icon-256x256.png?rev=3436840","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-1.png?rev=3436840","caption":"The Guest CRM Dashboard showing the interaction timeline."},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-2.png?rev=3441379","caption":"The 'Plan Your Visit' Gutenberg block on a mobile device."},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-3.png?rev=3441379","caption":"The Privacy &amp; Ethics settings panel."},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-4.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-5.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-6.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-7.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-8.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-9.png?rev=3441379","caption":""},{"src":"https:\/\/ps.w.org\/koinonia-link\/assets\/screenshot-10.png?rev=3454174","caption":""}],"raw_content":"<!--section=description-->\n<p>Koinonia Link is a WordPress-first Church Management System designed to solve the daily operational challenges of modern ministries. It centralizes member care, communications, and service planning inside your website so your team can manage ministry needs with clarity and confidence.<\/p>\n\n<p>Key solutions and outcomes:\n* <strong>Member Management:<\/strong> Keep guest and member records unified so follow-up and care stay consistent.\n* <strong>Sermon Hosting:<\/strong> Organize sermons and resources in one place for easy discovery and sharing.\n* <strong>Donation Tracking:<\/strong> Monitor giving activity to support stewardship and fundraising goals.\n* <strong>Administrative Workflows:<\/strong> Streamline ministry operations so staff and volunteers stay aligned.<\/p>\n\n<p>Unlike standalone ChMS platforms, Koinonia Link lives inside your website, giving you 100% ownership of your data and a unified experience for your staff and congregation.<\/p>\n\n<h3>Built for WordPress 7.0<\/h3>\n\n<p>Koinonia Link is prepared for WordPress 7.0 workflows:\n* <strong>Abilities API ready:<\/strong> Structured permissions mapping for staff and volunteer roles.\n* <strong>Collaboration friendly:<\/strong> Designed to reduce conflicts when multiple admins work in the editor.<\/p>\n\n<h3>Koinonia Link Premium<\/h3>\n\n<p>Upgrade to unlock the full premium suite:\n* <strong>AI Sermon Multiplier:<\/strong> Convert sermon transcripts into 5-day devotionals and group questions.\n* <strong>Retention Score:<\/strong> Identify guests at risk of leaving with automated scoring.\n* <strong>Ghosting Predictor:<\/strong> Flags guests with no recent interactions.\n* <strong>Pastoral Intelligence:<\/strong> Advanced dashboards and leadership insights.\n* <strong>Member Health Dashboard:<\/strong> Visibility into engagement signals and care needs.\n* <strong>Member Portal:<\/strong> Frontend dashboard for profiles, groups, giving, and serving.\n* <strong>Language Bridge:<\/strong> Translate guest communications and sermon subtitles.\n* <strong>Financial Stewardship:<\/strong> Giving pattern analysis and care alerts.\n* <strong>Automation Engine:<\/strong> Scheduled scans and leader notifications for follow-up.\n* <strong>Smart Automations:<\/strong> Trigger\/action workflows with logs and admin UI.\n* <strong>Safety Dashboard:<\/strong> Tools for safety and security workflows.\n* <strong>Guardian Safety:<\/strong> Emergency alert and panic button features.\n* <strong>Maintenance CMMS:<\/strong> Facilities and asset management system.\n* <strong>Operations \/ Steward System:<\/strong> Facility operations and smart building hooks.\n* <strong>Donor Importers:<\/strong> Breeze CHMS and Planning Center Online giving imports.\n* <strong>Child Checkout Kiosk:<\/strong> Multi-method checkout lookup and pickup verification.\n* <strong>Family Editor:<\/strong> Centralized family record editor for parents, children, allergies, and pickups.\n* <strong>Authorized Pickup Photos:<\/strong> Photo capture and management for pickup contacts.\n* <strong>Photo Consent Workflow:<\/strong> Consent text setting with a linked Terms of Service page.<\/p>\n\n<p>Get Koinonia Link Premium: https:\/\/landtechwebdesigns.com\/product\/koinonia-link-premium\/<\/p>\n\n<p><strong>Live Preview:<\/strong> https:\/\/wordpress.org\/plugins\/koinonia-link\/?preview=1<\/p>\n\n<p><strong>Guest Journey<\/strong>\n* Capture visitors with the Plan Your Visit block and digital connection card.\n* Track guest interactions, tags, and follow-up notes in a centralized CRM.\n* Keep next steps consistent with workflows and staff visibility.<\/p>\n\n<p><strong>Weekend Operations<\/strong>\n* Run check-in through a kiosk-friendly screen for fast guest and family check-in.\n* Organize service plans, teams, and key moments for weekend flow.\n* Manage rooms, resources, and facility requests in one place.<\/p>\n\n<p><strong>Groups &amp; Discipleship<\/strong>\n* Maintain small group records with leader tools and group finder views.\n* Provide group maps and discovery pages to help guests connect quickly.\n* Support volunteer coordination with leader and roster tools.<\/p>\n\n<p><strong>Church Management Features<\/strong>\n* <strong>Plan Your Visit Block:<\/strong> A high-conversion Gutenberg block for guest pre-registration.\n* <strong>Guest CRM:<\/strong> Central guest profiles with interactions, notes, tags, and follow-up history.\n* <strong>Digital Connection Card:<\/strong> Mobile-first registration page optimized for QR code use.\n* <strong>Small Groups Management:<\/strong> Group records, leader tools, group map, and group finder views.\n* <strong>Events Management:<\/strong> Create and list church events with visitor-friendly displays.\n* <strong>Sermons Library:<\/strong> Publish sermons with series and speaker taxonomy support.\n* <strong>Service Planner:<\/strong> Plan services and key moments for weekend flow.\n* <strong>Resources &amp; Facilities:<\/strong> Request and manage rooms, resources, and scheduling.\n* <strong>Check-In Kiosk:<\/strong> Guest-friendly kiosk mode for Sunday morning check-in.\n* <strong>Volunteer Tools:<\/strong> Volunteer portal, live roster, and leader toolkit.\n* <strong>Giving Tools:<\/strong> Giving shortcodes and donor access to personal giving history.\n* <strong>Workflows:<\/strong> Organized follow-up workflows to keep next steps consistent.\n* <strong>Music &amp; Media:<\/strong> Songs library and media tools for worship planning.\n* <strong>Privacy &amp; Ethics First:<\/strong> Built-in tools for data anonymization and privacy compliance.\n* <strong>Developer Friendly:<\/strong> Hooks and filters for customization.<\/p>\n\n<p><strong>Premium Features (Koinonia Link Premium)<\/strong>\nUpgrade to unlock advanced analytics, automation, and safety tools:\n* <strong>AI Sermon Multiplier:<\/strong> Convert sermon transcripts into 5-day devotionals and group questions.\n* <strong>Retention Score:<\/strong> Identify guests at risk of leaving with automated scoring.\n* <strong>Ghosting Predictor:<\/strong> Flags guests with no recent interactions.\n* <strong>Pastoral Intelligence:<\/strong> Advanced dashboards and leadership insights.\n* <strong>Member Health Dashboard:<\/strong> Visibility into engagement signals and care needs.\n* <strong>Member Portal:<\/strong> Frontend dashboard for profiles, groups, giving, and serving.\n* <strong>Language Bridge:<\/strong> Translate guest communications and sermon subtitles.\n* <strong>Financial Stewardship:<\/strong> Giving pattern analysis and care alerts.\n* <strong>Automation Engine:<\/strong> Scheduled scans and leader notifications for follow-up.\n* <strong>Smart Automations:<\/strong> Trigger\/action workflows with logs and admin UI.\n* <strong>Safety Dashboard:<\/strong> Tools for safety and security workflows.\n* <strong>Guardian Safety:<\/strong> Emergency alert and panic button features.\n* <strong>Maintenance CMMS:<\/strong> Facilities and asset management system.\n* <strong>Operations \/ Steward System:<\/strong> Facility operations and smart building hooks.\n* <strong>Donor Importers:<\/strong> Breeze CHMS and Planning Center Online giving imports.\n* <strong>Child Checkout Kiosk:<\/strong> Multi-method checkout lookup and pickup verification.\n* <strong>Family Editor:<\/strong> Centralized family record editor for parents, children, allergies, and pickups.\n* <strong>Authorized Pickup Photos:<\/strong> Photo capture and management for pickup contacts.\n* <strong>Photo Consent Workflow:<\/strong> Consent text setting with a linked Terms of Service page.<\/p>\n\n<p>View Premium: https:\/\/landtechwebdesigns.com\/product\/koinonia-link-premium\/<\/p>\n\n<h3>External Services<\/h3>\n\n<p>Koinonia Link (free) may connect to the following third-party services when configured. Each is optional unless the feature is in use.<\/p>\n\n<p><strong>Google Maps \/ Geocoding API<\/strong>\n* Purpose: Map display, group finder, address geocoding (lat\/lng for group mapping).\n* Data sent: Addresses or zip codes for geocoding; API key for authentication.\n* Terms: https:\/\/cloud.google.com\/maps-platform\/terms\n* Privacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>OpenStreetMap Nominatim<\/strong>\n* Purpose: Free fallback geocoding when no Google Maps API key is configured (group map feature).\n* Data sent: Address strings for geocoding; site URL as User-Agent\/referrer.\n* Terms: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\n* Privacy: https:\/\/www.openstreetmap.org\/privacy<\/p>\n\n<p><strong>QR Server (api.qrserver.com)<\/strong>\n* Purpose: QR code image generation for connection card and guest intake links.\n* Data sent: URLs to encode as QR codes (connection card URL, guest intake link).\n* Terms: https:\/\/goqr.me\/api\/terms\/\n* Privacy: https:\/\/goqr.me\/api\/privacy\/<\/p>\n\n<p><strong>Stripe<\/strong>\n* Purpose: Payment processing for giving\/donations (when Stripe gateway is enabled).\n* Data sent: Payment amounts, payment method details, customer email for transaction processing.\n* Terms: https:\/\/stripe.com\/legal\n* Privacy: https:\/\/stripe.com\/privacy<\/p>\n\n<p><strong>Twilio<\/strong>\n* Purpose: SMS notifications for guest intake leader alerts (when configured).\n* Data sent: Recipient phone numbers, message content for SMS delivery.\n* Terms: https:\/\/www.twilio.com\/legal\/tos\n* Privacy: https:\/\/www.twilio.com\/legal\/privacy<\/p>\n\n<p><strong>Slack<\/strong>\n* Purpose: Pastor\/urgent alerts when a high-priority prayer request or guest need is submitted (optional webhook).\n* Data sent: Alert summaries, guest name, phone, prayer needs to configured Slack webhook.\n* Terms: https:\/\/slack.com\/legal\n* Privacy: https:\/\/slack.com\/legal\/privacy<\/p>\n\n<p><strong>OpenAI<\/strong>\n* Purpose: AI-assisted sentiment analysis and content (Service Planner, guest intake) when OpenAI API key is set.\n* Data sent: Text for analysis or generation; API key for authentication.\n* Terms: https:\/\/openai.com\/policies\/terms-of-use\n* Privacy: https:\/\/openai.com\/policies\/privacy-policy<\/p>\n\n<p><strong>Land Tech Web Designs (License Server)<\/strong>\n* Purpose: License validation for Koinonia Link Premium when the license module is active.\n* Data sent: License key for activation, deactivation, and validation.\n* Server: https:\/\/landtechwebdesigns.com<\/p>\n\n<h4>How do I customize the styles?<\/h4>\n\n<p>Most components inherit your theme styles. For advanced customization, target the <code>.kc-<\/code> CSS classes in your theme or custom CSS.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<p>Koinonia Link uses shortcodes to place functionality on any page or post.<\/p>\n\n<ol>\n<li><p>Plan Your Visit Block\n[kc_plan_visit]<\/p><\/li>\n<li><p>Child Check-In Kiosk\n[kc_checkin_kiosk]<\/p><\/li>\n<li><p>Sermons Grid\n[kc_sermon_grid]<\/p><\/li>\n<li><p>Sermons List\n[kc_sermons]<\/p><\/li>\n<li><p>Events List\n[kc_event_list]<\/p><\/li>\n<li><p>Events Archive\n[kc_events]<\/p><\/li>\n<li><p>Group Finder\n[kc_group_finder]<\/p><\/li>\n<li><p>Group Map\n[kc_group_map]<\/p><\/li>\n<li><p>Small Groups Directory\n[kc_small_groups]<\/p><\/li>\n<li><p>Guest Directory\n[kc_guest_directory]<\/p><\/li>\n<li><p>Connection Card\n[kc_connect_card]<\/p><\/li>\n<li><p>Giving\n[kc_give]<\/p><\/li>\n<li><p>My Giving History\n[kc_my_giving]<\/p><\/li>\n<li><p>Leader Toolkit\n[kc_leader_toolkit]<\/p><\/li>\n<li><p>Leader Portal\n[kc_group_leader_portal]<\/p><\/li>\n<li><p>Volunteer Live Roster\n[kc_live_roster]<\/p><\/li>\n<li><p>Mobile Pass Claim\n[kc_claim_ticket]<\/p><\/li>\n<\/ol>\n\n<h3>Elementor Widgets<\/h3>\n\n<p>The theme ships Elementor widgets that map to these shortcodes or module renders:<\/p>\n\n<ol>\n<li>Koinonia Shortcode (generic widget)<\/li>\n<\/ol>\n\n<p>- Runs the selected shortcode from its module list (see Shortcodes list above).<\/p>\n\n<ol>\n<li>Koinonia Giving<\/li>\n<\/ol>\n\n<p>- kc_give \/ kc_my_giving<\/p>\n\n<ol>\n<li>Koinonia Member Portal (Premium required)<\/li>\n<\/ol>\n\n<p>- kc_member_portal<\/p>\n\n<ol>\n<li>Koinonia Sermon Grid<\/li>\n<\/ol>\n\n<p>- Renders directly (shortcode equivalent: kc_sermon_grid)<\/p>\n\n<ol>\n<li>Koinonia Sermon List<\/li>\n<\/ol>\n\n<p>- Renders directly (shortcode equivalent: kc_sermons)<\/p>\n\n<ol>\n<li>Koinonia Plan a Visit<\/li>\n<\/ol>\n\n<p>- kc_plan_visit<\/p>\n\n<ol>\n<li>Koinonia Events<\/li>\n<\/ol>\n\n<p>- kc_events<\/p>\n\n<ol>\n<li>Koinonia Event List<\/li>\n<\/ol>\n\n<p>- kc_event_list<\/p>\n\n<ol>\n<li>Koinonia Small Groups<\/li>\n<\/ol>\n\n<p>- kc_small_groups<\/p>\n\n<ol>\n<li>Koinonia Guest Directory<\/li>\n<\/ol>\n\n<p>- kc_guest_directory<\/p>\n\n<ol>\n<li>Koinonia Group Map<\/li>\n<\/ol>\n\n<p>- kc_group_map<\/p>\n\n<ol>\n<li>Koinonia Connect Card<\/li>\n<\/ol>\n\n<p>- kc_connect_card<\/p>\n\n<ol>\n<li>Koinonia Leader Toolkit<\/li>\n<\/ol>\n\n<p>- kc_leader_toolkit<\/p>\n\n<ol>\n<li>Koinonia Live Roster<\/li>\n<\/ol>\n\n<p>- kc_live_roster<\/p>\n\n<h3>Pricing Tier Wording<\/h3>\n\n<p>Option A:\n- Starter \u2014 Launch &amp; Connect: Core church features to get online quickly.\n- Growth \u2014 Engage &amp; Organize: Deeper tools for teams and weekly ministry.\n- Pro \u2014 Lead at Scale: Advanced workflows for growing, multi-campus churches.<\/p>\n\n<p>Option B:\n- Starter \u2014 Essentials: Simple setup for sermons, events, and giving.\n- Growth \u2014 Momentum: Better engagement, planning, and member tools.\n- Pro \u2014 Impact: Full platform with automation and premium experiences.<\/p>\n\n<p>Option C:\n- Starter \u2014 Foundation: Everything you need to launch confidently.\n- Growth \u2014 Expansion: Add capacity for volunteers, groups, and care.\n- Pro \u2014 Enterprise: Complete suite for large teams and complex ops.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>koinonia-link<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Use the 'Koinonia Link' menu in the admin sidebar to begin setup.<\/li>\n<li>Add the 'Plan Your Visit' block to any page using the Gutenberg editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20koinonia%20link%3F\"><h3>What is Koinonia Link?<\/h3><\/dt>\n<dd><p>Koinonia Link is a church management plugin for WordPress that helps you track guests, manage groups, publish sermons, run events, handle giving workflows, and coordinate volunteers directly from your website.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20my%20church%20management%20software%3F\"><h3>Does this replace my church management software?<\/h3><\/dt>\n<dd><p>Not necessarily, but it certainly can. Koinonia Link can serve as a lightweight church management system inside WordPress, or it can complement other platforms by powering your public-facing guest and ministry experience.<\/p><\/dd>\n<dt id=\"is%20the%20check-in%20kiosk%20secure%3F\"><h3>Is the Check-In Kiosk secure?<\/h3><\/dt>\n<dd><p>Yes. The kiosk runs through secure AJAX handlers and is designed for use on a dedicated kiosk page. Use a locked-down browser or device kiosk mode for best results.<\/p><\/dd>\n<dt id=\"what%20hardware%20do%20i%20need%20for%20the%20kiosk%3F\"><h3>What hardware do I need for the kiosk?<\/h3><\/dt>\n<dd><p>Any modern browser on a tablet or touchscreen monitor works well. Optional barcode scanners often work as keyboard input devices.<\/p><\/dd>\n<dt id=\"can%20i%20use%20koinonia%20link%20with%20elementor%3F\"><h3>Can I use Koinonia Link with Elementor?<\/h3><\/dt>\n<dd><p>Yes. The plugin includes Elementor widgets for sermons and events so your layouts stay consistent with your design system.<\/p><\/dd>\n<dt id=\"why%20do%20i%20need%20a%20google%20maps%20api%20key%3F\"><h3>Why do I need a Google Maps API key?<\/h3><\/dt>\n<dd><p>Maps are used in the Plan Your Visit experience and group mapping\/geocoding features. A valid key enables map display and location lookup.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Add review request prompt for administrators after 7 days.<\/li>\n<li>Prepared for WordPress 7.0 with Abilities API readiness and improved edit collaboration.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Improve plugin check compliance for nonce handling and core notices.<\/li>\n<li>Update premium upgrade list with Guardian Mode medical alerts.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Add premium upgrade link in plugin row meta.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of Koinonia Link Core.<\/li>\n<li>Added Guest CPT and Interaction logging.<\/li>\n<li>Added 'Plan Your Visit' Gutenberg block.<\/li>\n<\/ul>","raw_excerpt":"Complete church management and CRM for sermons, donations, and ministry coordination inside WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/273448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=273448"}],"author":[{"embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brelandr"}],"wp:attachment":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=273448"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=273448"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=273448"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=273448"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=273448"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=273448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}