All Projects → christianwach → civicrm-wp-member-sync

christianwach / civicrm-wp-member-sync

Licence: GPL-2.0 License
CiviCRM WordPress Member Sync plugin keeps a WordPress user in sync with a CiviCRM membership by granting either a role or capabilities to a WordPress user who has that membership.

Programming Languages

PHP
23972 projects - #3 most used programming language
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to civicrm-wp-member-sync

WPGrabInfo
WP Grab Info v2
Stars: ✭ 43 (+230.77%)
Mutual labels:  wordpress-plugin, wordpress-user
memberful-wp
Better membership software for WordPress.
Stars: ✭ 37 (+184.62%)
Mutual labels:  wordpress-plugin, membership
cf-civicrm
Caldera Forms CiviCRM Integration
Stars: ✭ 30 (+130.77%)
Mutual labels:  wordpress-plugin, civicrm
wp-ban
Ban users by IP, IP Range, host name, user agent and referrer url from visiting your WordPress's blog.
Stars: ✭ 19 (+46.15%)
Mutual labels:  wordpress-plugin
Exopite-Multifilter-Multi-Sorter-WordPress-Plugin
Display and/or sort/filter any page or post types by multiple taxonomies or terms (like post by categories and/or tags) with AJAX. Exopite multifilter, multi-sortable, multi selectable, multi filterable sortable Wordpress Plugin.
Stars: ✭ 18 (+38.46%)
Mutual labels:  wordpress-plugin
cdbt
Custom DataBase Tables plugin is for WordPress
Stars: ✭ 24 (+84.62%)
Mutual labels:  wordpress-plugin
graphql-gutenblock-example
Example Gutenberg Block using WPGraphQL to populate the data
Stars: ✭ 17 (+30.77%)
Mutual labels:  wordpress-plugin
traduttore
🗼 A WordPress plugin to improve the I18N workflow for your own projects based on @GlotPress.
Stars: ✭ 60 (+361.54%)
Mutual labels:  wordpress-plugin
WP-Widget-Disable
🖼 A WordPress plugin that allows you to disable Sidebar and Dashboard Widgets.
Stars: ✭ 16 (+23.08%)
Mutual labels:  wordpress-plugin
wpse-playlist
WordPress - Playlist shortcode with external audio or video files. Wrapper for the native playlist in WordPress.
Stars: ✭ 17 (+30.77%)
Mutual labels:  wordpress-plugin
ultimate-addons-for-gutenberg
Power-up the Gutenberg editor with advanced and powerful blocks that help you build websites in minutes!
Stars: ✭ 166 (+1176.92%)
Mutual labels:  wordpress-plugin
wordpress
Free PWA & SPA for Wordpress & Woocommerce
Stars: ✭ 103 (+692.31%)
Mutual labels:  wordpress-plugin
seo-by-rank-math
Rank Math is a revolutionary WordPress SEO Plugin that combines the features of many SEO tools and lets you multiply your traffic in the easiest way possible 💡 📈 →
Stars: ✭ 54 (+315.38%)
Mutual labels:  wordpress-plugin
doubleclick-for-wp
WordPress plugin for serving Google Ad Manager ads
Stars: ✭ 25 (+92.31%)
Mutual labels:  wordpress-plugin
mangapress
The webcomic CMS plugin for WordPress
Stars: ✭ 19 (+46.15%)
Mutual labels:  wordpress-plugin
acf-flexible-content-preview
Transforms ACF's flexible content field's layout list into a modal with image previews.
Stars: ✭ 21 (+61.54%)
Mutual labels:  wordpress-plugin
hm-redirects
Fast and scalable redirects plugin for WordPress
Stars: ✭ 23 (+76.92%)
Mutual labels:  wordpress-plugin
culqi-woocommerce
Plugin Culqi para WooCommerce (WordPress).
Stars: ✭ 12 (-7.69%)
Mutual labels:  wordpress-plugin
pmpro-sponsored-members
Generate a discount code for a main account holder to distribute to sponsored members.
Stars: ✭ 13 (+0%)
Mutual labels:  wordpress-plugin
cachify
Smart but efficient cache solution for WordPress. Use DB, HDD, APC or Memcached for storing your blog pages. Make WordPress faster!
Stars: ✭ 93 (+615.38%)
Mutual labels:  wordpress-plugin

CiviCRM Member Sync

Contributors: needle, cuny-academic-commons
Donate link: https://www.paypal.me/interactivist
Tags: civicrm, member, membership, sync
Requires at least: 4.9
Tested up to: 5.9
Stable tag: 0.5.3a
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Keep WordPress Users in sync with CiviCRM Memberships by granting either a Role or Capabilities to Users with that Membership.

Description

Please note: this is the development repository for CiviCRM Member Sync. The plugin is also available in the WordPress Plugin Directory, which is the best place to get it from if you're not a developer.

The CiviCRM Member Sync plugin keeps a WordPress User in sync with a CiviCRM Membership by granting either a Role or Capabilities to a WordPress User who has that Membership.

This enables you to have, among other things, members-only content on your website that is only accessible to current members as defined by the Membership Types and status rules that you set up in the plugin's settings. CiviCRM Member Sync is compatible with both "Members" and "Groups" for managing members-only content in WordPress.

Notes

This plugin has been developed using a minimum of WordPress 4.4 and CiviCRM 4.6.

It is strongly recommended that you also install CiviCRM Admin Utilities and have version 0.6.8 or greater activated. Make sure the checkbox labelled "Check this to fix the Contact 'soft delete' process" is checked so that Contacts that have been "soft deleted" have their corresponding WordPress User's status updated.

This plugin builds on the GitHub repo written by Tadpole Collective and originally developed by Jag Kandasamy. It has been given its own repo because it has diverged so significantly from its origins that it no longer makes sense to call it a fork or send changes upstream.

Please note: This plugin is still in active development. Use at your own risk.

Installation

There are two ways to install from GitHub:

ZIP Download

If you have downloaded CiviCRM Member Sync as a ZIP file from the GitHub repository, do the following to install and activate the plugin:

  1. Unzip the .zip file and, if needed, rename the enclosing folder so that the plugin's files are located directly inside /wp-content/plugins/civicrm-wp-member-sync
  2. Make sure CiviCRM is activated
  3. Activate the plugin
  4. Configure the plugin as described above

git clone

If you have cloned the code from GitHub, it is assumed that you know what you're doing.

Configuration

Before you get started, you will need to create all of your Membership Types and status rules for CiviMember. If you select 'roles' as your synchronization method, you will also need to create the WordPress Role(s) you would like to synchronize Memberships with. The default synchronisation method is 'capabilities', because WordPress has limited support for multiple Roles.

Note: This plugin can sync Membership on User login, User logout and on a scheduled basis. It can also sync a User's Role when the Membership is added, edited or deleted in CiviCRM.

Working with Capabilities

  • Visit the plugin's admin page at "CiviCRM" --> "Member Sync".
  • Select "Capabilities" as the sync method
  • Click on "Add Association Rule" to create a rule. You will need to create a rule for every CiviCRM Membership Type you would like to synchronize. For every Membership Type, you will need to determine the CiviMember states that define the member as "current" thereby granting them the appropriate WordPress Capabilities. It is most common to define "New", "Current" and "Grace" as current. Similarly, select which states represent the "expired" status thereby removing the WordPress Capabilities from the User. It is most common to define "Expired", "Pending", "Cancelled" and "Deceased" as the expired status.
  • "Current Status" adds a "Membership Capability" to the WordPress User, while "Expired Status" removes the "Membership Capability" from the WordPress User. This Capability will be of the form civimember_ID, where ID is the numeric ID of the Membership Type. So, for Membership Type 2, the Capability will be civimember_2.
  • Note: If you have the Groups plugin active, then all civimember_ID Capabilities will be added to its custom Capabilities as well as to the list of Capabilities used to enforce read access on Posts. If you have Groups 2.8.0 or greater installed, then you will have the option to specify one or more "current" and "expired" Groups to which Users will be synced depending on whether their Membership is "current" or "expired".
  • Note: If you have the Members plugin active, then the "restrict_content" Capability will also be added to to the WordPress User.
  • Note: If you have BuddyPress active, then you will have the option to specify one or more "current" and "expired" Groups to which Users will be synced depending on whether their Membership is "current" or "expired".
  • An additional "Membership Status Capability" will also be added to the WordPress User that is tied to the status of their Membership. This Capability will be of the form civimember_ID_NUM, where ID is the numeric ID of the Membership Type and NUM is the numeric ID of the "Membership Status". So, for Membership Type 2 with Membership Status 4, the Capability will be civimember_2_4.

Working with Roles

  • Visit the plugin's admin page at "CiviCRM" --> "Member Sync".
  • Select "Roles" as the sync method
  • Click on "Add Association Rule" to create a rule. You will need to create a rule for every CiviCRM Membership Type you would like to synchronize. For every Membership Type, you will need to determine the CiviMember states that define the member as "current" thereby granting them the appropriate WordPress Role. It is most common to define "New", "Current" and "Grace" as current. Similarly, select which states represent the "expired" status thereby removing the WordPress Role from the User. It is most common to define "Expired", "Pending", "Cancelled" and "Deceased" as the expired status. With 'roles' as your synchronization method, also set the Role to be assigned if the Membership has expired in "Expiry Role". This is not needed when working with Capabilities.
  • It may sometimes be necessary to manually synchronize Users. Click on the "Manually Synchronize" tab on the admin page to do so. You will want to use this when you initially configure this plugin to synchronize your existing Users.
  1. Note: If you have the "Groups" plugin activated and it is version 2.8.0 or greater, then you will have the option to specify one or more "current" and "expired" Groups to which Users will be synced depending on whether their Membership is "current" or "expired".
  2. Note: If you have BuddyPress active, then you will have the option to specify one or more "current" and "expired" Groups to which Users will be synced depending on whether their Membership is "current" or "expired".

Manual Synchronize

It may sometimes be necessary to manually synchronize Users. Click on the "Manually Synchronize" tab on the admin page to do so. You will want to use this when you initially configure this plugin to synchronize your existing Users.

Test Test Test

Note: Be sure to test this plugin thoroughly before using it in a production environment. At minimum, you should log in as a test User to ensure you have been granted the appropriate Role or Capabilities when that User is given Membership. Then take away the Membership for the User in their CiviCRM record, log back in as the test User, and make sure you no longer have that Role or those Capabilities.

Known Issues

Code that used the civi_wp_member_sync_after_insert_user hook to send User Notifications on User Account creation should switch to the newer civi_wp_member_sync_post_insert_user hook to avoid the inadvertent loss of session data.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].