get_search_link()WP 3.0.0

Получает УРЛ страницы поиска с учетом текущего/указанного запроса поиска.

Запрос поиска обрабатывается функцией urlencode().

Работает на основе: get_search_query()
1 раз — 0.000102 сек (быстро) | 50000 раз — 2.75 сек (быстро)
Хуки из функции

Возвращает

Строку. УРЛ страницы поиска.

Использование

get_search_link( $query );
$query(строка)
Запрос поиска. Если не указать, то будет использоваться текущий запрос: get_search_query( false )
По умолчанию: ''

Примеры

0

#1 Получим ссылку на страницу поиска с указанием запроса поиска

echo get_search_link( 'нечто' );
// http://example.com/search/%D0%BD%D0%B5%D1%87%D1%82%D0%BE

echo get_search_link( 'foo " bar' );
// http://example.com/search/foo+%22+bar

Заметки

  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.

Список изменений

С версии 3.0.0 Введена.

Код get_search_link() WP 6.8.1

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 );
}