When defining a membership, a huge amount of work will go into the definition of the mails being send when someone becomes a member, pays, expires, etc …
These mails can contain placeholders to make your life easier and be able to reuse these for other membership definitions.
For members, all the placeholders used for people can be used (except #_FIELD or #_FIELDVALUE: these will be replaced by the member info, see below). Also all placeholders for payment gateways and memberships can be used. Next to those, the following member-specific placeholders can be used:
#_MEMBERIDdisplays person’s member ID#_MEMBERPRICEdisplays the membership price for a member (this differs from #_MEMBERSHIPPRICE in that way that discounts are taken into account).#_MEMBERPRICE{xx}(with xx being the internal name of a payment method): gives the total price to pay for a specific payment method (including all costs).#_MEMBERPRICE_NO_VATreturns the membership price for a member, VAT excluded#_MEMBERPRICE_VAT_ONLYreturns the VAT part of the membership price for this member#_MEMBERPAYMENTDATEand#_MEMBERPAYMENTTIMEreturns the date and/or time the member paid#_MEMBERPAYMENTDATE{xx}and#_MEMBERPAYMENTDATE{xx}(with “xx” a php dateformat notation) returns the current date or time in the php dateformat mentioned between brackets. E.g. #_MEMBERPAYMENTDATE{Y} will return just the year.#_CHARGE{xx}(with xx being the name of a payment gateway). Returns the extra cost being added per payment provider: #_CHARGE{stripe}, #_CHARGE{paypal}, #_CHARGE{webmoney}, …#_CURRENCYreturns the currency of a membership (if any)#_CURRENCYSYMBOLreturns the currency symbol for the price of a membership (if any)#_MEMBERCREATIONDATEdisplays the date the member signed up, formatted according to the wordpress preferences#_MEMBERSTARTDATEdisplays the start date of the membership, formatted according to the wordpress preferences#_MEMBERENDDATEdisplays the end date of the membership, formatted according to the wordpress preferences#_MEMBER_STATUSdisplays the member status (“Pending”, “Active”, “Grace period” or “Expired”)#_MEMBERCREATIONDATE{xx},#_MEMBERSTARTDATE{xx}and#_MEMBERENDDATE{xx}displays relevant dates formatted by ‘xx’ (‘xx’ being a valid PHP date format).#_MEMBERSHIPNAMEdisplays the name of the membership#_MEMBERSHIPDESCRIPTIONdisplays the description of the membership#_MEMBERSHIPPRICEdisplays the membership price#_CONTACTNAMEor#_CONTACTPERSONdisplays the dispname of the membership contact person if that user is not linked to an EME person, or the full EME name if that user is linked to an EME person. If the membership contact (it is a WP account) is linked to an EME person, you can use #_CONTACT followed by any person placeholders (e.g. #_CONTACTNAME, #_CONTACTADDRESS1, all people placeholders preceded by “CONTACT”) to show EME info from that person. If the contact is not linked to an EME person, the placeholders#_CONTACTDISPNAME,#_CONTACTLASTNAMEand#_CONTACTLASTNAMEare still supported as well.#_CONTACTEMAILdisplays the e-mail of the event contact person#_CONTACTPHONEdisplays the phone of the event contact person#_QRCODEreturns a QR-code that allows an EME member administrator to validate if someone is an active member or not. The intended use is in the template for the optional PDF sent to a member when signing up (a member card), or e.g. in the payment mail after someones is marked as paid. In the EME settings you can configure what is shown when scanning the qrcode with sufficient rights or when not logged in.#_QRCODE{xx}returns#_QRCODEbut with an optional size attribute (default: 2). The different options are: any number from 1 to 8 or the predefined sizes small (=1), medium (=2, the default), large (=4), huge (=8). Examples:#_QRCODE{small}or#_QRCODE{4}#_FIELD{xx}returns the answer (the tag, not the real value chosen for multi-option fields) for the extra form field with ID or name xx. For fields of type “file” it will return a list of clickable links.#_FIELDVALUE{xx}returns the answer (not the tag, but the real value chosen for multi-option fields) for the extra form field with ID or name xx. For fields of type “file” it will return the url to the file.#_DYNAMICDATAshows the dynamic data entered based on the defined membership conditions.#_DYNAMICFIELD{xx}works like #_FIELD but for dynamically added fields. Since these can be repeated multiple times, those answers will be separated by a carriage return or a br-tag#_PAYMENT_URLreturns a link to the payment form (the buttons for paypal and all other payment gateways), in case you want to mail it to people for pending, active or expired members (the latter if renewal of expired members is allowed).#_FILES: returns the files uploaded for that member (all files uploaded!). However: a custom field that was
marked as “Person field” (so asking for personal info) will not be returned when using #_FILES, use #_PERSONAL_FILES for that#_PERSONAL_FILES: returns the files uploaded for the relevant person#_MEMBERPDF_URL{xx}(with ‘xx’ being a template id) that allows you to generate pdf’s with member info in them and mail that url to the person in question. If this placeholder is used multiple times with the same template the first generated PDF file is chosen (so don’t do it …). This placeholder can also be used in the member sign-up message.#_PAYMENTGATEWAYUSEDIf this is a mail sent after payment, this placeholder will return the payment gateway used to pay online.#_TOTALDISCOUNTreturns the total discount applied.#_APPLIEDDISCOUNTNAMESreturns a comma-seperated list of discount names applied to this booking.#_DISCOUNTCODES_ENTEREDreturns a comma-seperated list of discount names entered for this booking. Since it is no longer allowed to enter invalid discount codes, the placeholder#_DISCOUNTCODES_ENTEREDand#_DISCOUNTCODES_VALIDnow return the same result.#_DISCOUNTCODES_VALID(or#_DISCOUNTCODES_USED)returns a comma-seperated list of the valid discount codes entered for this booking.- Conditional placeholders
#_IS_MEMBER_PENDING,#_IS_MEMBER_ACTIVE,#_IS_MEMBER_GRACE,#_IS_MEMBER_EXPIRED(returns 1 if the status of the member is pending/active/grace/expired, or 0 otherwise)