Title: Fields Placeholder
Last modified: November 21, 2017

---

# Fields Placeholder

 *  Resolved [Tad](https://wordpress.org/support/users/tatifox/)
 * (@tatifox)
 * [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/)
 * Hello,
 * Is there any way we can add custom placeholder text in credit card info fields?
   (
   For: Card Number, Expiration Date, and Security Code) Card Number: ‘•••• ••••••••••••’
   Expiration Date: MM / YY Security Code: CSC
 * Thank you.

Viewing 4 replies - 1 through 4 (of 4 total)

 *  [Erica K. a11n](https://wordpress.org/support/users/piratepenpen/)
 * (@piratepenpen)
 * Automattic Happiness Engineer
 * [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/#post-9708363)
 * Hey [@tatifox](https://wordpress.org/support/users/tatifox/),
 * This would fall under the custom developer thing I mentioned. It would require
   a reworking of the extension.
 * Cheers,
 *  [Andrei Antoniu](https://wordpress.org/support/users/nandrey/)
 * (@nandrey)
 * [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/#post-9710830)
 * I would like to add placeholders as well!
 *  [Erica K. a11n](https://wordpress.org/support/users/piratepenpen/)
 * (@piratepenpen)
 * Automattic Happiness Engineer
 * [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/#post-9713006)
 * Hey [@nandrey](https://wordpress.org/support/users/nandrey/) and [@tatifox](https://wordpress.org/support/users/tatifox/)–
   I went ahead and added that feature request as well. I don’t have an ETA on if/
   when this would be added, so you may want to still consider looking at some custom
   code to get you there if you’re looking to implement it now.
 * Cheers!
 *  Thread Starter [Tad](https://wordpress.org/support/users/tatifox/)
 * (@tatifox)
 * [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/#post-9780860)
 * Hello [@piratepenpen](https://wordpress.org/support/users/piratepenpen/),
 * Would you be able to at least give us a piece of code too add it in to theme 
   functions.php file?
 * Card Number: ‘•••• •••• •••• ••••’
    Expiration Date: MM/YY Security Code: CSC
 * Also I find placeholder and other attributes code inside plugin PHP files, but
   I am wondering why they are not functioning?
 * class-sv-wc-payment-gateway-payment-form.php
    class-sv-wc-payment-gateway-admin-
   payment-token-editor.php
 *     ```
       	/**
       	 * Get the editor fields.
       	 *
       	 * @since 4.3.0
       	 * @return array
       	 */
       	protected function get_fields( $type = '' ) {
   
       		if ( ! $type ) {
       			$type = $this->get_gateway()->get_payment_type();
       		}
   
       		switch ( $type ) {
   
       			case 'credit-card' :
   
       				// Define the credit card fields
       				$fields = array(
       					'id' => array(
       						'label'    => __( 'Token ID', 'woocommerce-plugin-framework' ),
       						'editable' => ! $this->get_gateway()->get_api()->supports_get_tokenized_payment_methods(),
       						'required' => true,
       					),
       					'card_type' => array(
       						'label'   => __( 'Card Type', 'woocommerce-plugin-framework' ),
       						'type'    => 'select',
       						'options' => $this->get_card_type_options(),
       					),
       					'last_four' => array(
       						'label'   => __( 'Last Four', 'woocommerce-plugin-framework' ),
       						'attributes' => array(
       							'pattern'   => '[0-9]{4}',
       							'maxlength' => 4,
       						),
       					),
       					'expiry'    => array(
       						'label' => __( 'Expiration (MM/YY)', 'woocommerce-plugin-framework' ),
       						'attributes' => array(
       							'placeholder' => 'MM/YY',
       							'pattern'     => '(0[1-9]|1[012])[- /.]\d\d',
       							'maxlength'   => 5,
       						),
       					),
       				);
   
       			break;
   
       			case 'echeck' :
   
       				// Define the echeck fields
       				$fields = array(
       					'id' => array(
       						'label'    => __( 'Token ID', 'woocommerce-plugin-framework' ),
       						'editable' => ! $this->get_gateway()->get_api()->supports_get_tokenized_payment_methods(),
       						'required' => true,
       					),
       					'account_type' => array(
       						'label'   => __( 'Account Type', 'woocommerce-plugin-framework' ),
       						'type'    => 'select',
       						'options' => array(
       							'checking' => __( 'Checking', 'woocommerce-plugin-framework' ),
       							'savings'  => __( 'Savings', 'woocommerce-plugin-framework' ),
       						),
       					),
       					'last_four' => array(
       						'label'   => __( 'Last Four', 'woocommerce-plugin-framework' ),
       						'attributes' => array(
       							'pattern'   => '[0-9]{4}',
       							'maxlength' => 4,
       						),
       					),
       				);
   
       			break;
   
       			default :
       				$fields = array();
       		}
   
       		// Parse each field against the defaults
       		foreach ( $fields as $field_id => $field ) {
   
       			$fields[ $field_id ] = wp_parse_args( $field, array(
       				'label'      => '',
       				'type'       => 'text',
       				'attributes' => array(),
       				'editable'   => true,
       				'required'   => false,
       			) );
       		}
       ```
   
 *     ```
       	/**
       	 * Get default credit card form fields, note this pulls default values
       	 * from the associated gateway
       	 *
       	 * for an explanation of autocomplete attribute values, see:
       	 * @link https://html.spec.whatwg.org/multipage/forms.html#autofill
       	 *
       	 * @since 4.0.0
       	 * @return array credit card form fields
       	 */
       	protected function get_credit_card_fields() {
   
       		$defaults = $this->get_gateway()->get_payment_method_defaults();
   
       		$fields = array(
       			'card-number' => array(
       				'type'              => 'tel',
       				'label'             => esc_html__( 'Card Number', 'woocommerce-plugin-framework' ),
       				'id'                => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-account-number',
       				'name'              => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-account-number',
       				'placeholder'       => '•••• •••• •••• ••••',
       				'required'          => true,
       				'class'             => array( 'form-row-wide' ),
       				'input_class'       => array( 'js-sv-wc-payment-gateway-credit-card-form-input js-sv-wc-payment-gateway-credit-card-form-account-number' ),
       				'maxlength'         => 20,
       				'custom_attributes' => array(
       					'autocomplete'   => 'cc-number',
       					'autocorrect'    => 'no',
       					'autocapitalize' => 'no',
       					'spellcheck'     => 'no',
       				),
       				'value' => $defaults['account-number'],
       			),
       			'card-expiry' => array(
       				'type'              => 'text',
       				'label'             => esc_html__( 'Expiration (MM/YY)', 'woocommerce-plugin-framework' ),
       				'id'                => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-expiry',
       				'name'              => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-expiry',
       				'placeholder'       => esc_html__( 'MM / YY', 'woocommerce-plugin-framework' ),
       				'required'          => true,
       				'class'             => array( 'form-row-first' ),
       				'input_class'       => array( 'js-sv-wc-payment-gateway-credit-card-form-input js-sv-wc-payment-gateway-credit-card-form-expiry' ),
       				'custom_attributes' => array(
       					'autocomplete'   => 'cc-exp',
       					'autocorrect'    => 'no',
       					'autocapitalize' => 'no',
       					'spellcheck'     => 'no',
       				),
       				'value' => $defaults['expiry'],
       			),
       		);
   
       		if ( $this->get_gateway()->csc_enabled() ) {
   
       			$fields['card-csc'] = array(
       				'type'              => 'tel',
       				'label'             => esc_html__( 'Card Security Code', 'woocommerce-plugin-framework' ),
       				'id'                => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-csc',
       				'name'              => 'wc-' . $this->get_gateway()->get_id_dasherized() . '-csc',
       				'placeholder'       => esc_html__( 'CSC', 'woocommerce-plugin-framework' ),
       				'required'          => $this->get_gateway()->csc_required(),
       				'class'             => array( 'form-row-last' ),
       				'input_class'       => array( 'js-sv-wc-payment-gateway-credit-card-form-input js-sv-wc-payment-gateway-credit-card-form-csc' ),
       				'maxlength'         => 4,
       				'custom_attributes' => array(
       					'autocomplete'   => 'off',
       					'autocorrect'    => 'no',
       					'autocapitalize' => 'no',
       					'spellcheck'     => 'no',
       				),
       				'value' => $defaults['csc'],
       			);
       		}
       ```
   

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Fields Placeholder’ is closed to new replies.

 * ![](https://ps.w.org/woocommerce-gateway-paypal-powered-by-braintree/assets/icon-
   256x256.png?rev=3234800)
 * [Braintree for WooCommerce Payment Gateway](https://wordpress.org/plugins/woocommerce-gateway-paypal-powered-by-braintree/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/woocommerce-gateway-paypal-powered-by-braintree/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/woocommerce-gateway-paypal-powered-by-braintree/)
 * [Active Topics](https://wordpress.org/support/plugin/woocommerce-gateway-paypal-powered-by-braintree/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/woocommerce-gateway-paypal-powered-by-braintree/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/woocommerce-gateway-paypal-powered-by-braintree/reviews/)

 * 4 replies
 * 3 participants
 * Last reply from: [Tad](https://wordpress.org/support/users/tatifox/)
 * Last activity: [8 years, 6 months ago](https://wordpress.org/support/topic/fields-placeholder/#post-9780860)
 * Status: resolved