Tips and Tricks HQ Support Portal › Forums › WP eMember › eMember – Displaying content where specific membership level = expired
- This topic has 8 replies, 3 voices, and was last updated 9 years, 1 month ago by admin.
-
AuthorPosts
-
October 7, 2015 at 7:44 pm #13141lisajosh19Member
Hi Team,
I’ve been doing test runs with my membership and connected autoresponders, and it’s going beautifully. Thank you so much for your powerful and elegant plugins!
I’m still wrestling one last piece. Based on other functionality it doesn’t seem out of bounds, but it’s eluding me.
Short version: I need to be able to display content only to users having [membership level id]=expired.
This is different than the customary expiration functionality of “your membership has expired” -> renewals page (which I’m using as was suggested to me earlier). As long as the level is active I can craft what they see, but once it expires, that control is lost.
If I haven’t just missed a shortcode, a PHP snippet is fine (I know how to create and use a custom page template). Fyi, my desired flow and current settings are below, and I’m also integrating with eStore.
Thank you so much in advance!
Lisa
****************************
My desired flow:
* Two independent, unrelated “Major Membership” levels (ex: Gardening and Fitness)
* Additional options *after* having purchased the Major (ex: after Gardening, they’re allowed to purchase Fertilizer, Gloves, Seeds, etc.)
* Once having purchased the Major, they can purchase additional options forever (“forever” meaning as long as their site profile remains intact so that the plugin can read their history)
* The intention is not to “drip” ongoing content, but rather to require the Major as a prerequisite (ex: Fertilizer assumes knowledge of Gardening).
* All membership levels are self-contained, there are *no* upgrade/downgrade relationships between them
Customer scenario: Amy buys Gardening; because of this, whether her Gardening membership is active or expired, she is allowed to purchase Fertilizer, and Gloves, and Seeds. David buys Fitness; because of this, whether his Fitness membership is active or expired, he may also purchase Weights, and Shoes, and Clothing, etc. Amy only ever sees Fertilizer, Gloves, and Seeds, while David only ever sees Weights, Shoes, and Clothing – but both can see their additional options, forever. (And Jason, who has purchased both Gardening and Fitness, sees it all.)
My current settings:
* Allow Free Membership: checked
* Enable Secondary Membership: checked
* Set non-expired secondary as primary: NOT checked
* Allow Expired Account Login: checked (and URL to renewal page filled in)
* Auto-Downgrade to Free Addon: activated
October 7, 2015 at 9:01 pm #71535wzpModeratorCustomer scenario: Amy buys Gardening; because of this, whether her Gardening membership is active or expired, she is allowed to purchase Fertilizer, and Gloves, and Seeds. David buys Fitness; because of this, whether his Fitness membership is active or expired, he may also purchase Weights, and Shoes, and Clothing, etc. Amy only ever sees Fertilizer, Gloves, and Seeds, while David only ever sees Weights, Shoes, and Clothing – but both can see their additional options, forever. (And Jason, who has purchased both Gardening and Fitness, sees it all.)
Would the use of multiple “stacked” membership levels work for you?
October 7, 2015 at 10:22 pm #71536lisajosh19MemberWow, what a speedy response, thank you! Yes, the stacked memberships are working nicely.
Where I’m stuck is in being able to guide people once a membership (ex: the stacked Gardening or Fitness) has expired.
So taking Amy and Gardening/id=6, for example, as long as Amy’s Gardening membership is active, I can show her the options to purchase Fertilizer, Gloves, and Seeds. Using [emember_protected for=6], it will display these to Amy, while hiding them both from the public and from all other memberships. Perfect.
But once Amy’s Gardening membership expires, I can no longer control what she sees based on id=6. I have to send her to a page (renew-upgrade) where the most protection I can craft is Verified User – but this also grants access David, who is on the Fitness track. So when David’s Fitness membership expires, he can suddenly purchase Fertilizer, Gloves, and Seeds one-off. Not good.
I need Fertilizer, Gloves, and Seeds only to be visible to people who have purchased Gardening, whether they’re active or expired. I want them to be able to purchase Seeds even though Gardening has been expired for six months.
[emember_protected for=6] tells the plugin, “Display this content only to people for whom id 6 = active”. Similarly, I need to be able to say “Display this content only to people for whom id 6 = expired.” This way, the only people who can see the content are those who have purchased Gardening at some point in the past.
It seems that if the plugin can recognize that “id 6 account state = active”, then it can also recognize “id account state = expired.” I just need that same code, tweaked for expired.
No need for a shortcode – just a PHP snippet I can paste into a custom page template?
October 7, 2015 at 11:12 pm #71537lisajosh19MemberI should add for the record, I’m not wedded to this kind of snippet; it just ran into the problem at expiration and thought it would be simple.
I’m open to any suggestion that lets me offer these one-off additional options only to people who have purchased the prerequisite. You may have a better idea entirely!
October 8, 2015 at 1:34 am #71538adminKeymasterWill it work for you if I add an option to our section protection feature so you can create protected sections which is shown to “Expired” members ONLY? So the content that is wrapped inside the shortcode will be visible to expired members.
See the following documentation so you know what I am talking about when I say section protection:
https://www.tipsandtricks-hq.com/wordpress-membership/how-to-protect-a-section-of-a-post-or-page-88
October 8, 2015 at 3:11 am #71539lisajosh19MemberIf it can specify the particular membership, the way it does now for active ones, that would be magic wand perfect!
So you’re saying you can make the logic of [emember_protected for=1-3-5] behave like [emember_protected expired=1-3-5]? Probably not that code, of course, but that logic.
If so, that would be brilliant. Thank you!
October 9, 2015 at 1:40 am #71540adminKeymasterBasically, When a members account is “expired”, that member will see that section. It doesn’t matter what level a member has when it account is expired.
[emember_protected scope=”expired”]
Only expired users will see this section. Non-expired members will see nothing here.
[emember_protected]
October 9, 2015 at 8:00 pm #71541lisajosh19MemberAh, okay. I thought maybe since the plugin could spot that a specific membership was active (as with [emember_protected for=1-3-5]), it could just as easily spot that it was expired, and then just be a matter of pasting some code into the page template.
I appreciate this shortcode, however, and may be able to use it to wrangle a different way of doing things.
Thanks for your speedy responses and willingness, Team, I really appreciate it!
October 10, 2015 at 12:23 am #71542adminKeymasterI have implemented this in the plugin. I have sent you a copy of the plugin so you can see how it works.
-
AuthorPosts
- You must be logged in to reply to this topic.