Requirements
- View as Markdown Open this page as plain Markdown (opens in a new tab)
- Open in ChatGPT Ask questions about this page (opens in a new tab)
- Open in Claude Ask questions about this page (opens in a new tab)
- Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)
Ultimate Membership Pro runs on most WordPress hosting. It needs a recent WordPress and PHP, a few standard PHP extensions, scheduled tasks (WP-Cron) for renewals and expiry, and working email for member notifications.
Check the list below before you install, or when something stops working after a move to a new server.
What you need
Keep WordPress up to date for security fixes.
Newer PHP versions are faster. Your host can switch the version for you.
Used to activate your license key and to talk to payment gateways. Without it the license can’t be activated.
Used to handle text in every language correctly.
A PHP setting that must be On.
Runs the background jobs that keep Memberships correct. See below for what they do.
The plugin sends emails with WordPress’s wp_mail() function. If your server can’t send email, use an SMTP plugin.
Your server must be able to reach the license server and your payment gateways. Some firewalls block outgoing requests.
Why WP-Cron matters
Several things happen on a schedule, without anyone visiting the admin. The plugin registers these jobs when you activate it:
Expire Memberships that reached their end date, check renewal payments that are due, check saved cards that are about to expire, send the notification emails that are due, check pending email verifications, send drip content notifications and clean old security logs.
Start and end grace periods, and end trials that are over.
Send the weekly summary email, when that module is on.
If WP-Cron is turned off in wp-config.php, the plugin shows this warning at the top of its screens:

Using a real server cron instead?
Some hosts set DISABLE_WP_CRON to true and run wp-cron.php from a server cron job instead. That works, as long as the job runs at least every hour. The plugin can’t see the server cron, so the warning stays visible.
How to check your server
Go to Tools›Site Health and open the Info tab. The WordPress section shows your WordPress version and the Server section shows the PHP version and whether cURL is available. Ask your host about anything that’s missing.
Example: a typical setup
- WordPress
- 6.8
- PHP
- 8.2
- PHP extensions
- cURL, mbstring
- allow_url_fopen
- On
- WP-Cron
- On (default)
- Sent through an SMTP plugin
Troubleshooting
“Crons are disabled on your WordPress Website. Some functionality and processes may not work properly.”
WP-Cron is turned off with DISABLE_WP_CRON. Remove that line from wp-config.php, or make sure a server cron runs wp-cron.php regularly.
“Curl is disabled.” or “Mbstring extension is disabled.”
The PHP extension is missing. Ask your hosting provider to enable it.
“’allow_url_fopen’ directive is disabled.”
Ask your host to set allow_url_fopen to On.
Memberships don’t expire or renewals aren’t recorded
Scheduled tasks aren’t running. Check WP-Cron as described above.
Members don’t get emails
Test that WordPress can send email at all, for example with an SMTP plugin’s test email. See How to send Notifications.
What’s next
#1 Membership WordPress Plugin