Custom Fields for WooCommerce

Setup and Configuration

↑ Back to top
  • Add field title (this will be used on frontend as field title).
  • Select field type and add options.
  • Add checkout field price and choose to set price as fixed or percentage order amount
  • Make field required or keep it optional
  • Make field non-editable from My Account (once submitted during registration or checkout, it won’t be editable from the My Account page later on).
  • Show field in order detail page and order email.
  • Choose field width (full or half).
  • Add field placeholder and description.
  • Option to add custom CSS for field.
  • Option to make fields dependent to any user role (leave empty for all users).
  • Choose field dependency (select respective field name and select option to make it dependable).
  • Choose where Checkout, Registration Form and My Account fields are displayed (these option will appear if the field is not dependable. If dependable, the field will display where the main field appears).
  • Assign field to specific products, categories and product tags to trigger field on checkout page only when the selected product is in cart.
For Checkout fields, choose the field position from the following 15 positions:
  • Before or After Customer Details
  • Before or After Billing Form
  • Before or After Shipping Form
  • Before Order Review Heading
  • Before or After Order Review
  • Before or After Order Notes
  • Before or After Terms and Conditions
  • Before or After Order Submit Button

View All Fields:

↑ Back to top
You can view all fields from Custom Fields > All fields. You can view, edit or delete any field.

Manage Default Checkout Fields:

↑ Back to top
You can choose to edit billing and shipping field labels and show/hide default billing and shipping fields based on user roles.

Editing billing and shipping fields labels

↑ Back to top
You can edit the labels of billing and shipping fields.

Show/Hide billing and shipping fields by user roles:

↑ Back to top
You can choose to show/hide default billing and checkout fields based on user roles.

Adding Default Billing Fields to Registration Form:

↑ Back to top
Go to Custom Fields > Enable Default Fields to enable default billing fields on your default registration form. While enabling these fields, you can customize:
  • Field label
  • Place holder
  • Message/Description
  • Required/Optional
  • Sort Order (will always be displayed above custom fields – see “Fields Sortings” section below for more details)
  • Field Width
  • Field Status
Note: The enable/disable option will only show/hide fields on the registration form. These fields will continue to be displayed in the billing section at checkout.

Show User Roles dropdown on Registration:

↑ Back to top
To display the User Role dropdown, go to Custom fields > Settings > User Roles and enable the Enable User Role Selection option.  Custom Fields for WooCommerce is compatible with all third-party user role plugins such as User Role EditorWpfront User Role Editor and many more. Note: Once the user selects their role during registration, they will not be able to change it from “My-Account.” Only the admin will be able to update user role.

New user approval and notifications:

↑ Back to top
You can enable manual approval on specific roles and keep the remainder on auto-approval. To manually validate all new customers, select all user roles. Even if the roles dropdown is disabled, the validation will apply to all new registrations. Enable Approve New User at Checkout Page: If you check this option, the customer will be automatically logged in after placing the order  – as per the standard WooCommerce checkout process. However, as soon as the user logs out, they will not be able to login again unless the account status is approved by admin. We cannot restrict the first login after checkout due to some technical limitations. If unchecked, the account created during the checkout process will be auto-approved. However, if the above checkbox “Enable Approve New User” is enabled and the customer chooses to register from the normal registration process, the user will require manual approval. You can also display custom messages to notify customer when the account is submitted and is awaiting approval, when the user tries to login and is awaiting approval and also when the account is rejected. Email Configurations: Within Custom Fields > Settings, you can customize the body text for the following emails:
  • Admin email when new user registers and awaiting approval
  • Welcome/Pending email when user registers and account is awaiting validation
  • User account approved
  • User account declined
You can customize email subjects and headings within WooCommerce > Settings > Emails.  All emails start with “Addify”. If you are not using the user validation/approval system, you can disable the above emails. Note: the default “new account” email will automatically include the custom fields data filled during registration.

Known incompatibilities & technical limitations:

↑ Back to top

Fields Sorting on Registration Form:

↑ Back to top
Here is how the sorting order works:
  • The default registration fields are always displayed first – due to technical limitations, you cannot sort the new custom fields within the default fields on registration form
  • The User roles dropdown is always displayed at the end of default fields.
  • The new custom fields are displayed under User roles dropdown –  you can easily sort these custom fields.

Fields Sorting on Checkout Page:

↑ Back to top
Unfortunately, it is not possible to add custom fields between the default checkout fields fields. You can choose from 15 pre-defined positions to add custom fields before or after any checkout section like billing address, shipping address, order details, etc.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.