bp_get_form_field_attributes( string $name = '', array $attributes = array() )
Get the attributes for a form field.
Description
Primarily to add better support for touchscreen devices, but plugin devs can use the ‘bp_get_form_field_extra_attributes’ filter for further manipulation.
Parameters
- $name
-
(Optional) The field name to get attributes for.
Default value: ''
- $attributes
-
(Optional) Array of existing attributes to add.
Default value: array()
Return
(string)
Source
File: bp-core/bp-core-template.php
function bp_get_form_field_attributes( $name = '', $attributes = array() ) { $retval = ''; if ( empty( $attributes ) ) { $attributes = array(); } $name = strtolower( $name ); switch ( $name ) { case 'username' : case 'blogname' : $attributes['autocomplete'] = 'off'; $attributes['autocapitalize'] = 'none'; break; case 'email' : if ( wp_is_mobile() ) { $attributes['autocapitalize'] = 'none'; } break; case 'password' : $attributes['spellcheck'] = 'false'; $attributes['autocomplete'] = 'off'; if ( wp_is_mobile() ) { $attributes['autocorrect'] = 'false'; $attributes['autocapitalize'] = 'none'; } break; } /** * Filter the attributes for a field before rendering output. * * @since BuddyPress 2.2.0 * * @param array $attributes The field attributes. * @param string $name The field name. */ $attributes = (array) apply_filters( 'bp_get_form_field_attributes', $attributes, $name ); foreach( $attributes as $attr => $value ) { // Numeric keyed array. if (is_numeric( $attr ) ) { $retval .= sprintf( ' %s', esc_attr( $value ) ); // Associative keyed array. } else { $retval .= sprintf( ' %s="%s"', sanitize_key( $attr ), esc_attr( $value ) ); } } return $retval; }
Changelog
Version | Description |
---|---|
BuddyPress 2.2.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.