Black Friday 40% off yearly and lifetime plans · 18d left Ends in 18d09h23m Claim 40% off
WooCommerce50 docs

How to Add Placeholders to WooCommerce Checkout Fields

Add placeholder text inside WooCommerce checkout fields to guide customers. Auto-fill common billing and address fields with sample input in Classic Monks.

By Founder & Lead Developer

Last updated

2 minutes

Key takeaways

  • Add placeholder text to the standard billing fields
  • Add placeholder text to the default address fields
  • Requires no per-field setup: the default placeholders apply automatically
  • Works with both the checkout billing form and the address fields
  • Improves clarity on the checkout form

What Does the Feature Do?

WooCommerce checkout fields often show only a label, with the input empty until the customer types. The Enable Checkout Field Placeholders feature adds placeholder text inside the common fields so customers see what to enter.

It applies placeholders to billing fields such as first name, last name, phone, email, city, and postcode, and to the default address fields such as first name, last name, state, postcode, and city.

Why You Need It

Placeholder text guides input without adding labels or fields:

  • Customers see the expected value before typing (for example, “Email” or “Phone Number”)
  • The form feels clearer and reduces guesswork
  • Short placeholder hints keep the checkout compact
  • No template edits are needed; the placeholders apply from the settings

How to Add Placeholders to WooCommerce Checkout Fields

  1. Step 1

    Enable the Feature

    1. In WordPress admin, open Classic Monks > WooCommerce.
    2. Open the Checkout settings area.
    3. Toggle on Enable Checkout Field Placeholders.

    Enable checkout field placeholders

  2. Step 2

    Save and Test

    Click Save Changes. Visit the checkout page and confirm the billing and address fields show placeholder text when empty.

Configuration Options

Option Default
Enable Checkout Field Placeholders Off

The placeholder text is set by the feature (for example, First Name, Email, Phone Number, City, Pincode). There are no per-field configuration fields; the placeholders apply to the standard checkout and address fields automatically.

What Gets Affected

  • Standard checkout billing fields: first name, last name, phone, email, city, postcode
  • Default address fields: first name, last name, state, postcode, city
  • Empty inputs: display the placeholder until a value is entered

What Does NOT Get Affected

  • Field labels: these remain visible above the inputs
  • Field validation: validation messages still appear as normal
  • Custom fields added by other plugins: those are handled by their own plugins
  • Saved customer data: the feature only affects empty field placeholder text

Advanced Options (Developers)

The feature registers its hooks in functions/woocommerce/woocommerce-functions.php:

add_filter( 'woocommerce_checkout_fields', 'cm_add_checkout_placeholders' );
add_filter( 'woocommerce_default_address_fields', 'cm_add_address_placeholders' );
  • woocommerce_checkout_fields calls cm_add_checkout_placeholders() to set placeholders on the standard billing fields (first name, last name, phone, email, city, postcode).
  • woocommerce_default_address_fields calls cm_add_address_placeholders() to set placeholders on the default address fields (first name, last name, state, postcode, city).

Frequently asked questions

What fields get placeholders?

The standard billing fields (first name, last name, phone, email, city, postcode) and the default address fields (first name, last name, state, postcode, city) receive placeholder text.

Can I change the placeholder text?

Not through individual settings. The feature applies its default placeholder text to the coverage fields. To use custom wording, extend the checkout field filters in the plugin’s developer hooks.

Does this replace the field labels?

No. Labels remain visible above the inputs. The placeholder is additional example text shown inside an empty field.

Which field gets the “Pincode” placeholder?

The postcode field in billing and address forms uses the default placeholder text, which in the feature is set as Pincode. Adjust the wording via the developer filter if you prefer a different term.

Troubleshooting

3 problems and how to fix each one.

Placeholders are not showing

Cause: The feature toggle is off, or caching is serving the old form.
Fix: Confirm Enable Checkout Field Placeholders is on and clear caches. The placeholders are added through the checkout field filters, so a fresh checkout render should show them.

Only some fields have placeholders

Cause: The feature targets the standard billing and address fields, not every possible checkout field.
Fix: Review which fields the feature covers. Fields added by other plugins or custom checkout builders are outside this feature’s scope.

The placeholder and label look redundant

Cause: Some themes render the label as a placeholder in addition to the added placeholder text.
Fix: If your theme shows a label inside the field, the two texts may overlap. Check the theme’s checkout styling, and keep the added placeholder for fields where it improves clarity.

Was this doc helpful?

Your answer tells us which docs to fix first.

Still stuck? Ask on the forum or email help@classicmonks.com.
Joy Chetry
Written by the person who built it

Joy Chetry

Founder & Lead Developer, Classic Monks

Joy is the founder of Classic Monks and GoodMonks Solutions, a web development agency that builds WordPress and WooCommerce sites for clients. Classic Monks grew out of the agency's own need to consolidate 20 to 30 separate plugins into one core stack.

Follow this doc on a real site.

Open a private WordPress site with Classic Monks, WooCommerce and Bricks Builder installed, and follow this doc step by step. Free for 24 hours, no card.

280 docs, written by Joy Chetry 15 day refund window