Register Now & Download Free 5,000+ Premium WordPress themes and plugins.

WooCommerce Checkout Field Editor v1.7.16

97

  ... people are viewing this right now

  Share

The WooCommerce Checkout Field Editor allows you to customize the fields that appear on the checkout page of a WooCommerce store. You can use it to add, edit, or remove fields, as well as rearrange the order of fields. Here’s how you can do this programmatically:

Adding a Custom Checkout Field

To add a custom checkout field, you can hook into woocommerce_checkout_fields filter. Below is an example of how you can add a custom field (e.g., a “Phone Extension” field):

php
add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_phone_extension'] = array(
'type' => 'text',
'label' => __('Phone Extension', 'woocommerce'),
'placeholder' => _x('Enter your phone extension', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true,
'priority' => 25, // You can change the priority to control the order
);

return $fields;
}

Editing an Existing Field

If you want to modify an existing field, like changing the placeholder text of the “Billing Phone” field, you can use a similar approach:

php
add_filter( 'woocommerce_checkout_fields', 'edit_billing_phone_field' );

function edit_billing_phone_field( $fields ) {
$fields['billing']['billing_phone']['placeholder'] = 'Enter your phone number with country code';
$fields['billing']['billing_phone']['label'] = 'Phone Number';

return $fields;
}

Removing a Checkout Field

To remove a field, for example, the “Company” field from the billing section:

php
add_filter( 'woocommerce_checkout_fields', 'remove_unwanted_checkout_fields' );

function remove_unwanted_checkout_fields( $fields ) {
unset( $fields['billing']['billing_company'] ); // Remove company name field

return $fields;
}

Reordering Checkout Fields

If you need to reorder fields, you can adjust their priority. Here’s an example of how to change the order of the billing fields:

php
add_filter( 'woocommerce_checkout_fields', 'reorder_checkout_fields' );

function reorder_checkout_fields( $fields ) {
$fields['billing']['billing_first_name']['priority'] = 10;
$fields['billing']['billing_last_name']['priority'] = 20;
$fields['billing']['billing_email']['priority'] = 30;
$fields['billing']['billing_phone']['priority'] = 40;

return $fields;
}

Validating Custom Checkout Fields

To validate custom fields (e.g., making sure “Phone Extension” is a number), you can hook into woocommerce_after_checkout_validation:

php
add_action( 'woocommerce_after_checkout_validation', 'custom_checkout_field_validation' );

function custom_checkout_field_validation( $data, $errors ) {
if ( isset( $data['billing_phone_extension'] ) && !is_numeric( $data['billing_phone_extension'] ) ) {
$errors->add( 'validation', __('Phone Extension must be a number.', 'woocommerce') );
}
}

Saving Custom Checkout Fields

Once you’ve added a custom field, you may want to save its data to the order. This can be done using the woocommerce_checkout_update_order_meta hook:

php
add_action( 'woocommerce_checkout_update_order_meta', 'save_custom_checkout_fields' );

function save_custom_checkout_fields( $order_id ) {
if ( ! empty( $_POST['billing_phone_extension'] ) ) {
update_post_meta( $order_id, '_billing_phone_extension', sanitize_text_field( $_POST['billing_phone_extension'] ) );
}
}

Displaying Custom Fields in the Order Admin

To display the custom field data in the order admin page, use the woocommerce_admin_order_data_after_billing_address action:

php
add_action( 'woocommerce_admin_order_data_after_billing_address', 'display_custom_checkout_field_order_admin', 10, 1 );

function display_custom_checkout_field_order_admin( $order ) {
$phone_extension = get_post_meta( $order->get_id(), '_billing_phone_extension', true );

if ( $phone_extension ) {
echo '<p><strong>' . __( 'Phone Extension', 'woocommerce' ) . ':</strong> ' . $phone_extension . '</p>';
}
}

This will show the custom “Phone Extension” field data in the admin order details.

0.00
0 reviews
5
0
4
0
3
0
2
0
1
0
Be the first to review “WooCommerce Checkout Field Editor v1.7.16”

Your email address will not be published. Required fields are marked *

This field is required.

This field is required.

This field is required.

Reviews

There are no reviews yet.

Category: 
My Cart
Recently Viewed
Categories