{"id":349089,"date":"2026-09-16T06:12:18","date_gmt":"2026-09-16T06:12:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/association-manager-by-olimpiu-galani\/"},"modified":"2026-09-16T06:11:54","modified_gmt":"2026-09-16T06:11:54","slug":"galani-membership-manager-associations","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/galani-membership-manager-associations\/","author":23535349,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.13.0","stable_tag":"2.13.0","tested":"7.1.1","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Galani Membership Manager for Associations","header_author":"Olimpiu Galani","header_description":"Run your association from WordPress: members and fees, a gated member directory, general assemblies with quorum and secret-ballot voting, bank transfer payments and numbered membership documents.","assets_banners_color":"","last_updated":"2026-09-16 06:11:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/galani.ro\/wordpress-plugins\/","header_author_uri":"https:\/\/galani.ro","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.13.0":{"tag":"2.13.0","author":"olimpiug","date":"2026-09-16 06:11:54","revision":3697976}},"upgrade_notice":{"2.9.7":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.13.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard \u2014 the membership situation at a glance: members in good standing, pending approvals, expiring and lapsed memberships, and fees collected this year.","2":"Members \u2014 every member in one table, with level, paid period, expiry and days remaining.","3":"Member file \u2014 payment history, current level and days remaining, with approve, change level and remove actions.","4":"Membership fees \u2014 collected per year and month, with year-on-year change and per-level and per-method breakdowns.","5":"Membership fees, Payments tab \u2014 a filterable list of every payment: member, level, date, amount, method, status and days to expiry.","6":"General assembly \u2014 automatic quorum, agenda and live voting with secret ballots.","7":"Member directory \u2014 searchable, with filters by level and city and per-member privacy.","8":"Public member profile \u2014 description, video and contact details.","9":"Public sign-up \u2014 choose a membership level, then pay and complete your profile.","10":"Payment settings \u2014 bank transfer, the built-in demo method and membership documents."}},"plugin_section":[],"plugin_tags":[8874,15070,1919,1932,11300],"plugin_category":[53,58],"plugin_contributors":[280994],"plugin_business_model":[],"class_list":["post-349089","plugin","type-plugin","status-publish","hentry","plugin_tags-association","plugin_tags-member-directory","plugin_tags-members","plugin_tags-membership","plugin_tags-voting","plugin_category-ratings-and-reviews","plugin_category-user-management","plugin_contributors-olimpiug","plugin_committers-olimpiug"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/galani-membership-manager-associations.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Association Manager is a free, complete membership plugin for associations, NGOs, homeowners associations, professional bodies, clubs and unions.<\/strong> Manage members and unlimited membership levels, collect membership fees, run a gated member directory, restrict content by level, and hold general assemblies with automatic quorum and secret-ballot voting \u2014 all from WordPress, with no monthly fee.<\/p>\n\n<p>Most membership plugins sell access to content. This one is built for organisations that have <strong>statutes<\/strong> \u2014 where you also have to convene a general assembly, verify the quorum, put motions to a vote and keep a record of the outcome. It handles the full life of a member: joining, paying the fee, appearing in the directory, attending assemblies, voting, renewing \u2014 and it tells you at a glance who is about to lapse.<\/p>\n\n<h4>Everything below is included for free<\/h4>\n\n<ul>\n<li><strong>Members &amp; membership levels<\/strong> \u2014 unlimited levels with their own fee, period, colour and grace; every level maps to a real WordPress role<\/li>\n<li><strong>Member management<\/strong> \u2014 full member file, payment history, days remaining, optional admin approval<\/li>\n<li><strong>Membership fees &amp; reports<\/strong> \u2014 collected per year and month, per level and per method, a filterable payment list and CSV export<\/li>\n<li><strong>Member directory<\/strong> \u2014 searchable, filterable by level and city, gated by membership level, with per-member privacy<\/li>\n<li><strong>Public member profiles<\/strong> \u2014 description, video and contact details, with per-field visibility<\/li>\n<li><strong>Joining &amp; payments<\/strong> \u2014 public sign-up form, built-in bank transfer, optional WooCommerce, manual activation<\/li>\n<li><strong>Membership documents<\/strong> \u2014 numbered, printable, delivered by email<\/li>\n<li><strong>General assemblies &amp; voting<\/strong> \u2014 automatic quorum, motions and elections, secret ballot, live tallying<\/li>\n<li><strong>Content restriction<\/strong> by membership level, transactional emails, setup wizard, demo data, Elementor widgets and shortcodes<\/li>\n<\/ul>\n\n<h4>Governance and voting<\/h4>\n\n<ul>\n<li>General assemblies with an agenda, statuses (draft, scheduled, open, closed, archived) and locking<\/li>\n<li>Attendance tracking with <strong>automatic quorum calculation<\/strong><\/li>\n<li>Two kinds of ballots: <strong>motions<\/strong> (for \/ against \/ abstain) and <strong>elections<\/strong> with your own options<\/li>\n<li><strong>Secret ballot<\/strong> \u2014 votes are stored anonymised and cryptographically separated from the voter, while double voting is still prevented<\/li>\n<li>Automatic tallying and live results<\/li>\n<li>A dedicated page per meeting<\/li>\n<\/ul>\n\n<h4>Members and fees<\/h4>\n\n<ul>\n<li>Unlimited membership levels, each with its own fee, billing period, colour and grace period<\/li>\n<li>Every level maps to a real WordPress role, so access control works with any theme or plugin<\/li>\n<li>Automatic life cycle: active, then grace period, then expired, with role downgrade<\/li>\n<li>Optional admin approval for new members (none, free memberships only, or all)<\/li>\n<li>Member file with the full payment history, current level, fee and days remaining<\/li>\n<li>Dashboard showing pending approvals, who expires within 30 days, who is in grace and who lapsed recently<\/li>\n<\/ul>\n\n<h4>Joining and payments<\/h4>\n\n<ul>\n<li>Public sign-up form that creates the account and the membership in one flow, with a simple arithmetic anti-spam question<\/li>\n<li><strong>Bank transfer built in<\/strong> \u2014 the member gets your account details and a unique payment reference on a printable page; you confirm the payment from the dashboard<\/li>\n<li>Optional WooCommerce route, so members can pay with any gateway you already use there; the membership product is created and kept in sync automatically<\/li>\n<li>Manual activation from the admin for fees collected offline<\/li>\n<\/ul>\n\n<h4>Member directory<\/h4>\n\n<ul>\n<li>Searchable directory with filters by level and city<\/li>\n<li>Three privacy levels controlled by each member: full profile, initials only, or hidden<\/li>\n<li><strong>Access by membership level<\/strong> \u2014 you decide which categories may browse the directory<\/li>\n<li>Public member profile pages with description, video and contact details<\/li>\n<li>Per-field visibility: mark each field as public or members-only<\/li>\n<\/ul>\n\n<h4>Profile fields<\/h4>\n\n<p>Ready-made field packs you simply tick: Business (legal and trade name, fiscal code, contact, website, social media), Homeowners association, NGO, Sports club, Professional, and Profile page content. Any field can be marked as required.<\/p>\n\n<h4>Content restriction<\/h4>\n\n<p>Restrict any page or post to all members or to specific levels, straight from the editor.<\/p>\n\n<h4>Membership documents<\/h4>\n\n<p>Issue a numbered document for every paid membership, with your own series, association details and optional VAT line. The member can print it or save it as PDF and receives it by email.<\/p>\n\n<p><em>This is a simple receipt, not a fiscal invoice.<\/em> If you must report through a national e-invoicing system, the <code>openassoc_invoice_created<\/code> action hands over every detail so a dedicated invoicing service can issue the legal document.<\/p>\n\n<h4>Also included<\/h4>\n\n<ul>\n<li>Five Elementor widgets and five shortcodes<\/li>\n<li>Six-step setup wizard and a demo data generator<\/li>\n<li>Automatic creation of the front-end pages and menu<\/li>\n<li>Transactional emails for welcome, grace period, expiry, pending approval and rejection<\/li>\n<li>Full Romanian translation<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code> or install it from Plugins, Add New.<\/li>\n<li>Activate it. The setup wizard opens automatically.<\/li>\n<li>Create your membership levels under Association, Membership Levels.<\/li>\n<li>The pages Members, Become a Member, Meetings and My Account are created for you.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. Bank transfer and manual activation work on their own. WooCommerce is only useful if you want members to pay by card: it lets you use the official gateway plugins (Stripe, PayPal, NETOPIA and others) without any extra integration work.<\/p><\/dd>\n<dt id=\"how%20does%20secret%20voting%20work%3F\"><h3>How does secret voting work?<\/h3><\/dt>\n<dd><p>A secret ballot is stored without the member ID. The link between voter and ballot is replaced by a hashed token, so results can be tallied and audited while individual choices cannot be traced back. A separate marker prevents anybody from voting twice.<\/p><\/dd>\n<dt id=\"can%20members%20hide%20from%20the%20directory%3F\"><h3>Can members hide from the directory?<\/h3><\/dt>\n<dd><p>Yes. Each member chooses between a full profile, initials only, or being hidden entirely. You can also set the default for new members and restrict the whole directory to specific membership levels.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20any%20theme%3F\"><h3>Does it work with any theme?<\/h3><\/dt>\n<dd><p>Yes. Membership levels are mapped to native WordPress roles and the front end uses shortcodes and Elementor widgets, so nothing depends on a particular theme.<\/p><\/dd>\n<dt id=\"is%20the%20data%20removed%20when%20i%20uninstall%3F\"><h3>Is the data removed when I uninstall?<\/h3><\/dt>\n<dd><p>Deleting the plugin removes its tables, options and roles. Deactivating it leaves everything untouched.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.13.0<\/h4>\n\n<ul>\n<li>Added an option to keep members out of the WordPress admin: non-administrators are redirected to their \"My Account\" page and the admin toolbar is hidden for them.<\/li>\n<li>Members can now upload their own profile photo from the \"My Account\" page (images only, isolated to their own account \u2014 no media library access).<\/li>\n<\/ul>\n\n<h4>2.12.0<\/h4>\n\n<ul>\n<li>Added a \"Single registration\" option: WordPress' own registration links and screen can redirect to the association sign-up, so visitors create their account and join in one combined step.<\/li>\n<\/ul>\n\n<h4>2.11.1<\/h4>\n\n<ul>\n<li>Housekeeping: removed a development log file that was accidentally included in the package.<\/li>\n<\/ul>\n\n<h4>2.11.0<\/h4>\n\n<ul>\n<li>Security: removed the public checkout verification REST endpoint; membership activation now happens only through a payment gateway's server-side, signature-verified confirmation (or admin manual activation).<\/li>\n<li>Renamed the public shortcodes to use the plugin's unique prefix: [openassoc_directory], [openassoc_register], [openassoc_meeting], [openassoc_meetings], [openassoc_account]. Existing pages are migrated automatically on update.<\/li>\n<\/ul>\n\n<h4>2.10.0<\/h4>\n\n<ul>\n<li>Completed the Romanian (ro_RO) translation: regenerated the translation template and translated all remaining strings, including the sign-up \/ checkout screens, admin settings and emails.<\/li>\n<\/ul>\n\n<h4>2.9.9<\/h4>\n\n<ul>\n<li>Added Romanian (ro_RO) translation. The interface displays in Romanian when the site language is set to Rom\u00e2n\u0103.<\/li>\n<\/ul>\n\n<h4>2.9.8<\/h4>\n\n<ul>\n<li>Fixed: pending (not yet approved) and expired members no longer appear in the public member directory. Only members holding a current membership level are listed.<\/li>\n<\/ul>\n\n<h4>2.9.7<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Members and unlimited membership levels, each mapped to a real WordPress role, with an automatic active - grace - expired life cycle.<\/li>\n<li>Admin dashboard showing pending approvals, expiring, grace and recently lapsed memberships at a glance.<\/li>\n<li>Membership fee reports: collected per year and month, per level and per method, plus a filterable list of every payment with expiry and days remaining, and CSV export.<\/li>\n<li>Joining flow with a public sign-up form, bank transfer built in, an optional demo\/test method, WooCommerce support and manual activation.<\/li>\n<li>Numbered membership documents with printable layout and email delivery.<\/li>\n<li>Member directory gated by level, with per-member privacy and public member profile pages (editable in Elementor via dynamic tags).<\/li>\n<li>Ready-made profile field packs with per-field visibility and required fields.<\/li>\n<li>General assemblies with automatic quorum, motions and elections, secret ballots and live tallying.<\/li>\n<li>Content restriction by membership level, transactional emails, a setup wizard and a demo data generator.<\/li>\n<li>Full Romanian translation.<\/li>\n<\/ul>","raw_excerpt":"Membership management for associations &amp; NGOs: members, membership levels, fees, a gated member directory, and general-assembly voting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349089","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=349089"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/olimpiug"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349089"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349089"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349089"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349089"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349089"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}