MemberPress Integration
Create (or reuse) a WordPress user and record a completed MemberPress transaction that grants a membership when a form is submitted.
Action type: memberpress
Label: Create MemberPress Membership
Dependency: MemberPress (available only when the MeprTransaction class exists)
Handler: Core_Forms\Integrations\IntegrationHandlers::memberpress
Source: src/integrations/class-integration-manager.php, src/integrations/class-integration-handlers.php
Setup
- Make sure MemberPress is installed and active. The action does not appear in the Actions list otherwise.
- Create the membership in MemberPress if it does not exist yet.
- In WordPress, edit your form > Actions tab > Add Action > Create MemberPress Membership.
- Select the membership and adjust the contact field mappings if needed.
Settings Reference
| Setting | Required | Default | Description |
|---|---|---|---|
| Yes | [email] |
Member email; must resolve to a valid address | |
| First name | No | [first_name] |
Member first name |
| Last name | No | [last_name] |
Member last name |
| Phone | No | [phone] |
Member phone |
| Membership | Yes | -- | The MemberPress membership (memberpressproduct post) to grant |
| Transaction amount | No | 0 |
Amount recorded on the transaction; leave 0 for free access |
All text settings support Core Forms data variables such as [email] or any form field name.
User Handling
- If a WordPress user with the submitted email already exists, the membership is granted to that account.
- Otherwise a new
subscriberuser is created. The login is derived from the email's local part (with a numeric suffix on collisions) and the password is a random 24-character string. Core Forms does not email credentials; new members can set a password through the standard WordPress reset flow.
How It Works
- The user is looked up or created as described above; if that fails the action reports "Could not create the MemberPress user."
- A
MeprTransactionis stored with: - the user and selected membership, - amount and total from the Transaction amount setting, - status complete, gatewaymanual, - transaction numbercf-{submission ID}for easy correlation. - Because the transaction is complete, MemberPress treats the user as an active member of the selected membership.
Each run is idempotent: Core Forms builds a key from the submission ID, action type, and resolved settings, so re-processing the same submission never creates a duplicate transaction.
Notes
- This action grants access directly — it does not send the user through MemberPress checkout. Use it for free signups, lead magnets, or access granted after a Core Forms payment.
- The transaction appears under MemberPress > Transactions with the
cf-transaction number.
Troubleshooting
- Action missing from the Actions list: MemberPress must be active; the availability check looks for the
MeprTransactionclass. - "Could not create the MemberPress user": The email resolved to an empty or invalid address. Verify the Email setting maps to a real form field.
- Member has no access: Confirm the correct membership was selected and check the transaction status under MemberPress > Transactions.