{"id":353247,"date":"2026-08-31T07:39:18","date_gmt":"2026-08-31T07:39:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/comunitix\/"},"modified":"2026-08-31T07:39:11","modified_gmt":"2026-08-31T07:39:11","slug":"comunitix","status":"publish","type":"plugin","link":"https:\/\/bho.wordpress.org\/plugins\/comunitix\/","author":23548518,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.1","stable_tag":"2.1.1","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Comunitix","header_author":"Comunitix","header_description":"Zeigt Neuigkeiten, Termine und Veranstaltungen aus der Comunitix-Vereinsverwaltung auf der eigenen Website an. Gepflegt wird nur an einer Stelle.","assets_banners_color":"404360","last_updated":"2026-08-31 07:39:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/comunitix.de\/wordpress-plugin","header_author_uri":"https:\/\/comunitix.de","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.1":{"tag":"2.1.1","author":"comunitix","date":"2026-08-31 07:39:11","revision":3673575}},"upgrade_notice":{"2.0.0":"<p>Existing settings remain unchanged; all new capabilities are switched off until you switch\nthem on. To use them, enter a connection secret once \u2014 most easily via the pairing code.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3673938,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3673938,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3673938,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3673938,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"comunitix\/news":{"name":"comunitix\/news","title":"News"},"comunitix\/termine":{"name":"comunitix\/termine","title":"Termine"},"comunitix\/veranstaltungen":{"name":"comunitix\/veranstaltungen","title":"Veranstaltungen"}},"tagged_versions":["2.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings with pairing and connection test.","2":"The \"Comunitix: Dates\" block in the editor.","3":"Dates and events on an association website.","4":"The contact form with consent."}},"plugin_section":[],"plugin_tags":[8874,416,14241,1486,1248],"plugin_category":[40],"plugin_contributors":[278433],"plugin_business_model":[],"class_list":["post-353247","plugin","type-plugin","status-publish","hentry","plugin_tags-association","plugin_tags-calendar","plugin_tags-club","plugin_tags-events","plugin_tags-news","plugin_category-calendar-and-events","plugin_contributors-comunitix","plugin_committers-comunitix"],"banners":{"banner":"https:\/\/ps.w.org\/comunitix\/assets\/banner-772x250.png?rev=3673938","banner_2x":"https:\/\/ps.w.org\/comunitix\/assets\/banner-1544x500.png?rev=3673938","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/comunitix\/assets\/icon-128x128.png?rev=3673938","icon_2x":"https:\/\/ps.w.org\/comunitix\/assets\/icon-256x256.png?rev=3673938","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Most clubs and associations already have a website \u2014 and still maintain their calendar twice:\nonce in their management software, once on the site. Sooner or later one of them is wrong.<\/p>\n\n<p>This plugin removes the cause rather than the symptom. It connects your existing WordPress\nsite to your Comunitix association management:<\/p>\n\n<ul>\n<li><strong>News<\/strong> \u2014 the posts your association has published.<\/li>\n<li><strong>Dates<\/strong> \u2014 the upcoming public entries from the association calendar.<\/li>\n<li><strong>Events<\/strong> \u2014 approved events, with registration status and a registration link.<\/li>\n<\/ul>\n\n<p>You can embed them with <strong>blocks<\/strong> in the block editor, with <strong>shortcodes<\/strong> in classic themes\nand page builders such as Elementor, or with a <strong>widget<\/strong> in the sidebar.<\/p>\n\n<p>Note: the plugin's own interface is currently in German, matching its primary audience.\nTranslations are welcome via translate.wordpress.org.<\/p>\n\n<h4>You decide which direction<\/h4>\n\n<p>The plugin can work in both directions \u2014 but never in both at once for the same thing. Two\nsystems allowed to change the same object produce two truths.<\/p>\n\n<ul>\n<li><strong>Display<\/strong> (default): content is fetched at display time and not copied. One truth,\nimmediately up to date.<\/li>\n<li><strong>Create real posts<\/strong> (optional): for associations that need their own detail pages that\nsearch engines can find. Comunitix then leads; such posts are locked in the WordPress\neditor and carry a notice, so nobody invests work that the next sync overwrites.<\/li>\n<li><strong>Import dates from WordPress<\/strong> (optional): if you maintain your calendar with \"The Events\nCalendar\" and want to keep doing so, let Comunitix fetch the dates from there.<\/li>\n<\/ul>\n\n<h4>Sign in with a Comunitix account (optional)<\/h4>\n\n<p>Members can sign in to your website with their Comunitix credentials \u2014 which lets you set up\nprotected areas without anyone needing a second password.<\/p>\n\n<p><strong>No member data is copied in the process.<\/strong> WordPress creates an account on first sign-in,\nfor exactly the person signing in. Someone who never visits your website has no account there.<\/p>\n\n<p>The sign-in itself is handled by the established \"OpenID Connect Generic\" plugin; this plugin\nonly contributes the mapping from Comunitix roles to WordPress roles. The WordPress\nadministrator role is <strong>never<\/strong> granted, and no existing rights are taken away from anyone.<\/p>\n\n<h4>Contact form (optional)<\/h4>\n\n<p>The shortcode <code>[comunitix-kontakt]<\/code> provides a form whose submissions land in the inbox of\nyour association management instead of an email account. Spam protection without a captcha\nand without third parties: a hidden field, a minimum time on page, and a WordPress nonce.<\/p>\n\n<h4>Styling<\/h4>\n\n<p>The plugin ships as little CSS of its own as possible: semantic markup with clear class names\nand a minimal base layout (spacing and arrangement only, no colours or fonts), which can be\nswitched off in the settings.<\/p>\n\n<h4>Resilience<\/h4>\n\n<p>Responses are cached as a WordPress transient (default: 15 minutes). If your association\nmanagement is unreachable for a moment, the page shows the last known state instead of an\nerror. For visitors that is always the better answer.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to <strong>Comunitix<\/strong>, an association and community management system.\nWithout that connection the plugin has no function \u2014 it exists solely as a connector to this\nservice.<\/p>\n\n<p><strong>You choose the address yourself.<\/strong> Comunitix can run as a hosted service at comunitix.de or\non a server of your choosing; the plugin only ever contacts the address you enter in the\nsettings.<\/p>\n\n<h4>When data is transmitted, and which<\/h4>\n\n<ul>\n<li><strong>When fetching content<\/strong> (on page views, throttled by the cache): the website key, this\nsite's host name and the plugin version are sent. <strong>No visitor data<\/strong> is sent \u2014 no name, no\nIP address, no cookies, no tracking. The request is made from this site's server.<\/li>\n<li><strong>When setting up with a pairing code<\/strong> (once, triggered by you): the pairing code and this\nsite's host name are sent.<\/li>\n<li><strong>When the contact form is submitted<\/strong> (only if you use it): the details entered by the\nsender \u2014 name, email address, optionally phone number, subject and message \u2014 as well as the\nwording of the consent they agreed to.<\/li>\n<li><strong>When signing in with a Comunitix account<\/strong> (only if you use it): the sign-in runs in the\nbrowser of the person signing in, between them and Comunitix; this plugin only maps the\nrole afterwards.<\/li>\n<\/ul>\n\n<p><strong>Received and displayed<\/strong> is exclusively content your association has published: post text\nand images, calendar dates, events, and the association's basic details.<\/p>\n\n<h4>Provider and terms<\/h4>\n\n<p>Provider of the hosted service: Comunitix \u2014 https:\/\/comunitix.de\nTerms of use: https:\/\/comunitix.de\/agb\nPrivacy policy: https:\/\/comunitix.de\/datenschutz<\/p>\n\n<p>If you run Comunitix yourself, your own terms apply and you are the recipient of the data.<\/p>\n\n<p>Under <strong>Tools \u2192 Privacy<\/strong> the plugin supplies suggested wording you can adopt into your\nprivacy policy.<\/p>\n\n<!--section=installation-->\n<h4>Quick setup (recommended)<\/h4>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>In your association management, under <strong>Association \u2192 Options \u2192 WordPress<\/strong>, generate a\n<strong>pairing code<\/strong> \u2014 eight characters, valid for fifteen minutes.<\/li>\n<li>In WordPress, under <strong>Settings \u2192 Comunitix \u2192 Quick setup<\/strong>, enter the address of your\nassociation management and the code, then <strong>Pair now<\/strong>. The plugin fetches the key and the\nconnection secret by itself.<\/li>\n<li>Embed content \u2014 block, shortcode or widget.<\/li>\n<\/ol>\n\n<h4>Manual setup<\/h4>\n\n<p>If you prefer entering things yourself, create a key in your association management under\n<strong>Association \u2192 Options \u2192 Website keys<\/strong> and enter the address and the key under <strong>Settings \u2192\nComunitix<\/strong>. The key is shown in plain text <strong>exactly once<\/strong> \u2014 copy it immediately. Then use\n<strong>Test connection<\/strong>: if the association name and logo appear, everything is in order.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20comunitix%20account%3F\"><h3>Do I need a Comunitix account?<\/h3><\/dt>\n<dd><p>Yes. The plugin displays content from a Comunitix association management system; without\naccess to one it has no function.<\/p><\/dd>\n<dt id=\"which%20data%20does%20the%20plugin%20transmit%3F\"><h3>Which data does the plugin transmit?<\/h3><\/dt>\n<dd><p>For displaying content: your website key, this site's host name and the plugin version \u2014 and\n<strong>no<\/strong> visitor data. If you additionally use the contact form or the sign-in, that changes\ndeliberately; exactly what flows when is documented in full under \"External services\".<\/p><\/dd>\n<dt id=\"are%20images%20loaded%20from%20a%20foreign%20server%3F\"><h3>Are images loaded from a foreign server?<\/h3><\/dt>\n<dd><p>When only displaying, yes: post images and the association logo are loaded directly from your\nassociation management \u2014 that is, from the same source you uploaded them to. If you let the\nplugin create real WordPress posts, the images move into your own media library and are\nserved from your own server.<\/p><\/dd>\n<dt id=\"can%20someone%20with%20the%20website%20key%20see%20our%20member%20data%3F\"><h3>Can someone with the website key see our member data?<\/h3><\/dt>\n<dd><p>No. A website key can only <strong>read<\/strong>, and only what your association has published. Internal\ncalendar entries, member data and finances are not reachable this way.<\/p>\n\n<p>The contact form does not change that: in addition to the key it requires a cryptographic\nsignature made with the connection secret. The key alone writes nothing.<\/p><\/dd>\n<dt id=\"what%20do%20i%20do%20if%20the%20key%20is%20lost%3F\"><h3>What do I do if the key is lost?<\/h3><\/dt>\n<dd><p>In your association management, choose <strong>Reissue<\/strong> (the old key becomes invalid immediately,\napprovals remain) or <strong>Revoke<\/strong> (access ends, the site shows no more content). Both take\neffect at once, without involving your web host.<\/p><\/dd>\n<dt id=\"why%20do%20i%20see%20an%20error%20message%20as%20an%20editor%2C%20but%20my%20visitors%20do%20not%3F\"><h3>Why do I see an error message as an editor, but my visitors do not?<\/h3><\/dt>\n<dd><p>By design. Errors and cache notices are visible only to signed-in editors. A visitor should\nsee an association's website, not a technical message.<\/p><\/dd>\n<dt id=\"why%20can%20i%20not%20edit%20a%20post%20created%20by%20comunitix%3F\"><h3>Why can I not edit a post created by Comunitix?<\/h3><\/dt>\n<dd><p>Because the next sync would overwrite it. Comunitix leads for this content; the lock prevents\nanyone from investing work that would be lost. Such content is edited in the association\nmanagement.<\/p><\/dd>\n<dt id=\"can%20people%20register%20for%20events%20through%20the%20website%3F\"><h3>Can people register for events through the website?<\/h3><\/dt>\n<dd><p>For events with open guest registration a <strong>Register<\/strong> link appears. It leads into your\nassociation management; the plugin itself does not accept event registrations.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>The settings page no longer prints its JavaScript inline. Script and stylesheet are\nregistered with <code>wp_enqueue_script<\/code> \/ <code>wp_enqueue_style<\/code> and are loaded on the plugin's own\noptions screen only; nonces, the AJAX address and the translated strings are handed over\nwith <code>wp_localize_script<\/code>.<\/li>\n<li>No change in behaviour: pairing and connection test work exactly as before.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Security review before submission. The open <code>ping<\/code> endpoint now reveals the WordPress and\nPHP versions only to an authenticated association management. A server's PHP version is not\nsomething a website should hand out to everyone \u2014 unlike the WordPress version, it is not\npublished anywhere.<\/li>\n<li>No change to the interface itself: all fields remain present, they are simply empty when\nunauthenticated. Existing integrations continue to work unchanged.<\/li>\n<li>The readme is now in English, as required for the plugin directory.<\/li>\n<li>Translation loading is left to WordPress (<code>load_plugin_textdomain<\/code> is no longer needed since\nWordPress 4.6).<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Setup by pairing code: type eight characters instead of copying an address and a key.<\/li>\n<li>Immediate updates \u2014 Comunitix reports changes instead of the site waiting for the cache to\nexpire (signed calls with a time window and a one-time value).<\/li>\n<li>Content optionally as real WordPress posts and as a dedicated post type, including images in\nyour own media library. Locked in the editor, with a reason given.<\/li>\n<li>Optionally import dates from \"The Events Calendar\" \u2014 with protection against an imported\ndate flowing back and multiplying.<\/li>\n<li>Sign-in with a Comunitix account via \"OpenID Connect Generic\", without copying member data.\nThe administrator role is never granted.<\/li>\n<li>Contact form <code>[comunitix-kontakt]<\/code> whose submissions land in the association management\ninbox. Spam protection without a captcha and without third parties.<\/li>\n<li>Privacy policy wording extended to cover the contact form and the sign-in.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: blocks, shortcodes and a widget for news, dates and events.<\/li>\n<li>Connection test with association name and logo.<\/li>\n<li>Caching as a transient, falling back to the last known state.<\/li>\n<li>Structured data (schema.org\/Event).<\/li>\n<\/ul>","raw_excerpt":"Connect your website to Comunitix association management: news, events and dates are maintained in one place instead of two.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353247"}],"author":[{"embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/comunitix"}],"wp:attachment":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353247"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353247"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353247"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353247"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353247"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}