<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Memberships Add-ons - CODIBU</title>
	<atom:link href="https://help.codibu.com/kbtopic/memberships-add-ons/feed/" rel="self" type="application/rss+xml" />
	<link>https://help.codibu.com</link>
	<description>Hosting &#38; Domain,  Development &#38; Design, SEO &#38; Marketing, 2300+ Themes &#38; Plugins, Free SEO analysis &#38; tools</description>
	<lastBuildDate>Wed, 25 Jan 2023 20:27:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://help.codibu.com/wp-content/uploads/2022/07/favicon.png</url>
	<title>Memberships Add-ons - CODIBU</title>
	<link>https://help.codibu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Teams for WooCommerce Memberships Developer Documentation</title>
		<link>https://help.codibu.com/blog/teams-for-woocommerce-memberships-developer-documentation-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=teams-for-woocommerce-memberships-developer-documentation-2</link>
					<comments>https://help.codibu.com/blog/teams-for-woocommerce-memberships-developer-documentation-2/#respond</comments>
		
		<dc:creator><![CDATA[JN C]]></dc:creator>
		<pubDate>Sun, 08 Nov 2020 13:28:29 +0000</pubDate>
				<guid isPermaLink="false">https://help.codibu.com/kb/teams-for-woocommerce-memberships-developer-documentation-2/</guid>

					<description><![CDATA[<p>This document provides an overview of structure, hooks, and helpful methods in Teams for WooCommerce Memberships. To make adjustments to plugin functionality in an upgrade-safe manner, you<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://help.codibu.com/blog/teams-for-woocommerce-memberships-developer-documentation-2/">Teams for WooCommerce Memberships Developer Documentation</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>This document provides an overview of structure, hooks, and helpful methods in <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/">Teams for WooCommerce Memberships</a>. To make adjustments to plugin functionality in an upgrade-safe manner, you should be very familiar with <a href="http://wp.tutsplus.com/tutorials/the-beginners-guide-to-wordpress-actions-and-filters/">WordPress hooks — actions and filters</a> — as these allow you to make modifications to plugin behavior.</p>
<p>Our goal is to ensure this plugin is easy to work with for customizations. If a hook doesn’t exist where you think it should, please <a href="http://www.woocommerce.com/my-account/create-a-ticket/">submit a ticket</a> so we can consider its addition.</p>
<p>This reference lists helpful filters, actions, and methods and is meant to be a directory. This document may not outline every available or hook or method, so please see the plugin’s inline documentation for additional details on parameters, returned values, and usage, or example usage.</p>
<div class="woo-sc-box note   "><strong>Please be aware</strong> that this document is meant for developers to use as a reference, and some of these code samples are structural samples rather than working snippets. We do not support or do plugin customizations as per our <a href="http://woocommerce.com/support-policy/">support policy</a>. You can <a href="https://woocommerce.com/customizations/">get in touch with an expert</a> for help with customizations.</div>
<p>If you need help changing this code or extending it, we recommend getting in touch with a <a href="https://woocommerce.com/experts/">WooExpert</a> or a developer at Codeable.</p>
<div class="woo-sc-box normal   ">Please be aware that the plugin namespace is: <strong>SkyVergeWooCommerceMembershipsTeams</strong> — references to classes in this document will prefix global namespaces or complete namespaces with a backslash (); a relative class name, such as “Team”, implies that this object would live in the plugin namespace, such as: SkyVergeWooCommerceMembershipsTeamsTeam</div>
<p>&nbsp;</p>
<h2 id="section-1">Data Structure</h2>
<p>Teams for WC Memberships leverages a few custom data structures, but you would also benefit from being familiar with the data structure of WooCommerce Memberships itself. The <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-data-structure/">Memberships Data Structure overview</a> and <a href="https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-extensions/woocommerce-memberships/developers/">developer documentation</a> will be helpful resources.</p>
<p>We also recommend reviewing the methods in the <code>WC_Memberships_User_Membership</code> class, as these methods are quite commonly used by developers to manipulate user memberships. User memberships can easily be instantiated with the <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-function-reference/#wc_memberships_get_user_membership">wc_memberships_get_user_membership()</a> global method.</p>
<p>For its own functionality, Teams adds a “team” and “invitation” custom post type to manage groups of members, and invitations to join a team. Teams also makes modifications to particular products and membership plans to store additional data related to purchasing a team, and managing team access.</p>
<h3 id="section-2">Teams</h3>
<p><strong>Post type</strong>: <code>wc_memberships_team</code></p>
<p>The team post serves as a data store for all team information, such as purchase record, owner, and members (along with the roles of each member on the team).</p>
<p>The team owner is stored as the <strong>post_author</strong>, given a team can only have one owner, and the configured team name is stored as the <strong>post_title</strong>. The team’s <strong>post_parent</strong> is the post ID of the Membership Plan to which the team grants access (as currently a team can only provide access to a single plan).</p>
<p>Team posts store other data about the team as well:</p>
<table>
<thead>
<tr>
<th>META KEY</th>
<th>DATA TYPE</th>
<th>STORED VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>_product_id</td>
<td>int</td>
<td>the ID for the product that was purchased to create the team</td>
</tr>
<tr>
<td>_order_id</td>
<td>int</td>
<td>the ID for the order in which the team was purchased</td>
</tr>
<tr>
<td>_subscription_id</td>
<td>int</td>
<td>if the team was purchased via a subscription product, this is the ID of the subscription to which access is tied</td>
</tr>
<tr>
<td>_seat_count</td>
<td>int</td>
<td>the maximum number of available seats on this team</td>
</tr>
<tr>
<td>_member_id</td>
<td>int</td>
<td>the ID of a member on the team; <strong>there can be multiple pieces of <code>_member_id</code> metadata if multiple seats are occupied</strong></td>
</tr>
<tr>
<td>_membership_end_date</td>
<td>string</td>
<td>the day membership start to expire, based on the plan length; <strong>owners cannot remove members</strong> after this date if removals are enabled</td>
</tr>
</tbody>
</table>
<h3 id="section-3">Team Invitation</h3>
<p><strong>Post type</strong>: <code>wc_team_invitation</code></p>
<p>Invitation posts store data about invitations sent to particular emails. The invitation post will use custom statuses to determine the invitation status: <code>wcmti-pending</code>, <code>wcmti-accepted</code>, or <code>wcmti-cancelled</code>. The <strong>post_author</strong> is the user who sent the invitation, while the <strong>post_parent</strong> is the team to which the invitation belongs.</p>
<p>Pending invitations will store no meta, but accepted invitations will add 2 pieces of meta data:</p>
<table>
<thead>
<tr>
<th>META KEY</th>
<th>DATA TYPE</th>
<th>STORED VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>_accepted_user_id</td>
<td>int</td>
<td>the user ID of the customer who accepted the invitation</td>
</tr>
<tr>
<td>_accepted_date</td>
<td>string</td>
<td>the date on which the invitation was accepted</td>
</tr>
</tbody>
</table>
<h3 id="section-4">Product Data</h3>
<p>To associate a team with a product or variation, the product post will store a few pieces of data:</p>
<table>
<thead>
<tr>
<th>META KEY</th>
<th>DATA TYPE</th>
<th>STORED VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>_wc_memberships_for_teams_has_team_membership</td>
<td>string</td>
<td>yes or no</td>
</tr>
<tr>
<td>_wc_memberships_for_teams_pricing</td>
<td>string</td>
<td>per_member or per_team (dictates the pricing fields for the team)</td>
</tr>
<tr>
<td>_wc_memberships_for_teams_max_member_count</td>
<td>int</td>
<td>the maximum seats that a team can have upon purchase</td>
</tr>
<tr>
<td>_wc_memberships_for_teams_min_member_count</td>
<td>int</td>
<td>the minimum seats required to purchase a team</td>
</tr>
<tr>
<td>_wc_memberships_for_teams_plan</td>
<td>int</td>
<td>the ID of the membership plan to which the team will have access</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 id="section-5">User capabilities</h2>
<p>Teams provides a few custom WP User capabilities for both admin management of teams, and frontend management for team owners and managers.</p>
<table>
<thead>
<tr>
<th>CAPABILITY</th>
<th>DESCRIPTION</th>
<th>DEFAULT ROLES</th>
</tr>
</thead>
<tbody>
<tr>
<td>memberships_team</td>
<td>grants admin access to manage teams</td>
<td>WP: administrator<br />
WP: shop manager</td>
</tr>
<tr>
<td>wc_memberships_for_teams_renew_team_membership</td>
<td>lets a user renew team access</td>
<td>team owner</td>
</tr>
<tr>
<td>wc_memberships_for_teams_manage_team_settings</td>
<td>lets a user manage team settings (e.g., name)</td>
<td>team owner</td>
</tr>
<tr>
<td>wc_memberships_for_teams_manage_team<br />
wc_memberships_for_teams_manage_team_members</td>
<td>lets a user manage a team and which members belong</td>
<td>team owner<br />
team manager</td>
</tr>
<tr>
<td>wc_memberships_for_teams_remove_team_member</td>
<td>lets a user remove team members</td>
<td>team owner<br />
team manager</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 id="section-6">Team Lifecycle</h2>
<p>You can hook into the team lifecycle at several instances to fire third party code or adjust teams.</p>
<h3 id="section-7">Created Team Filters</h3>
<p>When a new team is created, the team data can be filtered.</p>
<h4 id="wc_memberships_for_teams_new_team_data">wc_memberships_for_teams_new_team_data</h4>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $data team data</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args an array of team arguments {</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><strong>@type</strong> string $name the team name</li>
<li><strong>@type</strong> int $plan_id the plan id the team has access to</li>
<li><strong>@type</strong> int $owner_id the user id the team is assigned to</li>
<li><strong>@type</strong> int $product_id the product id that creates the team (optional)</li>
<li><strong>@type</strong> int $order_id the order id that contains the product that creates the team (optional)</li>
</ul>
</li>
</ul>
<p>}</p>
</dd>
</dl>
<h3 id="section-8">Created Team Actions</h3>
<p>Team creation and management also fires several actions that can be used to run additional code.</p>
<h4 id="wc_memberships_for_teams_team_created">wc_memberships_for_teams_team_created</h4>
<p>Fires after a team has been created. This action hook is similar to <code>wc_memberships_for_teams_team_saved</code> but doesn’t fire when teams are manually created from admin.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>Team $team the team that was just created</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $updating whether this is a post update or a newly created team</dd>
</dl>
<h4 id="wc_memberships_for_teams_team_saved">wc_memberships_for_teams_team_saved</h4>
<p>Fires after a team has been created. This action hook is similar to <code>wc_memberships_for_teams_team_created</code> but will also fire when a team is manually created in admin, or upon an import or via command line interface, etc.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>Team $team the team that was just saved</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $updating whether this is a post update or a newly created team</dd>
</dl>
<h4 id="wc_memberships_for_teams_process_team_meta">wc_memberships_for_teams_process_team_meta</h4>
<p>Fires when a team is saved/updated from admin.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $post_id post identifier</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WP_Post $post the post object</dd>
</dl>
<p>&nbsp;</p>
<h2 id="section-9">Invitation Lifecycle</h2>
<p>You can hook into the team lifecycle at several instances to fire third party code or adjust invitations.</p>
<h3 id="section-10">Created Invitation Filters</h3>
<p>When a new invitation is created, the invitation data can be filtered.</p>
<h4 id="wc_memberships_for_teams_new_invitation_post_data">wc_memberships_for_teams_new_invitation_post_data</h4>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $data new invitation post data</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args array of Invitation arguments {</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><strong>@type</strong> string $email email of the invitation recipient</li>
<li><strong>@type</strong> int $team_id the team id</li>
<li><strong>@type</strong> int $sender_id the sender user id</li>
<li><strong>@type</strong> string $role the role to assign the invited user to</li>
</ul>
</li>
</ul>
<p>}</p>
</dd>
</dl>
<h4 id="wc_memberships_for_teams_join_team_redirect_to">wc_memberships_for_teams_join_team_redirect_to</h4>
<p>Filters the URL to redirect to when a user joins a team by invitation or via link</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.4</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $redirect_to URL to redirect to</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team the team object</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>false|SkyVergeWooCommerceMembershipsTeamsInvitation $invitation the invitation object</dd>
</dl>
<h3 id="section-11">Created Invitation Actions</h3>
<p>Invitation creation will also fire an action that can be used to run additional code.</p>
<h4 id="wc_memberships_for_teams_invitation_created">wc_memberships_for_teams_invitation_created</h4>
<p>Fires after an invitation has been created.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsInvitation $invitation the invitation that was just created</dd>
</dl>
<p>&nbsp;</p>
<h2 id="section-12">Frontend Hooks</h2>
<p>This is a non-exhaustive list; these represent some often-used frontend hooks.</p>
<h3 id="section-13">Frontend Filters</h3>
<h4 id="wc_memberships_for_teams_product_team_user_input_fields">wc_memberships_for_teams_product_team_user_input_fields</h4>
<p>Filters user input fields for a team product.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $fields associative array of user input fields</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product the product</dd>
</dl>
<h4 id="wc_memberships_for_teams_add_team_member_form_fields">wc_memberships_for_teams_add_team_member_form_fields</h4>
<p>Filters form fields for the add team member form on frontend.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $fields associative array of form fields</dd>
</dl>
<h4 id="wc_memberships_team_teams_area_sections">wc_memberships_team_teams_area_sections</h4>
<p>Filters the available sections for the teams area.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $sections associative array with teams area id and label of each section</dd>
</dl>
<h4 id="wc_memberships_for_teams_teams_area_section_id_title">wc_memberships_for_teams_teams_area_{$section_id}_title</h4>
<p>Filters the teams area section name title. Core section IDs include “members”, “add-member”, and “settings”.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $section_name the section name (e.g. “Members”, “Add Member”, “Settings”…)</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>Team $team the current team displayed</dd>
</dl>
<h4 id="wc_memberships_for_teams_teams_area_my_team_details">wc_memberships_for_teams_teams_area_my_team_details</h4>
<p>Filters the teams area team details.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $details associative array of settings labels and HTML content for each row</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>Team $team the team the details are for</dd>
</dl>
<h3 id="section-14">Frontend Actions</h3>
<h4 id="wc_memberships_for_teams_before_renewal_auto_login">wc_memberships_for_teams_before_renewal_auto_login</h4>
<p>Fires right before logging a team member in. Can throw <code>SV_WC_Plugin_Exception</code> to halt the login completely.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $log_in_user_id the user ID of the member to log in</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team team instance</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $allow_login whether automatic log in is allowed</dd>
</dl>
<p>&nbsp;</p>
<h2 id="section-15">Admin Hooks</h2>
<p>This is a non-exhaustive list; these represent some often-used admin hooks.</p>
<h3 id="section-16">Admin Filters</h3>
<h4 id="wc_memberships_for_teams_team_member_roles">wc_memberships_for_teams_team_member_roles</h4>
<p>Filters the list of available team member roles. Note that this does not include owner by design.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $roles an associative array of role =&gt; label pairs</dd>
</dl>
<h4 id="wc_memberships_for_teams_settings">wc_memberships_for_teams_settings</h4>
<p>Filters Memberships for Teams settings.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $settings array of teams settings</dd>
</dl>
<h4 id="wc_memberships_for_teams_invitation_statuses">wc_memberships_for_teams_invitation_statuses</h4>
<p>Filters invitation statuses.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $statuses associative array of statuses and their arguments</dd>
</dl>
<h4 id="wc_memberships_for_teams_skip_invitations">wc_memberships_for_teams_skip_invitations</h4>
<p>Filters sending an invitation when adding members to a team</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.2</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $skip_invitations whether invitations should be skipped</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>null|SkyVergeWooCommerceMembershipsTeamsTeam optional argument to evaluate if invitations should be skipped for a particular team</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>null|int|string|WP_User optional entity being invited to join a team (either email, ID or object)</dd>
</dl>
<h4 id="wc_memberships_for_teams_team_membership_can_be_renewed">wc_memberships_for_teams_team_membership_can_be_renewed</h4>
<p>Filters whether a team membership can be renewed</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $can_be_renewed whether can be renewed by a user</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team the team to renew membership for</dd>
</dl>
<h4 id="wc_memberships_for_teams_team_management_status">wc_memberships_for_teams_team_management_status</h4>
<p>Filters team management status</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array an associative array with two keys: “can_be_managed” and “messages”</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team the related team</dd>
</dl>
<h4 id="wc_memberships_for_teams_team_can_add_seats">wc_memberships_for_teams_team_can_add_seats</h4>
<p>Filters whether a team can have seats added</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $can_add_seats whether seats can be added</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $this the Team object</dd>
</dl>
<h4 id="wc_memberships_for_teams_team_can_remove_seats">wc_memberships_for_teams_team_can_remove_seats</h4>
<p>Filters whether a team can have seats removed</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $can_remove_seats whether seats can be removed</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $this the Team object</dd>
</dl>
<h4 id="wc_memberships_for_teams_allow_editing_user_membership">wc_memberships_for_teams_allow_editing_user_membership</h4>
<p>Filters the editing of a user membership</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.2</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $allow_edit default true for non-subscription linked memberships</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Memberships_User_Membership|WC_Memberships_Integration_Subscriptions_User_Membership $user_membership membership object</dd>
</dl>
<h4 id="wc_memberships_for_teams_should_perform_seat_change">wc_memberships_for_teams_should_perform_seat_change</h4>
<p>Filters whether a seat change should be performed</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $should_perform_seat_change</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $this the Team object</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $new_seat_count the desired seat count</dd>
</dl>
<h4 id="wc_memberships_for_teams_should_prorate_seat_change">wc_memberships_for_teams_should_prorate_seat_change</h4>
<p>Filters whether a seat change should be prorated</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $should_prorate_seat_change default false</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $this the Team object</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $new_seat_count the desired seat count</dd>
</dl>
<h4 id="wc_memberships_for_teams_seat_change_notice_message">wc_memberships_for_teams_seat_change_notice_message</h4>
<p>Filters the notice message that is shown after a successful seat change</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.1.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $seat_change_message the notice message</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Order $order the order object</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Order_Item $item the order item object that contains the seat change data</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $this the Team object</dd>
</dl>
<h3 id="section-17">Admin Actions</h3>
<h4 id="wc_memberships_for_teams_before_team_billing_details">wc_memberships_for_teams_before_team_billing_details</h4>
<p>Fires before the billing details in edit team screen.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team the team instance</dd>
</dl>
<h4 id="wc_memberships_for_teams_after_team_billing_details">wc_memberships_for_teams_after_team_billing_details</h4>
<p>Fires before the billing details in edit team screen.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>SkyVergeWooCommerceMembershipsTeamsTeam $team the team instance</dd>
</dl>
<p>&nbsp;</p>
<h2 id="section-18">Methods and Global Functions</h2>
<p>This is a non-exhaustive list; these represent some often-used plugin methods.</p>
<h3 id="section-19">Plugin main class</h3>
<p>The instance of the main plugin class can be accessed with: <code>wc_memberships_for_teams()</code></p>
<p>Any other plugin classes are instantiated in this main plugin class, or another class that’s instantiated by the main plugin class. Therefore, if you want to unhook methods in a particular class, you’ll need to use this helper to access the class instance. For example, many classes are instantiated by the main plugin class, and can be accessed with:</p>
<pre>wc_memberships_for_teams()-&gt;get_*_instance()</pre>
<p>For example:</p>
<pre>wc_memberships_for_teams()-&gt;get_orders_instance()</pre>
<p>Classes that are not instantiated in the main plugin class can be accessed through instances of the class that instantiates them:</p>
<pre>wc_memberships_for_teams()-&gt;get_frontend_instance()-&gt;get_teams_area_instance()</pre>
<h3 id="section-20">Teams object</h3>
<p>While we won’t list every method here, the <code>Team</code> object is a good one to review, as this provides methods to get or set almost any piece of team data, or programmatically process seat changes, member invites, adding or removing members, etc.</p>
<p>An instance of this class can be accessed with:</p>
<pre>wc_memberships_for_teams_get_team( $team_id_or_post )</pre>
<h3 id="section-21">Conditional Checks</h3>
<p>There are a few conditional checks that can help you determine team or product information.</p>
<h4 id="wc_memberships_for_teams_is_valid_team_member_role-role-">wc_memberships_for_teams_is_valid_team_member_role( $role )</h4>
<p>Checks if a team member role is valid or not.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $role the role to check</dd>
</dl>
<h4 id="skyvergewoocommercemembershipsteamsproducthas_team_membership-product-">SkyVergeWooCommerceMembershipsTeamsProduct::has_team_membership( $product )</h4>
<p>Checks if a product has a team membership attached (purchasing this product creates a team). <strong>You must pass an instance of WC_Product</strong> to this method.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product</dd>
</dl>
<h4 id="skyvergewoocommercemembershipsteamsproducthas_per_member_pricing-product-">SkyVergeWooCommerceMembershipsTeamsProduct::has_per_member_pricing( $product )</h4>
<p>Checks if a product uses per-member pricing (false if per-team pricing is used). <strong>You must pass an instance of WC_Product</strong> to this method.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product</dd>
</dl>
<h3 id="section-22">Global &amp; Static Functions</h3>
<p>A non-exhaustive list of some helpful global and static methods for use in customizations.</p>
<h4 id="skyvergewoocommercemembershipsteamsproductget_min_member_count-product-">SkyVergeWooCommerceMembershipsTeamsProduct::get_min_member_count( $product )</h4>
<p>Gets the minimum member count required to purchase the team product; returns the integer count or <code>null</code> if not set. <strong>You must pass an instance of WC_Product</strong> to this method.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product</dd>
</dl>
<h4 id="skyvergewoocommercemembershipsteamsproductget_max_member_count-product-">SkyVergeWooCommerceMembershipsTeamsProduct::get_max_member_count( $product )</h4>
<p>Gets the maximum member count allowed when purchasing the team product; returns the integer count or <code>null</code> if not set. <strong>You must pass an instance of WC_Product</strong> to this method.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product</dd>
</dl>
<h4 id="skyvergewoocommercemembershipsteamsproductget_membership_plan_id-product-">SkyVergeWooCommerceMembershipsTeamsProduct::get_membership_plan_id( $product )</h4>
<p>Gets the membership plan ID that will be granted to a team created via this product; returns the integer count or <code>null</code> if not set. <strong>You must pass an instance of WC_Product</strong> to this method.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>WC_Product $product</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_team-id_or_post-">wc_memberships_for_teams_get_team( $id_or_post )</h4>
<p>Can be used to get an instance of a team. Accepts the team post object or post ID. Returns a <code>Team</code> instance if found, or false on failure.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int|WP_Post $post optional team id or post object, defaults to current global post object</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_teams-user_id-args-return-force_refresh-">wc_memberships_for_teams_get_teams( $user_id, $args, $return, $force_refresh )</h4>
<p>Returns a list of teams for a user (should be preferred over <code>get_posts()</code> calls to protect against data structure changes). Can return either a plain list of team objects or an associative array with query results and team objects, and will return false on failure.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $user_id optional, defaults to current user</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args an array of arguments to pass to WP_Query – additionally, a few special arguments can be passed: {</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><strong>@type</strong> string|array $status team status, defaults to ‘any’</li>
<li><strong>@type</strong> string|array $role a comma-separated list or array of team member roles, defaults to ‘owner, manager’ – specifying this will only fetch teams that the user has one of the given roles</li>
<li><strong>@type</strong> int $paged the page number for paging the results (corresponds to paged param for get_posts())</li>
</ul>
</li>
</ul>
<p>}</p>
</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $return (optional) what to return – set to ‘query’ to return the WP_Query instance instead of a list of invitation instances</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $force_refresh (optional) whether to force reloading the results even if a previous result has been memoized, defaults to false</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_user_membership_team-user_membership_id-">wc_memberships_for_teams_get_user_membership_team( $user_membership_id )</h4>
<p>Returns the team for a given user membership, if any. Returns false if the membership does not belong to a team.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $user_membership_id user membership id</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_team_members-team_id-args-return-null-">wc_memberships_for_teams_get_team_members( $team_id, $args, $return, $null )</h4>
<p>Returns a list of team members given the input query (should be preferred over <code>get_posts()</code> calls to protect against data structure changes). Can return either a plain list of team member objects or an associative array with query results and team member objects.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int|SkyVergeWooCommerceMembershipsTeamsTeam $team_id team id or instance to get the team members for</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args (optional) an array of arguments to pass to WP_Query – additionally, a few special arguments can be passed: {</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><strong>@type</strong> string|array $role a comma-separated list or array of team member roles, empty by default – specifying this will only fetch members with the given role</li>
<li><strong>@type</strong> int $paged the page number for paging the results, corresponds to paged param for get_users()</li>
<li><strong>@type</strong> int $per_page the number of team members to fetch per page, corresponds to the number param for get_users()</li>
</ul>
</li>
</ul>
<p>}</p>
</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $return (optional) what to return – set to ‘query’ to return the WP_User_Query instance instead of a list of team member instances</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $force_refresh (optional) whether to force reloading the results even if a previous result has been memoized, defaults to false</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_team_member_roles">wc_memberships_for_teams_get_team_member_roles()</h4>
<p>Returns a an associative array of available team member roles.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
</dl>
<h4 id="wc_memberships_for_teams_create_team-args-">wc_memberships_for_teams_create_team( $args )</h4>
<p>Programmatically creates a team. Returns a new <code>Team</code> object on success which can then be used to add additional data, but will return <code>SV_WC_Plugin_Exception</code> on failure.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args (see below)</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $action ‘create’ or ‘renew’; defaults to ‘create’</dd>
<p> </p>
<dt>@return</dt>
<p> </p>
<dd>Team|SV_WC_Plugin_Exception</dd>
</dl>
<p>The arguments you can pass in to create a new team are as follows:</p>
<table>
<thead>
<tr>
<th>ARRAY KEY</th>
<th>DATA TYPE</th>
<th>REQUIRED</th>
<th>VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>owner_id</td>
<td>int</td>
<td><strong>required</strong></td>
<td>owner user ID</td>
</tr>
<tr>
<td>plan_id</td>
<td>int|WC_Memberships_Plan</td>
<td><strong>required</strong></td>
<td>plan ID or instance to which the team will have access</td>
</tr>
<tr>
<td>product_id</td>
<td>int|WC_Product</td>
<td>–</td>
<td>product ID or instance that can be used to purchase the team; required if a team should be renewable</td>
</tr>
<tr>
<td>order_id</td>
<td>intWC_Order</td>
<td>–</td>
<td>ID or instance of the order in which the team was purchased</td>
</tr>
<tr>
<td>name</td>
<td>string</td>
<td>–</td>
<td>team name; defaults to “Team”</td>
</tr>
<tr>
<td>seats</td>
<td>int</td>
<td>–</td>
<td>the seat count for the team; if not provided, product_id must be specified, and the team will use the max member count from the product/variation</td>
</tr>
</tbody>
</table>
<h4 id="wc_memberships_for_teams_create_invitation-args-">wc_memberships_for_teams_create_invitation( $args )</h4>
<p>Programmatically creates a team invitation. Returns a new <code>Invitation</code> object on success which can then be used to add additional data, but will throw <code>SV_WC_Plugin_Exception</code> on failure.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args (see below)</dd>
<p> </p>
<dt>@return</dt>
<p> </p>
<dd>Invitation|SV_WC_Plugin_Exception</dd>
</dl>
<p>The arguments you can pass in to create a new invitation are as follows:</p>
<table>
<thead>
<tr>
<th>ARRAY KEY</th>
<th>DATA TYPE</th>
<th>REQUIRED</th>
<th>VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>team_id</td>
<td>int|object</td>
<td><strong>required</strong></td>
<td>team ID or instance for the invitation</td>
</tr>
<tr>
<td>email</td>
<td>string</td>
<td><strong>required</strong></td>
<td>the email address to which the invitation should be sent</td>
</tr>
<tr>
<td>sender_id</td>
<td>int</td>
<td>–</td>
<td>the sender’s user ID (default: current user)</td>
</tr>
<tr>
<td>role</td>
<td>string</td>
<td>–</td>
<td>the team role to assign to the invited user, defaults to ‘member’</td>
</tr>
</tbody>
</table>
<h4 id="wc_memberships_for_teams_get_invitation-id-email-">wc_memberships_for_teams_get_invitation( $id, $email )</h4>
<p>Returns a specific invitation for a team, or false on failure.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string|int|WP_Post|Invitation|Team $id invitation token, id, or instance; or team id or instance</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>string $email (optional) invitation recipient email, required if $id is a team id or instance</dd>
</dl>
<h4 id="wc_memberships_for_teams_get_invitations-team_id-args-return-force_refresh-">wc_memberships_for_teams_get_invitations( $team_id, $args, $return, $force_refresh )</h4>
<p>Returns a list of invitations (should be preferred over <code>get_posts()</code> calls to protect against data structure changes). Can return either a plain list of invitation objects or an associative array with query results and invitation objects.</p>
<dl>
<dt>@since</dt>
<p> </p>
<dd>1.0.0</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>int $team_id team id to get the invitations for</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>array $args an array of arguments to pass to WP_Query – additionally, a few special arguments can be passed: {</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><strong>@type</strong> string|array $status invitation status, defaults to ‘pending’, can be used instead of $post_status</li>
<li>string|array $role a comma-separated list or array of team member roles, empty by default – specifying this will only fetch invitations that grant the one of thge specified roles for the user</li>
<li><strong>@type</strong> int $paged the page number for paging the results, corresponds to paged param for get_posts()</li>
<li><strong>@type</strong> int $per_page the number of invitations to fetch per page, corresponds to the posts_per_page param for get_posts()</li>
</ul>
</li>
</ul>
<p>}</p>
</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>@param string $return (optional) what to return – set to ‘query’ to return the WP_Query instance instead of a list of invitation instances</dd>
<p> </p>
<dt>@param</dt>
<p> </p>
<dd>bool $force_refresh (optional) whether to force reloading the results even if a previous result has been memoized, defaults to false</dd>
</dl>
<h2 id="section-23">User Documentation</h2><p>The post <a href="https://help.codibu.com/blog/teams-for-woocommerce-memberships-developer-documentation-2/">Teams for WooCommerce Memberships Developer Documentation</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://help.codibu.com/blog/teams-for-woocommerce-memberships-developer-documentation-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MailChimp for WooCommerce Memberships</title>
		<link>https://help.codibu.com/blog/mailchimp-for-woocommerce-memberships/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mailchimp-for-woocommerce-memberships</link>
					<comments>https://help.codibu.com/blog/mailchimp-for-woocommerce-memberships/#respond</comments>
		
		<dc:creator><![CDATA[JN C]]></dc:creator>
		<pubDate>Sun, 08 Nov 2020 13:27:22 +0000</pubDate>
				<guid isPermaLink="false">https://help.codibu.com/kb/mailchimp-for-woocommerce-memberships/</guid>

					<description><![CDATA[<p>Overview MailChimp for WooCommerce Memberships gives you the ability to sync your members from WooCommerce Memberships to a MailChimp list of your choice. When you connect your site<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://help.codibu.com/blog/mailchimp-for-woocommerce-memberships/">MailChimp for WooCommerce Memberships</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 id="section-1">Overview</h2>
<p>MailChimp for WooCommerce Memberships gives you the ability to sync your members from <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/">WooCommerce Memberships</a> to a MailChimp list of your choice.</p>
<p>When you connect your site to MailChimp, this plugin will ensure all member data remains synced to MailChimp, letting you segment your mailing list by membership type, status, and more!</p>
<div class="woo-sc-box normal   "><strong>This plugin requires WooCommerce Memberships</strong> (purchased separately) to function.</div>
<p>&nbsp;</p>
<h3 id="section-2">Installation</h3>
<ol>
<li>Download the extension from your <a href="https://woocommerce.com/my-account/downloads/">WooCommerce dashboard</a></li>
<li>Ensure your store meets the <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#requirements">plugin requirements</a>.</li>
<li>Go to Plugins &gt; Add New &gt; Upload and select the ZIP file you just downloaded</li>
<li>Click Install Now, and then Activate</li>
<li>Click the Configure link, or go to WooCommerce &gt; Memberships, and read the next section to learn how to setup and configure the plugin.</li>
</ol>
<p>&nbsp;</p>
<h3 id="section-3">Requirements</h3>
<ul>
<li>WooCommerce 2.6.14 or newer</li>
<li>WordPress 4.6 or newer</li>
<li>PHP 5.3 or newer (you can see this under WooCommerce &gt; Status)</li>
<li><a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/">WooCommerce Memberships</a> 1.9.0 or newer</li>
</ul>
<p>&nbsp;</p>
<h2 id="setup-and-configuration">Setup &amp; Configuration</h2>
<div class="woo-sc-box normal   ">This guide will assume you’ve already <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/">configured WooCommerce Memberships</a>.</div>
<p>Settings for this plugin can be found under <strong>WooCommerce &gt; Settings &gt; Memberships &gt; MailChimp Sync</strong>. Here, you’ll enter your API key for your MailChimp account, then configure how member data should be tied to MailChimp.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/woocommerce-memberships-mailchimp-settings.png"><img fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-966762" src="https://help.codibu.com/wp-content/uploads/2020/11/woocommerce-memberships-mailchimp-settings.png?w=803" sizes="(max-width: 803px) 100vw, 803px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/woocommerce-memberships-mailchimp-settings.png 803w, https://help.codibu.com/wp-content/uploads/2020/11/woocommerce-memberships-mailchimp-settings.png?resize=550,231 550w, https://help.codibu.com/wp-content/uploads/2020/11/woocommerce-memberships-mailchimp-settings.png?resize=768,322 768w" alt="WooCommerce Memberships MailChimp Sync: new settings" width="803" height="337" /></a></p>
<p>&nbsp;</p>
<h3 id="section-5">Get MailChimp API key</h3>
<p>First, we need to get your API key from your MailChimp account, as this will let the plugin pull in data about your lists. You can find this by clicking “Account” from your menu while logged in.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-1.png"><img decoding="async" class="aligncenter size-large wp-image-830942" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-1.png?w=468" alt="MailChimp for WooCommerce Memberships: Get API Key, step 1" width="468" height="386" /></a></p>
<p>Next, click “Extras”, then API Keys, to view any API keys for your account, or create new ones.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-2.png"><img decoding="async" class="aligncenter size-large wp-image-830943" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-2.png?w=655" sizes="(max-width: 655px) 100vw, 655px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-2.png 655w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-2.png?resize=550,275 550w" alt="MailChimp for WooCommerce Memberships: Get API Key, step 2" width="655" height="328" /></a></p>
<p>Finally, if you have an API key already, you can use your existing key, or generate a new one (we recommend using a new key). Then, copy this key.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-830946" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png?w=950" sizes="(max-width: 950px) 100vw, 950px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png 1285w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png?resize=550,137 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png?resize=768,191 768w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-get-api-key-3.png?resize=950,237 950w" alt="MailChimp for WooCommerce Memberships: Get API Key, step 3" width="950" height="237" /></a></p>
<p>Paste your API key into the plugin settings, and save your settings. You’ll then be able to configure plugin settings with access to your MailChimp lists and merge tags.</p>
<p>&nbsp;</p>
<h3 id="section-6">Extension settings</h3>
<p>Under WooCommerce &gt; Settings &gt; Memberships &gt; MailChimp Sync, once you’ve saved a valid API key, you’ll now see data related to your MailChimp account.</p>
<p>The first thing to do is to select the list your members should be synced to, and save your settings. When you’ve selected your list, the plugin will automatically push new merge tags to your MailChimp Account. You’ll have <strong>one merge tag per plan</strong>, along with an <strong>ISACTIVE</strong> merge tag.</p>
<figure id="attachment_830959" class="wp-caption aligncenter" aria-describedby="caption-attachment-830959"><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png"><img loading="lazy" decoding="async" class="size-large wp-image-830959" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png?w=950" sizes="(max-width: 950px) 100vw, 950px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png 1214w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png?resize=550,400 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png?resize=768,559 768w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-merge-tags-created.png?resize=950,691 950w" alt="MailChimp for WooCommerce Memberships: Merge tags created" width="950" height="691" /></a><figcaption id="caption-attachment-830959" class="wp-caption-text">Automatically added merge tags</figcaption></figure>
<p>You can now map merge tags to your existing membership plans. You can use the tags the plugin has created for you, or select merge tags of your own (in case you’ve already had member data present in MailChimp).</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-1.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1027015" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-1.png?w=907" sizes="(max-width: 907px) 100vw, 907px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-1.png 907w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-1.png?resize=550,541 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-1.png?resize=768,755 768w" alt="MailChimp for WooCommerce Memberships: List settings" width="907" height="892" /></a></p>
<p>To see more details on what each merge tag represents, please view our <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#mailchimp-segments">notes on MailChimp segments</a>. These merge tags are <strong>automatically updated</strong> every time a membership is changed to ensure that status and member data are always up-to-date in MailChimp.</p>
<h4 id="other-settings">Other settings</h4>
<figure id="attachment_1027035" class="wp-caption aligncenter" aria-describedby="caption-attachment-1027035"><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-3.png"><img loading="lazy" decoding="async" class="size-large wp-image-1027035" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-3.png?w=772" sizes="(max-width: 772px) 100vw, 772px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-3.png 772w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-3.png?resize=550,190 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-3.png?resize=768,265 768w" alt="MailChimp for WooCommerce Memberships: Signup settings" width="772" height="266" /></a><figcaption id="caption-attachment-1027035" class="wp-caption-text">Signup settings</figcaption></figure>
<ul>
<li><strong>Enable Debug Mode</strong> – enable if you experience issues with your MailChimp connection; as a best practice, <strong>this should be disabled</strong> unless actively troubleshooting.</li>
<li><strong>Members Sign up</strong> – Determine if members are signed up for your list automatically, or if they must opt into your list. Please see our <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#privacy">overview below</a> on whether or not opt in is required.</li>
<li><strong>Members Signup Prompt Text</strong> – Enter the text to use for opt in at checkout and from the members area if a member has not opted into your list.</li>
<li><strong>Members Signup Button Text</strong> – Enter the call to action text for the members area opt in.</li>
</ul>
<p>Finally, you can configure some general settings for how to handle certain membership events.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-830992" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png?w=950" sizes="(max-width: 950px) 100vw, 950px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png 986w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png?resize=550,219 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png?resize=768,305 768w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-settings-2.png?resize=950,378 950w" alt="MailChimp for WooCommerce Memberships general settings" width="950" height="378" /></a></p>
<ul>
<li><strong>Deleted memberships</strong> – Determine whether deleting a user membership unsubscribes the member from your list, or removes the member from your list. If the member has more than one membership, the member will <strong>only</strong> be removed or unsubscribed if all memberships have been deleted (though merge tags will still be updated to reflect accurate membership data).</li>
<li><strong>Deleted plan merge fields</strong> – Determine what to do with plan merge tags if a plan is deleted. You can keep existing merge tags in MailChimp, or delete those merge tags when plans are deleted.</li>
<li><strong>Sync members</strong> – This action forces a member sync with MailChimp — helpful if you’ve just installed, or had your site in maintenance mode and need to update membership records.</li>
</ul>
<p>&nbsp;</p>
<h2 id="section-7">MailChimp usage</h2>
<p>&nbsp;</p>
<h3 id="section-8">Do I need consent to add members to my list?</h3>
<p>This depends entirely on what kind of emails you’ll be sending to this list. Are you sending emails related to the membership perks and content available? Or related to the lifecycle of this person’s membership? If your emails are for the purpose of fulfilling a contractual obligation, legal obligation, or for a legitimate business interest, you likely do not need consent. Jilt has a great overview of the GDPR and email marketing that we’d recommend reading in order to determine how your own business should comply with privacy regulations like the GDPR and PECR.</p>
<p>&nbsp;</p>
<h3 id="section-9">MailChimp segments</h3>
<p>As changes happen to membership data on your site, these changes are <strong>automatically synced with MailChimp</strong> so your subscriber data is always updated. The following events will update your subscriber data in MailChimp:</p>
<table>
<thead>
<tr>
<th>EVENT</th>
<th>PLAN MERGE TAG CHANGES</th>
<th>OTHER CHANGES</th>
</tr>
</thead>
<tbody>
<tr>
<td>Membership created or purchased</td>
<td>plan merge tag updated to reflect membership status</td>
<td>Subscriber added if not previously on list; ISACTIVE – updated to “yes” when plan access activated</td>
</tr>
<tr>
<td>Membership expires or is cancelled</td>
<td>plan merge tag – updated to reflect membership status</td>
<td>ISACTIVE – updated to “no” if there are no other active memberships</td>
</tr>
<tr>
<td>Membership is transferred</td>
<td>plan merge tag is deleted from subscriber</td>
<td>If there are no other memberships, member is unsubscribed</td>
</tr>
<tr>
<td>Membership is deleted</td>
<td>plan merge tag deleted from subscriber</td>
<td>If there are no other memberships, member is unsubscribed or removed (depending on settings)</td>
</tr>
<tr>
<td>Membership status changes</td>
<td>plan merge tag always reflects current status</td>
<td>ISACTIVE may change depending on all user memberships’ statuses</td>
</tr>
</tbody>
</table>
<p>In short, you’ll always have a plan merge tag updated with the current membership status (such as “active”, “pending”, “expired”, etc), as well as an ISACTIVE merge tag that is updated to reflect whether the subscriber has <em>any</em> active membership on your site (will always be “yes” or “no”).</p>
<figure id="attachment_831036" class="wp-caption aligncenter" aria-describedby="caption-attachment-831036"><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-subscriber-data.png"><img loading="lazy" decoding="async" class="size-large wp-image-831036" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-subscriber-data.png?w=947" sizes="(max-width: 947px) 100vw, 947px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-subscriber-data.png 947w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-subscriber-data.png?resize=550,232 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-subscriber-data.png?resize=768,324 768w" alt="MailChimp for WooCommerce Memberships subscriber data" width="947" height="399" /></a><figcaption id="caption-attachment-831036" class="wp-caption-text">Subscriber membership data</figcaption></figure>
<p>This helps you create <strong>segments</strong> in MailChimp so you can target emails to particular members, all members, or members with specific statuses.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-create-segments.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-831078" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-create-segments.png?w=742" sizes="(max-width: 742px) 100vw, 742px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-create-segments.png 742w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-create-segments.png?resize=550,502 550w" alt="MailChimp for WooCommerce Memberships create segment" width="742" height="677" /></a></p>
<p>MailChimp only allows for up to 5 segmentation conditions, so the <strong>ISACTIVE</strong> tag can be very handy to target multiple plans at once.</p>
<p>Here are a couple general rules to help you create segments:</p>
<ul>
<li>The <strong>ISACTIVE</strong> merge tag will be empty if the subscriber has no membership records on your site. It will be “yes” if they have any active memberships, and “no” if they have had memberships that have since become inactive.</li>
<li>The plan-specific merge tags will always have the current status as the value of the merge tag (<a href="https://help.codibu.com/blog/kb/woocommerce-memberships-import-and-export/#status-list">here’s a quick reference list</a>). The plan-specific merge tag will be empty if the subscriber has no memberships for that plan (active or inactive).</li>
</ul>
<p>&nbsp;</p>
<h2 id="section-10">Admin Usage</h2>
<p>For the most part, you’ll never have to push a member sync to MailChimp after set up, as the plugin will do this automatically. Once you’ve set up your list and merge tags, we do recommend using the “Sync now” action in settings to push your membership data to MailChimp.</p>
<p>If you find that you want to force data to update at any time, you can do so from the plugin settings, or from your “Members” list via bulk action or single membership action.</p>
<p>&nbsp;</p>
<div class="twocol-one">
<a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-members-bulk-action.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-830999" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-members-bulk-action.png?w=244" alt="MailChimp for WooCommerce Memberships bulk actions" width="244" height="192" /></a></div>
<div class="twocol-one last clearfix">
<a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-member-single-action.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-831000" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-member-single-action.png?w=791" sizes="(max-width: 791px) 100vw, 791px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-member-single-action.png 791w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-member-single-action.png?resize=550,401 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-member-single-action.png?resize=768,560 768w" alt="MailChimp for WooCommerce Memberships single actions" width="791" height="577" /></a></div>
<p>&nbsp;</p>
<p>Your plans list will also have merge tags displayed for quick reference if you’re building segments.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-831022" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png?w=950" sizes="(max-width: 950px) 100vw, 950px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png 1011w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png?resize=550,233 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png?resize=768,325 768w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-sync-plan-merge-tag-data.png?resize=950,402 950w" alt="MailChimp for WooCommerce Memberships plan list" width="950" height="402" /></a></p>
<p>Note that merge tags are not editable from the plan view; they can only be edited via plugin settings. <strong>We do not recommend changing merge tags</strong> once you’ve started syncing members. If you do, please perform a full sync from the plugin settings so MailChimp data is accurate.</p>
<p>&nbsp;</p>
<h2 id="section-11">Customer experience</h2>
<p>For most stores, customers will not see anything on the frontend of your site while using this plugin. However, if you’ve enabled <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#other-settings">opt-in for members</a> (after reviewing <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#privacy">our notes on privacy / opt-in</a>), then your customers will see opt-in prompts in two locations:</p>
<p>At <strong>checkout</strong> while purchasing a membership as a guest, or while logged in as a member:</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-checkout-opt-in.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1027333" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-checkout-opt-in.png?w=541" alt="MailChimp for WooCommerce Memberships: checkout opt-in" width="541" height="261" /></a></p>
<p>In the <strong>members area</strong> of their account if they haven’t opted in:</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-members-area-opt-in.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1027334" src="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-members-area-opt-in.png?w=819" sizes="(max-width: 819px) 100vw, 819px" srcset="https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-members-area-opt-in.png 819w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-members-area-opt-in.png?resize=550,310 550w, https://help.codibu.com/wp-content/uploads/2020/11/wcm-mailchimp-members-area-opt-in.png?resize=768,433 768w" alt="MailChimp for WooCommerce Memberships: members area opt-in" width="819" height="462" /></a></p>
<p>Members can unsubscribe from your emails when sent.</p>
<p>&nbsp;</p>
<h2 id="section-12">Frequently Asked Questions</h2>
<p><strong id="faq-gdpr">Q: Can I remain GDPR-compliant while adding members to my list?</strong><br />
<strong>A:</strong> Yes! It depends on the basis you have for sending those emails, and what kind of emails you’re sending. Please <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#privacy">review our notes on privacy</a> to determine what’s best for your site.</p>
<p>As for personal data erasure requests, these are handled by the main memberships plugin, along with your <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#other-settings">settings for deleted memberships</a>. Please <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/#privacy">review the Memberships privacy details</a> for further information.</p>
<hr />
<p><strong>Q: What will happen if I delete or expire a membership, but the customer still has other active memberships on my site?</strong><br />
<strong>A:</strong> When there’s a change to expire or remove one membership, other memberships are also checked before pushing data to MailChimp. In this case, since the customer has other active memberships, they won’t be removed or unsubscribed, and your “Is active” merge tag will remain “yes”. The membership being deleted will have its plan merge tag cleared in this case only to reflect there is no longer member data for that plan.</p>
<hr />
<p><strong>Q: I have a lot of plans, and I want to target active members of some of them, but I don’t have enough segmentation conditions. How can I do this?</strong><br />
<strong>A:</strong> Unfortunately you may be limited by the segmentation options within MailChimp if you have several plans you want to target in a segment. When this happens, we recommend creating a segment for each plan, then duplicating your campaigns to segment for different plans with the same content so you can reach your intended audience.</p>
<p>&nbsp;</p>
<h2 id="section-13">Troubleshooting</h2>
<p>Having difficulty with the plugin? Please <a href="https://help.codibu.com/blog/kb/mailchimp-for-woocommerce-memberships/#requirements">ensure your site meets the plugin requirements</a>, and if so, <a href="https://woocommerce.com/my-account/create-a-ticket/">get in touch with the support team</a> for assistance.</p><p>The post <a href="https://help.codibu.com/blog/mailchimp-for-woocommerce-memberships/">MailChimp for WooCommerce Memberships</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://help.codibu.com/blog/mailchimp-for-woocommerce-memberships/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Teams for WooCommerce Memberships</title>
		<link>https://help.codibu.com/blog/teams-for-woocommerce-memberships/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=teams-for-woocommerce-memberships</link>
					<comments>https://help.codibu.com/blog/teams-for-woocommerce-memberships/#respond</comments>
		
		<dc:creator><![CDATA[JN C]]></dc:creator>
		<pubDate>Sun, 08 Nov 2020 13:26:30 +0000</pubDate>
				<guid isPermaLink="false">https://help.codibu.com/kb/teams-for-woocommerce-memberships/</guid>

					<description><![CDATA[<p>Overview Teams for WooCommerce Memberships lets you sell memberships to groups of people, such as companies, organizations, and classes. When you sell a team membership, the team owner<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://help.codibu.com/blog/teams-for-woocommerce-memberships/">Teams for WooCommerce Memberships</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 id="section-1">Overview</h2>
<p>Teams for WooCommerce Memberships lets you sell <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/" rel="noopener noreferrer">memberships</a> to groups of people, such as companies, organizations, and classes. When you sell a team membership, the team owner is responsible for team maintenance (such as adding members and managing billing), while members enjoy all the benefits associated with the membership plan.</p>
<div class="woo-sc-box alert   ">This plugin requires <strong>WooCommerce Memberships</strong> (purchased separately) to function.</div>
<div class="woo-sc-box normal   "><a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/" rel="noopener noreferrer">Click here to access our developer documentation.</a></div>
<h3 id="section-2">Installation</h3>
<ol>
<li>Ensure your store meets the <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#requirements">plugin requirements</a>.</li>
<li>Download the extension from your WooCommerce dashboard.</li>
<li>Go to <strong>Plugins &gt; Add New &gt; Upload</strong> and select the ZIP file you just downloaded.</li>
<li>Click <strong>Install Now</strong> and then <strong>Activate</strong>.</li>
<li>Click <strong>Configure</strong> and read the <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#getting-started">next section</a> to learn how to setup the plugin.</li>
</ol>
<h3 id="section-3">Requirements</h3>
<p>At a minimum, your site must meet the following requirements to use Teams for Memberships:</p>
<ul>
<li>WooCommerce 3.0.4 or newer</li>
<li>WordPress 4.6 or newer</li>
<li>PHP 5.3 or newer (you can see this under <strong>WooCommerce &gt; Status</strong>)</li>
<li><a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/" rel="noopener noreferrer">WooCommerce Memberships</a> 1.9.4 or newer</li>
</ul>
<h3 id="section-4">Translations</h3>
<p>This plugin is translation-ready under the following text domain:</p>
<p><code>woocommerce-memberships-for-teams</code></p>
<p>Click here for guidelines on translating extensions.</p>
<h2 id="section-5">Getting Started</h2>
<h3 id="section-6">Settings</h3>
<div class="woo-sc-box normal   ">This guide assumes you’ve already configured <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-2/" rel="noopener noreferrer">WooCommerce Memberships</a>.</div>
<p>You can find the following Teams for Memberships settings under <strong>WooCommerce &gt; Settings &gt; Memberships &gt; Teams</strong>:</p>
<ul>
<li><strong>Teams are called</strong>: If you’d like to use a different term instead of “team” and “teams” (e.g., club / clubs, family / families, etc.), you may update these fields with your desired terms.</li>
<li><strong>Allow removing members</strong>: Check to let team owners and managers remove members from their teams.</li>
<li><strong>Owners must be members</strong>: Check to require that team owners take up a seat on their teams.</li>
<li><strong>Allow managers to add or remove other managers</strong>: Check to let managers add or remove other managers from the team. Team owners are always allowed to add and remove managers. <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#team-roles">Click here to learn more about team roles.</a></li>
</ul>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-settings-1.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-2453459" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-settings-1.png?w=950" alt="Teams for Memberships settings" width="950" height="443" /></a></p>
<p>The Teams for Memberships endpoint settings for team account management are found under <strong>WooCommerce &gt; Settings &gt; Advanced</strong> in the <strong>Account endpoints</strong> section:</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-endpoint-settings.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484672" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-endpoint-settings.png" alt="" width="738" height="832" /></a></p>
<h3 id="section-7">Creating Team Membership Products</h3>
<p>You must create a team membership product to let customers purchase a team membership. Team membership products require special configuration to detail the size, price, and plan access associated with the team.</p>
<p>Follow the steps below to create a team membership product:</p>
<ol>
<li>Go to <strong>Products</strong> and click <strong>Add New</strong>.</li>
<li>Under the <strong>Product Data</strong> section, set the product type. You can use simple/variable products or <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#teams-subscriptions">simple/variable subscriptions</a> for a team membership product.</li>
<li>Check the <strong>Team Membership</strong> box. This will expose new fields related to team pricing, size, and membership plan:
<ul>
<li><strong>Team Pricing</strong>: Should the team be priced per-member or per-team?</li>
<li><strong>Price</strong>: The per-team or per-member price.</li>
<li><strong>Sale price</strong>: (Optional) The per-team or per-member sale price.</li>
<li><strong>Minimum member count</strong>: For per-member priced teams, the minimum number of members required to purchase a team. Leave blank to enforce no minimum member count.</li>
<li><strong>Maximum member count</strong>: The maximum number of members allowed on the team. Leave blank to allow unlimited seats.</li>
<li><strong>Team members will have access to</strong>: Select the membership plan that members of this team will be assigned to.</li>
</ul>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484858" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product.png" alt="" width="777" height="554" /></a></p>
<p>If you are working with a variable product or variable subscription, these settings can be largely controlled from the individual variations:</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product-variation.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484676" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product-variation.png" alt="" width="772" height="765" /></a></li>
<li>Populate any other details for the product and its variations, if applicable, as desired.</li>
</ol>
<p>As an administrator, you can view the products and variations required to purchase a team membership from the associated membership plan’s page under <strong>WooCommerce &gt; Memberships &gt; Membership Plans</strong>:</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-team-membership-plan.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484678" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-team-membership-plan.png" alt="" width="803" height="511" /></a></p>
<p>However, please note that due to the additional settings associated with team membership products (such as team pricing and size requirements), you can’t add or remove team products from this area. All other settings associated with the membership, such as its length, content, discounts, etc. are configured on this page as with an individual membership.</p>
<p id="membership-length">
<p>If team access is sold via a simple or variable product, team members will have access to the membership plan <strong>for the plan length</strong>. For example, suppose a team was purchased on January 1 for a plan that grants access for 1 year. If a member is added to the team on February 1, the member has access until February 1 of the follow year. Once the user membership ends, the membership is over unless the team is renewed.</p>
<h3 id="section-8">Team Roles</h3>
<p>There are three roles for the users associated with a team – owners, managers, and members:</p>
<table>
<thead>
<tr>
<th></th>
<th>OWNER</th>
<th>MANAGER</th>
<th>MEMBER</th>
</tr>
</thead>
<tbody>
<tr>
<td>Manage billing</td>
<td>Yes</td>
<td>–</td>
<td>–</td>
</tr>
<tr>
<td>Invite users</td>
<td>Yes – can add members and managers.</td>
<td>Yes – can add members and other managers if allowed by Teams for Memberships settings.</td>
<td>–</td>
</tr>
<tr>
<td>Remove users</td>
<td>Yes, if allowed by Teams for Memberships settings.</td>
<td>Yes, if allowed by Teams for Memberships settings.</td>
<td>–</td>
</tr>
<tr>
<td>Access membership</td>
<td>If added to the team or required by Teams for Memberships settings.</td>
<td>Yes</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h2 id="section-9">Creating, Joining, and Managing Teams as a Customer</h2>
<p>When a customer purchases a team, they become the team owner and are responsible for managing the team and its members.</p>
<h3 id="section-10">Purchasing Teams</h3>
<p>Purchasing a team membership product is similar to purchasing any other product, with a few extra steps:</p>
<ul>
<li><strong>Team Name</strong>: The owner must enter a name for their team. This can be <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#faq-change-team-name">changed later by the team owner</a> or the site administrator.</li>
<li><strong>Take up a seat</strong>: Unless you <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#settings">require owners to take up a seat on the team</a>, owners can choose whether or not they will be a team member as well as an owner. If a team owner is also a team member, they can access all content, products, and discounts associated with the membership plan. If a team owner is not a team member, they can manage the team but can’t take advantage of the membership plan benefits.</li>
<li><strong>Number of Seats</strong>: For a per-member priced team, the owner must include the number of seats they’re purchasing for their team. Team minimum and maximum seat counts, if applicable, will be enforced.</li>
</ul>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-purchase-team.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484680" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-purchase-team.png" alt="" width="750" height="472" /></a></p>
<p>As with all memberships, the team owner must create an account before or during the checkout process when purchasing a team membership so they can manage the team from their My Account area.</p>
<h3 id="section-11">Inviting Members</h3>
<p>Owners and managers can add members to their team by going to <strong>My Account &gt; Teams &gt; Add Member</strong>. From this page, the owner or manager can add users to the team in two ways:</p>
<ul>
<li><strong>Registration Link</strong>: Any user that clicks this link can register for the team. The owner or manager can regenerate the link to deactivate the previous link. This method is quick and easy, but less secure.</li>
<li><strong>Add Member</strong>: The owner or manager can enter the user’s email and role to add members to the team individually. This method is secure, but requires more manual work.</li>
</ul>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-member.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484682" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-member.png" alt="" width="763" height="693" /></a></p>
<p>The owner or manager can view pending invitations by going to <strong>My Account &gt; Teams &gt; Members &gt; Pending invitations</strong>. From this page, the owner or manager can resend the invitation, cancel the invitation, or change the new user’s role.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-pending-invitations.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484683" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-pending-invitations.png" alt="" width="888" height="398" /></a></p>
<p>Once a user is invited to a team or selects the Registration Link, they can register for an account (if they haven’t already done so) and join the team. The process varies for new users and existing users, but everyone must have an account on your site before they can join the team.</p>
<figure id="attachment_1484684" class="wp-caption aligncenter" aria-describedby="caption-attachment-1484684"><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-invite-email-existing-user.png"><img loading="lazy" decoding="async" class="size-full wp-image-1484684" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-invite-email-existing-user.png" alt="" width="604" height="472" /></a><figcaption id="caption-attachment-1484684" class="wp-caption-text">Team invite email for existing user</figcaption></figure>
<figure id="attachment_1484686" class="wp-caption aligncenter" aria-describedby="caption-attachment-1484686"><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-join-team-existing-user.png"><img loading="lazy" decoding="async" class="size-full wp-image-1484686" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-join-team-existing-user.png" alt="" width="704" height="298" /></a><figcaption id="caption-attachment-1484686" class="wp-caption-text">Join team page for existing user</figcaption></figure>
<p>If the invitation was sent to email A, but the user has an account on your site under email B, they can choose to either join the team under email B or create a new account for email A.</p>
<p>When a member joins a team, they can access all the benefits and content associated with the team’s membership plan. Members can view the membership perks from the <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-quick-start/#section-8" rel="noopener noreferrer">member area</a>, if enabled, under <strong>My Account &gt; Memberships</strong>. From the members’s perspective, the only difference between an individual membership and being a member of a team is that the team member has no control over billing or renewals – that’s all managed by the team owner.</p>
<h3 id="section-12">Managing Members</h3>
<p>If <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#settings">Teams for Memberships settings</a> allow owners and managers to remove members, they can do so by going to <strong>My Account &gt; Teams &gt; Members</strong> and selecting the <strong>Remove</strong> button. They can also change the role assigned to users from this page.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-remove-member-change-role.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484687" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-remove-member-change-role.png" alt="" width="889" height="408" /></a></p>
<p>Members can also choose to leave the team by going to <strong>My Account &gt; Memberships &gt; Manage &gt; Leave Team</strong>, but they will lose access to the membership perks at that point.</p>
<h3 id="section-13">Adding Seats to a Team</h3>
<div class="woo-sc-box normal   ">For subscription-tied teams, please review the section below on <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#changing-seats-subscription-team">Changing the Seat Count on a Subscription-tied Team</a>.</div>
<p>After a team is purchased, the team owner may want to adjust the number of seats on the team. Team owners can add seats to teams that are:</p>
<ul>
<li>Active</li>
<li>Associated with a product</li>
<li>Under the maximum allowed seat count</li>
<li>For per-team priced teams, limited in seat count – there’s no need to add seats to unlimited teams! <img decoding="async" class="emoji" role="img" src="https://help.codibu.com/wp-content/uploads/2022/03/1f642.svg" alt="&#x1f642;" /></li>
</ul>
<p>For teams that meet these conditions, owners can add seats by following the steps below:</p>
<ol>
<li>Go to <strong>My Account &gt; Teams &gt; Team Settings</strong>.</li>
<li>Click <strong>Add Seats</strong>.</li>
<li>Enter the number of seats you want to add to the team. For per-team priced teams, enter the number of blocks of seats you want to add. A block of seats is equal to the team’s maximum seat count.</li>
<li>Click <strong>Submit.</strong></li>
</ol>
<figure id="attachment_1484688" class="wp-caption aligncenter" aria-describedby="caption-attachment-1484688"><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-seats-per-member.png"><img loading="lazy" decoding="async" class="size-full wp-image-1484688" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-seats-per-member.png" alt="" width="778" height="622" /></a><figcaption id="caption-attachment-1484688" class="wp-caption-text">Adding seats to a per-member priced team</figcaption></figure>
<figure id="attachment_1484689" class="wp-caption aligncenter" aria-describedby="caption-attachment-1484689"><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-seats-per-team.png"><img loading="lazy" decoding="async" class="size-full wp-image-1484689" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-seats-per-team.png" alt="" width="774" height="630" /></a><figcaption id="caption-attachment-1484689" class="wp-caption-text">Adding seats to a per-team priced team</figcaption></figure>
<p>The team owner will be directed to a checkout page to pay for the new seat(s). For per-member priced teams, the owner will be charged according to the per-member price for that team product. For per-team priced teams, the owner will be charged the team price for the new block of seats.</p>
<h3 id="section-14">Managing Billing</h3>
<p>If the team membership expires, the team owner can renew the membership by going to <strong>My Account &gt; Teams &gt; Team Settings</strong> and selecting <strong>Renew</strong>. The team owner will then go through a checkout process for the new membership.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-renew-team.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484690" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-renew-team.png" alt="" width="896" height="512" /></a></p>
<h2 id="section-15">Managing Teams as an Administrator</h2>
<p>You can view all the teams on your site from <strong>WooCommerce &gt; Memberships &gt; Teams</strong>. From here, you can view, filter, add, edit, and delete teams.</p>
<p>You can also view team memberships from the <strong>WooCommerce &gt; Memberships &gt; Members</strong> page. From this page, you can see the team associated with the membership and the user role’s within the team, if applicable. You can also search by teams or filter the list of members to exclude team members.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-admin-members.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484691" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-admin-members.png" alt="" width="980" height="427" /></a></p>
<p>When editing a team member from this page, you’ll see a notice that recommends editing the team membership instead of the membership access for the team members. This is because editing the membership of a team member directly (instead of initiating that change from the team settings) can cause problems with that member’s access. For example, changing the expiration date for a team member’s access will place that member out of sync with the rest of the team’s access to membership content and perks.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-edit-member.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484693" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-edit-member.png" alt="" width="980" height="476" /></a></p>
<h3 id="section-16">Adding Existing Members to a Team</h3>
<p>If you want add existing members to a team, you can manually create and move their memberships under a team by following the below steps:</p>
<div class="woo-sc-box normal   ">If you want to tie the team to a subscription, please see the <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#adding-existing-members-subscription">Adding Existing Members to a Subscription-tied Team</a> section below.</div>
<ol>
<li>Go to <strong>WooCommerce &gt; Memberships &gt; Teams</strong> and click <strong>Add New</strong>.</li>
<li>Set the team name. <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#faq-change-team-name">The team owner can change the team name later.</a></li>
<li>In the <strong>Team Details</strong> section, set the owner and other team settings.</li>
<li>In the <strong>Billing Details</strong> section, you can designate the team membership product, which is important if you want owners to be able to renew the team’s access.</li>
<li>Click <strong>Update</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484695" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members.png" alt="" width="980" height="669" /></a></p>
<p>The team owner can now manage the team from their account. You can advise the owner to share the Registration Link to <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#inviting-members">invite members</a> to their new team. When the members select this link and join the team, their existing membership will move under the team’s management and billing.</p>
<h3 id="section-17">Exporting Team Data</h3>
<p>You can use the <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-import-and-export/" rel="noopener noreferrer">WooCommerce Memberships export</a> to retrieve the following Teams for Memberships information:</p>
<ul>
<li>Team ID</li>
<li>Team Slug</li>
<li>Team Name</li>
<li>Team Role</li>
</ul>
<p>Please note that these fields are read-only – <strong>you cannot update Teams for Memberships information via an import</strong> at this time. If updating teams via import is important feature for you, <a href="https://woocommerce.com/my-account/create-a-ticket/" target="_blank" rel="noopener noreferrer">please let us know</a>.</p>
<h2 id="section-18">Teams for Memberships and WooCommerce Subscriptions</h2>
<p>When you use Teams for Memberships with <a href="https://help.codibu.com/blog/kb/woocommerce-subscriptions/" rel="noopener noreferrer">WooCommerce Subscriptions</a>, you can sell team access with recurring billing. Before getting started, please review our documentation on the <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-subscriptions-integration/" rel="noopener noreferrer">integration between WooCommerce Memberships and WooCommerce Subscriptions</a>.</p>
<p>In general, subscription-tied teams are similar to regular teams. When a team is tied to a subscription, all team user memberships follow the subscription record. If the subscription is paused or cancelled, the user memberships will also be paused or cancelled. If the team is unlinked from the subscription, all the team user memberships will be unlinked from the subscription, too.</p>
<div class="woo-sc-box normal   ">While Teams for Memberships and WooCommerce Subscriptions are largely compatible, please note that Teams is not fully integrated with <a href="https://help.codibu.com/blog/kb/subscription-switching-guide/" rel="noopener noreferrer">Subscriptions Switching</a>. Switching successfully cancels the existing team and all associated memberships, but only creates the new team. You will need to add or reinvite all users to the team after switching.</div>
<h3 id="section-19">Creating Team Subscription Products</h3>
<p>Creating a team subscription product is very similar to creating a standard team membership product. You can use simple or variable subscriptions to sell access to team memberships. When using per-member pricing for the team, all subscription fees (including sign-up fees, if applicable) are multiplied by the seat count.</p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product-subscription.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484697" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-product-subscription.png" alt="" width="776" height="650" /></a></p>
<p>The team subscription product will appear when editing the membership plan from <strong>WooCommerce &gt; Memberships &gt; Membership Plans</strong>. You can set the subscription-tied membership length from this page, which will also apply to any individual subscription-tied memberships under this plan. <a href="https://help.codibu.com/blog/kb/woocommerce-memberships-subscriptions-integration/#section-3" rel="noopener noreferrer">Click here to read more about subscription-tied membership length.</a></p>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-team-membership-plan-subscription.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484714" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-team-membership-plan-subscription.png" alt="" width="921" height="472" /></a></p>
<h3 id="section-20">Adding Existing Members to a Subscription-tied Team</h3>
<p>To add existing members to a subscription-tied team, you can manually create the team, link it to the subscription, and move their memberships under the team by following the below steps:</p>
<h4 id="1-manually-create-the-subscription">1. Manually create the subscription</h4>
<p>First, you’ll need to manually create the subscription for the team owner. <a href="https://help.codibu.com/blog/kb/manually-add-or-edit-a-subscription/" rel="noopener noreferrer">Click here for instructions on manually creating subscriptions.</a> If you’re creating a per-member priced team, be sure that the subscription quantity and price correspond to your desired number of seats!</p>
<h4 id="2-manually-create-the-team">2. Manually create the team</h4>
<p>Follow the steps below to create the team in the admin area:</p>
<ol>
<li>Go to <strong>WooCommerce &gt; Memberships &gt; Teams</strong> and click <strong>Add New</strong>.</li>
<li>Set the team name and <strong>Team Details</strong>, such as owner and seat count.</li>
<li>Click <strong>Update</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-create-team.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484715" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-create-team.png" alt="" width="980" height="507" /></a></p>
<h4 id="3-link-the-team-to-the-subscription">3. Link the team to the subscription</h4>
<p>Follow the steps below to link the manually created subscription and team:</p>
<ol>
<li>In the team you just created, check the URL bar to get the team ID and copy it to your clipboard.</li>
<li>Go to <strong>WooCommerce &gt; Subscriptions</strong> and open the manually created subscription.</li>
<li>Click the pencil icon for the team membership product item.</li>
<li>Click <strong>Add Meta</strong>.</li>
<li>Enter <code>_wc_memberships_for_teams_team_id</code> as the meta key <strong>Name</strong> and the team ID (copied to your clipboard!) as the <strong>Value</strong>.</li>
<li>Click <strong>Add Meta</strong>.</li>
<li>Enter <code>team_name</code> as the meta key <strong>Name</strong> and the team name as the <strong>Value</strong>.</li>
<li>Click <strong>Save</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-link-team.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484717" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-link-team.png" alt="" width="775" height="470" /></a></p>
<h4 id="4-update-team-details">4. Update team details</h4>
<p>Now, you’ll need to update the team details by following these steps:</p>
<ol>
<li>Go to <strong>WooCommerce &gt; Memberships &gt; Teams</strong> and open the team.</li>
<li>Under the <strong>Billing Details</strong> section, link the team membership product and the subscription.</li>
<li>Click <strong>Update</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-update-team.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484730" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-add-existing-members-subscriptions-update-team.png" alt="" width="980" height="704" /></a></p>
<h4 id="5-invite-members">5. Invite members</h4>
<p>The team owner can now manage the team from their account. If the owner should take up a seat on the team, you can add them to the team at this stage. If you want to leave that up to the owner, they can add themselves to the team.</p>
<p>You can advise the owner to <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#inviting-members">invite members</a> to their new team by sharing the Registration Link. When the members select this link and join the team, their existing membership will move under the team’s management and billing. Once members migrate to the team, you’ll need to cancel their existing member subscriptions so the owner can manage all billing.</p>
<h3 id="section-21">Changing the Seat Count on a Subscription-tied Team</h3>
<p>Team owners can add or remove seats from their subscription-tied team. The impact on billing varies based on whether the owner is adding or removing seats and how the team is priced – per-team or per-member.</p>
<h4 id="adding-or-removing-seats-on-a-per-member-priced-team">Adding or Removing Seats on a Per-Member Priced Team</h4>
<p>The team owner can follow the steps below to change the number of seats on their team:</p>
<ol>
<li>Go to <strong>My Account &gt; Teams &gt; Team Settings</strong> and click <strong>Change Seats</strong>.</li>
<li>Enter the new seat count.</li>
<li>Click <strong>Submit</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-subscriptions-change-seats.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484731" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-subscriptions-change-seats.png" alt="" width="902" height="691" /></a></p>
<p>If the owner is adding seats, they will go through the checkout process to pay for the new seat’s immediate access and to update the recurring total going forward. The initial charge will be prorated to account for the time remaining in the current billing cycle to ensure the owner is charged fairly for the new seats.</p>
<p>For example, if a subscription charges $10/member/month and the team is halfway through the billing cycle when a seat is added, the owner will initally pay $5 for that seat. When the team renews at the end of the month, the new seat will be charged $10 for renewal, like all other seats on the team.</p>
<p>If the owner is removing seats, the recurring total will be reduced to account for the lost seats. However, the owner will not be reimbursed for any unused time on the current billing cycle for those seats. The new recurring total will apply to the next renewal payment.</p>
<h4 id="adding-seats-on-a-per-team-priced-team">Adding Seats on a Per-Team Priced Team</h4>
<p>All seat additions on a per-team priced team are made in a block equal to the team’s maximum seat count. For example, if a team permits up to 10 seats, you can add seats in 10-seat blocks. Adding seats for a per-team priced team is essentially like purchasing a new team and bringing it under the current team’s management. You cannot remove seats from a per-team priced team.</p>
<p>The owner can follow the steps below to add seats to their team:</p>
<ol>
<li>Go to <strong>My Account &gt; Teams &gt; Team Settings</strong> and click <strong>Add Seats</strong>.</li>
<li>Enter the number of blocks you want to add to the team.</li>
<li>Click <strong>Submit</strong>.</li>
</ol>
<p><a href="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-subscriptions-add-seats.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1484732" src="https://help.codibu.com/wp-content/uploads/2020/11/teams-for-woocommerce-memberships-subscriptions-add-seats.png" alt="" width="915" height="673" /></a></p>
<h2 id="section-22">Frequently Asked Questions</h2>
<p><a id="faq-change-team-name"></a><br />
<strong>Q: Can team owners change the name of their team?</strong><br />
<strong>A:</strong> Yes – team owners can change the name of their team from <strong>My Account &gt; Teams &gt; Team Settings</strong>.</p>
<hr />
<p><a id="faq-renewal-emails"></a><br />
<strong>Q: Will team members get renewal emails for their memberships?</strong><br />
<strong>A:</strong> No – individual team members won’t get their own renewal or expiration emails because they can’t act upon them. The team owner alone is responsible for managing billing and renewals, so they will receive all renewal and expiration emails.</p>
<hr />
<p><a id="faq-add-seats"></a><br />
<strong>Q: Can team owners add or remove seats from their team?</strong><br />
<strong>A:</strong> Yes! Team owners can change the seat count on their team, though this varies based on the type of team and how it is priced. <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#adding-seats">Click here to read about changing seats.</a></p>
<hr />
<p><a id="faq-quantity-discounts"></a><br />
<strong>Q: Can I provide quantity discounts for increasing the number of members?</strong><br />
<strong>A</strong>: Sure thing! For a stepped approach (e.g., price breaks at 5 members, 10 members, 15 members, etc.), you can use variable products to create tiered discounts. You can also use <a href="https://woocommerce.com/products/dynamic-pricing/" target="_blank" rel="noopener noreferrer">Dynamic Pricing</a> to discount the per-member or per-team price based on the number of seats or teams selected.</p>
<hr />
<p><a id="faq-migrate-existing-members"></a><br />
<strong>Q: Can I move existing user memberships into a team so they’re managed by one person?</strong><br />
<strong>A:</strong> Sure! Click here to learn more about adding existing members to a team.</p>
<hr />
<p><a id="faq-team-access-length"></a><br />
<strong>Q: Can I make the membership plan length longer or shorter for team members than for individual members?</strong><br />
<strong>A:</strong> No – at this time, members share the same plan length, regardless of team affiliation. If you’d like to set different access periods for team members vs individual members, you’ll need to setup two different plans. You can <strong>duplicate a plan</strong> to assist with set up! <a href="https://woocommerce.com/my-account/create-a-ticket/" target="_blank" rel="noopener noreferrer">Please let us know</a> if this feature is important to you.</p>
<hr />
<p><a id="faq-refunds"></a><br />
<strong>Q: What happens if a team purchase is refunded?</strong><br />
<strong>A:</strong> For a full refund, all memberships on the team are cancelled. This means that the team owner and managers can’t add any new members to the team. For a partial refund, you can adjust the team seats and cancel members manually as needed.</p>
<hr />
<p><a id="faq-subscription"></a><br />
<strong>Q: What happens if the team owner stops the subscription?</strong><br />
<strong>A:</strong> For subscription-tied teams, changes in the subscription status are inherited by all members of the team. If the subscription is paused, all team memberships are paused. If the subscription is cancelled, all team memberships are cancelled as well.</p>
<hr />
<p><a id="faq-member-access"></a><br />
<strong>Q: How long do team members have access to membership perks?</strong><br />
<strong>A:</strong> This depends on the team billing:</p>
<ul>
<li>If the team is tied to a regular product, then <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#membership-length">members have access</a> for the full membership period. If the membership should last one year, each user’s membership runs for a year, regardless of when they started.</li>
<li>If the team is tied to a subscription product, then this depends on your plan settings. If the subscription has a set-length, the user memberships will act like regular memberships. If the team follows the subscription length, the team memberships last until the subscription ends or is cancelled.</li>
</ul>
<p><strong id="faq-renewal-bug">Q: One or more of my team owners renewed their team for $0, and I saw an admin notice that says this was due to a plugin bug. How can I ensure this team owner pays for their access?</strong><br />
<strong>A:</strong> First, we are so sorry about this issue. While it only impacts a small number of teams – only teams with per-team pricing and unlimited seats – we regret any frustration caused by this issue. At this point, you can choose to do nothing and your future renewals will be charged appropriately, or you can end the affected team memberships to force the team owner to renew now by following these steps:</p>
<ol>
<li>Go to <strong>WooCommerce &gt; Memberships &gt; Teams</strong> and look for any teams with unlimited seats in your teams list.</li>
<li>View the team’s most recent renewal under the <strong>Billing Details</strong> to see if the renewal processed for $0.</li>
<li>Change the Team memberships begin to expire field to today and click Update.</li>
</ol>
<div class="woo-sc-box normal   "><strong>Note:</strong> This will not end membership access for the team members, but will force the team owner to renew the team (at the correct cost) before they can manage their team. If you’d like to also end the team memberships, you can do so by exporting the team members, changing their membership end dates, and then re-importing those members.</div>
<p>If you have any questions about this process or need assistance locating affected teams, please <a href="https://woocommerce.com/my-account/create-a-ticket/" target="_blank" rel="noopener noreferrer">contact our support team</a>. We would be happy to help make this right.</p>
<h2 id="section-23">Troubleshooting</h2>
<p>Having difficulty with the plugin?</p>
<ul>
<li>Please ensure your site meets the <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#requirements">plugin requirements</a>.</li>
<li>If you’re experiencing issues migrating existing memberships or subscriptions into a team structure, please review our guide for <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#adding-existing-members">adding existing members to teams</a> or <a href="https://help.codibu.com/blog/kb/teams-for-woocommerce-memberships-developer-documentation-2/#adding-existing-members-subscription">manually adding existing members to subscription-tied teams</a>.</li>
<li>If you’re experiencing a different issue, please <a href="https://woocommerce.com/my-account/create-a-ticket/" target="_blank" rel="noopener noreferrer">get in touch with the support team</a> for assistance.</li>
</ul><p>The post <a href="https://help.codibu.com/blog/teams-for-woocommerce-memberships/">Teams for WooCommerce Memberships</a> first appeared on <a href="https://help.codibu.com">CODIBU</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://help.codibu.com/blog/teams-for-woocommerce-memberships/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
