Site icon Anthony Carbon

Genesis search form fields filter

Default function

add_filter( 'get_search_form', 'genesis_search_form' ); 
function genesis_search_form() {
	$search_text = get_search_query() ? apply_filters( 'the_search_query', get_search_query() ) : apply_filters( 'genesis_search_text', __( 'Search this website', 'genesis' ) . '…' ); 
	$button_text = apply_filters( 'genesis_search_button_text', esc_attr__( 'Search', 'genesis' ) ); 
	$onfocus = "if ('" . esc_js( $search_text ) . "' === this.value) {this.value = '';}";
	$onblur  = "if ('' === this.value) {this.value = '" . esc_js( $search_text ) . "';}"; 
	$label = apply_filters( 'genesis_search_form_label', '' ); 
	$value_or_placeholder = ( get_search_query() == '' ) ? 'placeholder' : 'value'; 
	if ( genesis_html5() )
		$form = sprintf( '<form method="get" class="search-form" action="%s" role="search">%s<input type="search" name="s" %s="%s" /><input type="submit" value="%s" /></form>', home_url( '/' ), esc_html( $label ), $value_or_placeholder, esc_attr( $search_text ), esc_attr( $button_text ) );
	else
		$form = sprintf( '<form method="get" class="searchform search-form" action="%s" role="search" >%s<input type="text" value="%s" name="s" class="s search-input" onfocus="%s" onblur="%s" /><input type="submit" class="searchsubmit search-submit" value="%s" /></form>', home_url( '/' ), esc_html( $label ), esc_attr( $search_text ), esc_attr( $onfocus ), esc_attr( $onblur ), esc_attr( $button_text ) ); 
	return apply_filters( 'genesis_search_form', $form, $search_text, $button_text, $label ); 
}

To change something within the form, example I want to change the placeholder of a search fields, find the filter for genesis_search_text.

apply_filters( 'genesis_search_text', __( 'Search this website', 'genesis' ) . '&#x2026;' );

And add this to your functions.php

add_filter( 'genesis_search_text', 'placeholder_text' );
function placeholder_text(){
	return esc_attr( 'Custom search text' );
}

Hope this will help you.

Exit mobile version