Developers

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

FilterDescription
cev_get_otp_button_textChange the text of the checkout “Send Verification Code” button.
cev_verification_code_lengthChange 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_messageChange the message shown in the login authentication popup.
cev_resend_limit_messageChange the message shown when a customer reaches the resend limit.
cev_email_from_nameChange the From name used on verification emails.
cev_email_from_addressChange the From address used on verification emails.
cev_back_office_rolesChange which roles are treated as store staff and exempted from verification.
cev_challenge_unverified_loginControl whether an unverified customer is challenged at login.
cev_should_enforce_login_auth_for_userControl whether login authentication applies to a given user.
cev_disposable_extra_domainsAdd your own domains to the disposable-email block list.
cev_disposable_extra_excluded_domainsExclude domains from the disposable-email block list.
cev_email_validation_rulesAdjust the email validation rules applied to registrations and guest checkout.
cev_signup_riskAdjust the calculated risk score for a registration.
cev_login_riskAdjust the calculated risk score for a login.
cev_pro_email_language_slugChange 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