Hooks and filters available for developers to extend plugin functionality.
How to Check User Verification Status?
Use the following code to check if a user has verified their email:
if ( function_exists( 'cev_pro' ) && cev_pro()->function->is_user_email_verified( $user_id ) ) {
// User is verified.
}
This helper returns true both for a fully verified customer and for one who has verified their email but is still awaiting their first paid order, which is the state used when Paid-Order Gatekeeping is enabled. It is therefore the correct check for any access, prompt or gating decision.
To read the raw state instead, the user-meta key is customer_email_verified and its value is one of true, pending_paid_order or false:
$state = get_user_meta( $user_id, 'customer_email_verified', true );
How to Change the OTP Button Label?
Use this filter to customize the “Send Verification Code” button text on the checkout verification form:
add_filter( 'cev_get_otp_button_text', function ( $text ) {
return 'Get Your Code';
} );
Available Filters
| Filter | Description |
|---|---|
| cev_get_otp_button_text | Change the text of the checkout “Send Verification Code” button. |
| cev_verification_code_length | Change the code-length label shown in the verification popup, for example “4-digit code”. The code length itself is an admin setting. |
| cev_login_auth_message | Change the message shown in the login authentication popup. |
| cev_resend_limit_message | Change the message shown when a customer reaches the resend limit. |
| cev_email_from_name | Change the From name used on verification emails. |
| cev_email_from_address | Change the From address used on verification emails. |
| cev_back_office_roles | Change which roles are treated as store staff and exempted from verification. |
| cev_challenge_unverified_login | Control whether an unverified customer is challenged at login. |
| cev_should_enforce_login_auth_for_user | Control whether login authentication applies to a given user. |
| cev_disposable_extra_domains | Add your own domains to the disposable-email block list. |
| cev_disposable_extra_excluded_domains | Exclude domains from the disposable-email block list. |
| cev_email_validation_rules | Adjust the email validation rules applied to registrations and guest checkout. |
| cev_signup_risk | Adjust the calculated risk score for a registration. |
| cev_login_risk | Adjust the calculated risk score for a login. |
| cev_pro_email_language_slug | Change the language used when sending a verification email. |
Smart Form
The Smart Form has its own set of filters, covering custom registration fields, compatibility with stores that add required WooCommerce registration fields, and the redirect applied after login or registration.
Customizing the Smart Form: Custom Fields, Validation and Redirects