Events Made Easy Forums How do I … Membership renewal

Viewing 31 posts - 1 through 31 (of 31 total)
  • Author
    Posts
  • #60628
    Anonymous
    Inactive

    Hi,

    How does membership renewal work? Is automatic renewal possible (I see for example in Paytium that Mollie seems to support that). If not what would the procedure be?

    Reason I’m asking is because of the following experiment I did: When I set “Stop membership” I see expired. If I then log in as a member and fill in the membership form again the member is added a second time. So now I have a duplicate in the members list.

    #60629
    Franky
    Keymaster

    Renewel is not automatic. You can define automatic membership reminders and send them a payment url in that mail too of course, but the amount is not taken automatically from their bank account.

    #60630
    Anonymous
    Inactive

    Okay that sounds good. However I can’t find the documentation that describes how to do that.

    I guess there is a shortcode that creates a payment link for a member and that when a member uses that link his account is renewed.

    When that link would be used for example x days before expiration of the current subscribtion, would the payment link take into account from when the subscription renewal date must start?

    When the link is used x days after the current subscribtion expires, when would the new subscribtion start? From the payment date or the expiration of the current subscription?

    #60631
    Franky
    Keymaster

    The reminders are sent based on the value of the “Reminder” setting when defining the membership. The content of the mail is defined by “Membership reminder email subject” and “Membership reminder email body”. Those can contain member placeholders that are described here: https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-14-members/

    #60632
    Anonymous
    Inactive

    So I can do it by email, but in case the email gets in the spam or is accidentally deleted…is there a way to show it on a page or another way when the member with the expired membership visits the website? For example something like this:

    [eme_if tag='#_IS_USER_MEMBER_OF{Student membership}' value='1'] content [/eme_if]
    [eme_if tag='#_IS_USER_MEMBER_OF{Regular membership}' value='1'] content [/eme_if]

    [eme_if tag='#_IS_USER_MEMBER_OF{Student membership}' value='0']
    [eme_if2 tag='#_IS_USER_MEMBER_OF{Regular membership}' value='0']
    Your membership status cannot be resolved. Please here to renew.
    [/eme_if2]
    [/eme_if]

    #60633
    Anonymous
    Inactive

    I also went through all fields under the tab “Mail templates” and don’t see:

    “Membership reminder email subject” and “Membership reminder email body”

    Could you please let me know were I can find those

    #60634
    Anonymous
    Inactive

    Okay found the setting…I was looking in the wrong place.

    #60635
    Anonymous
    Inactive

    The mails are working now, but #_CONTACTPERSON does not work in the mails. It was not in the list on the documentation pages, but I thought let’s give it a try, since memberships have a contact person. Maybe a nice to have to use in the mail signature.

    #60636
    Franky
    Keymaster

    Fair request, the next version will have that:
    https://plugins.trac.wordpress.org/changeset/2216424/

    #60637
    Anonymous
    Inactive

    Thanks! Amazing how fast you always reply and make updates!

    Could you also please let me know if I can do something like I mentioned in my reply at 21:06? Specifically the link I tried to create with #_PAYMENT_URL.

    #60638
    Franky
    Keymaster

    I added 2 extra conditional placeholders for that:
    #_IS_USER_MEMBER_EXPIRED{xx} and #_IS_USER_MEMBER_PENDING{xx}

    So if you want to present the link for an expired user, it would be something like this:

    
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Student membership}' value='0'] Expired, please use #_PAYMENT_URL [/eme_if]
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Regular membership}' value='0'] Expired, please use #_PAYMENT_URL [/eme_if]

    See this change:
    https://plugins.trac.wordpress.org/changeset/2216478/

    Edit: this won’t be sufficient, the payment url needs a reference to the membership too. So more work is required

    #60639
    Franky
    Keymaster

    This extra change should help:
    https://plugins.trac.wordpress.org/changeset/2216499/

    it introduces #_MEMBERSHIP_PAYMENT_URL, so the code for you would be:

    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Student membership}' value='0'] Expired, please use #_MEMBERSHIP_PAYMENT_URL{Student membership} [/eme_if]
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Regular membership}' value='0'] Expired, please use #_MEMBERSHIP_PAYMENT_URL{Regular membership} [/eme_if]

    (to be tested of course 🙂 , so please give some feedback)

    #60879
    Anonymous
    Inactive

    Hi Franky,

    Sorry for this late reply. I had some other urgent sites work on. I finally got to implement this and unfortunately it shows the unprocessed tags in the frontend.

    Could it be that this only works within the EME plugin and not when used in theme templates?

    #60880
    Anonymous
    Inactive

    This is the code I’m using in my template:

    $contentRegularMember = sprintf(“[eme_if tag='#_IS_USER_MEMBER_OF{Regular membership}' value='1'] %s [/eme_if]“, $content);
    $contentStudentMember = sprintf(“[eme_if tag='#_IS_USER_MEMBER_OF{Student membership}' value='1'] %s [/eme_if]“, $content);
    $contentMemberNotPaid = “[eme_if tag='#_IS_USER_MEMBER_EXPIRED{Student membership}' value='1'] #_FIRSTNAME your #_MEMBERSHIPNAME has expired, please use #_MEMBERSHIP_PAYMENT_URL{Student membership} [/eme_if]
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Regular membership}' value='1'] Your membership has expired, please use #_MEMBERSHIP_PAYMENT_URL{Regular membership} [/eme_if]“;

    $output = sprintf(‘%s %s %s’, $contentRegularMember, $contentStudentMember, $contentMemberNotPaid);

    $output = do_shortcode($output);
    echo $output;

    Also it’s very difficult to find a way to decide whether to show the payment link for the ‘Student membership’ and the ‘Regular membership’

    The decision tree would preverably look something like:

    if(membershipNeededToSeeContentOfThisPage == ACTIVE)
    {
    showContent()’
    }
    else if (userIsMemberOf(membershipName1))
    {
    show something like: “Hi ‘username’, your ‘membershipname’ has expired. Please use the following link to renew your subscription: ‘paymentlinkForThisUsersMembership’.”
    }
    else if (userIsMemberOf(membershipName2))
    {
    show something like: “Hi ‘username’, your ‘membershipname’ has expired. Please use the following link to renew your subscription: ‘paymentlinkForThisUsersMembership’.”
    }
    else
    {
    do something else like show a membership registration form
    }

    #60881
    Franky
    Keymaster

    The payment url only works in a eme context, since they require exact knowledge on the member. I think I can make these global too though … I just checked the code and the payment url is global already, but only for non-expired members and it contains an error (non-existing function call). I’ll fix that.
    Concerning the logic: you can use nested eme tags, see the doc.

    #60896
    Anonymous
    Inactive

    Okay looking forward to that update.

    I also got an idea about this I wanted to share. Maybe this makes it easier to be more compatible with different kind of themes and make setting up access to content easier:

    May it’s an idea to create some field for settings in the left column when editing a page or post. Like how you set a featured image and page attributes. Then for example a user could be shown a list of memberships and set checkmarks for the memberships to which the page content is visible. And/or maybe something like a custom field or something below the page editing area to setup messages for when content is not accessible due to membership restriction or expiration. A bit the way like Yoast SEO has a setup field/area below each page.

    Well that’s quite an extension…but something that popped up my mind and thought worth sharing.

    #60897
    Franky
    Keymaster

    Well, EME is currently designed to do real club-memberships, no actual page content protection just yet … it can be worked around by the [eme_if] tag, but I never went further down that road just yet.
    Concerning the change: https://plugins.trac.wordpress.org/changeset/2246348/events-made-easy/trunk (it is bigger than normal, because I added an extra functionality to the membership too, so you can allow/disallow membership extensions).

    #60900
    Anonymous
    Inactive

    Hi Frank & Michel, I just wanted to add to this comment, would love to +1 for Michel’s idea. About checkbox for member content showing page/post if they have checked and part of membership. I know you didn’t originally intend this Franky, but I would love to see the functionality going this way also 🙂 Would be awesome! 🙂

    #60921
    Franky
    Keymaster

    @michel-ter-stege : the next version will already have the option the limit page content to members of one or more memberships. I’ll add an option to set a custom message too, in case access is denied.

    #60935
    Anonymous
    Inactive

    Thanks Franky! That makes controlling the content of pages and posts much easier! Looking forward to the next release.

    #60936
    Franky
    Keymaster

    It will be a setting per page, and no drip content yet (although that’s not difficult to add). Most plugins ask money for something like that, but I’m trying to keep the plugin free so we’ll see how this goes (I do need to pay for the site, domain name and such …)

    #60937
    Anonymous
    Inactive

    Yeah regarding that: for every site I build I now let my customers know about your concept and send them a donation link and a reminder about how expensive some other plugins like paytium are :). Currently I have 2 sites in development using the EME plugin.
    And I put a post-it on my desktop to make a donation myself…keep forgetting that…have to ask for the paypal account details…:)
    You really have a very good plugin! Not so many plugins that extensive around that are free. Wouldn’t blame you if you can’t keep it free in the future.

    #60968
    Anonymous
    Inactive

    Hi Frank, I just saw the update and trying it now. Maybe I’m using it wrong, but currently it doesn’t seem to work. In the new fields I selected 2 memberships and in the custom message (very small field by the way, could that become a wysiwyg editor?) I tried the following: Access denied #_MEMBERSHIP_PAYMENT_URL{Student membership}.

    When I visit the page I see the plain text and placeholder and also when I log in (as a paid member) I still see the message as plain text.

    #60969
    Anonymous
    Inactive

    I’ve a bit of an issue….I want to deselect all memberships for now, but always one will stay selected. How can I remove the restriction?

    #60970
    Franky
    Keymaster

    Ctrl-click on the one you selected. Then that should go away too.
    I need to check if I replace placeholders there already, but generic ones would of course be nice to work.
    And I initially made it a small text field, but it is only the first version 🙂
    But the functionality should work, is that not the case then? Did you try with only one membership selected?

    #60971
    Franky
    Keymaster

    The next version will allow generic placeholders in the access-denied message.
    I’ll check later on concerning if it works for multiple events (or even works at all, but I did test that) and maybe switch the denied-message textbox to wysiwyg

    #60972
    Anonymous
    Inactive

    Of course ctrl-click….thought about that just after posting :(.

    I tested with 2 (that’s in my case all) memberships selected. Later retested with 1 membership selected. That worked fine.

    A few things that came to my mind: when using the new functionality a custom message is great, but people of course would like to use that message on multiple or probably all pages. So for maintanance reasons of a website alone a single place to edit the custom message would be great. A person with php and WordPress knowledge would probably use a shortcode in the custom field and place the code in functions.php. In that case the generic placeholders would also end up in functions.php. Another way to go, maybe more friendly for users with less php and WordPress knowledge, is to define the messages inside the settings tabs of the plugin (like the email templates and form templates). Then at page level one could decide which template to use from a dropdownbox. What do you think?

    Regarding what messages I would output in my use cases:
    -Page visitor: message that it’s a members only page and a login form;
    -Logged in not paid: message and a payment url (in my case the payment url is user dependent and not membership dependent. I gues that might differ for other websites);
    -Logged in and paid: the content;
    I hope this information is useful for you.

    #60977
    Franky
    Keymaster

    The next version will be different:
    – checkboxes for the memberships
    – template selection only for the access denied message (so if you had custom text there, it will be gone)
    – a new section in EME options (members) that allows you to set the access denied message by default

    #60985
    Anonymous
    Inactive

    Just tried the new release. Works great so far!

    Did have to delete cache a few times. First time I lost styling of the page after the member logged in. So for others: when you make changes and see strange behavior: it might be cache.

    #60986
    Anonymous
    Inactive

    For those interested. This is what I currently use as message:

    <!– page visitor –>
    [eme_if tag='#_IS_USER_MEMBER_OF{Student membership}' value='0'] [eme_if2 tag='#_IS_USER_MEMBER_OF{Regular membership}' value='0'][LOGIN_REDIRECT][/eme_if2] [/eme_if]

    <!– logged in as regular member and membership expired –>
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Regular membership}']<div style=’text-align: center’>Your membership has expired, please use this payment link to renew your membership.</div>[/eme_if]

    <!– logged in as student member and membership expired –>
    [eme_if tag='#_IS_USER_MEMBER_EXPIRED{Student membership}']<div style=’text-align: center’>Your membership has expired, please use this payment link to renew your membership.</div>[/eme_if]

    #60987
    Anonymous
    Inactive

    Oh and the login redirect shortcode I added to functions.php. Looks like this:

    function loginRedirect() {
    if(!is_user_logged_in())
    {
    $permalink = get_permalink();
    $loginlink = ‘/login/?redirect_to=’.$permalink;
    wp_safe_redirect($loginlink);
    exit;
    }
    }
    add_shortcode(‘LOGIN_REDIRECT’, ‘loginRedirect’);

Viewing 31 posts - 1 through 31 (of 31 total)
  • The forum ‘How do I …’ is closed to new topics and replies.
Scroll to Top