wppaste
WordPress

get_search_link( string $query = '' ): string

Since
3.0.0
Source
wp-includes/link-template.php:1184
Retrieves the permalink for a search.

Parameters

$querystringoptional
The query string to use. If empty the current query is used. Default empty.Default: ''

Return

string
The search permalink.

Hooks fired · 1

One hook fires while get_search_link() runs, in this order:

  1. apply_filters( search_link )filterline 1212 (+28 into the body)

    Filters the search permalink.

Uses · 4

  • get_search_query()Retrieves the contents of the search WordPress query variable.
  • home_url()Retrieves the URL for the current site where the front end is accessible.
  • user_trailingslashit()Retrieves a trailing-slashed string if the site is set for adding trailing slashes.
  • apply_filters()Calls the callback functions that have been added to a filter hook.

Used by · 1

Source

function get_search_link( $query = '' ) {	global $wp_rewrite; 	if ( empty( $query ) ) {		$search = get_search_query( false );	} else {		$search = stripslashes( $query );	} 	$permastruct = $wp_rewrite->get_search_permastruct(); 	if ( empty( $permastruct ) ) {		$link = home_url( '?s=' . urlencode( $search ) );	} else {		$search = urlencode( $search );		$search = str_replace( '%2F', '/', $search ); // %2F(/) is not valid within a URL, send it un-encoded.		$link   = str_replace( '%search%', $search, $permastruct );		$link   = home_url( user_trailingslashit( $link, 'search' ) );	} 	/**	 * Filters the search permalink.	 *	 * @since 3.0.0	 *	 * @param string $link   Search permalink.	 * @param string $search The URL-encoded search term.	 */	return apply_filters( 'search_link', $link, $search );}

History

Introduced in 3.0.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/link-template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.