WP::build_query_string()publicWP 2.0.0

Sets the query string property based off of the query variable property.

The query_string filter is deprecated, but still works. Plugins should use the request filter instead.

Метод класса: WP{}

Хуки из метода

Возвращает

null. Ничего (null).

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

global $wp;
$wp->build_query_string();

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

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

Код WP::build_query_string() WP 6.6.2

public function build_query_string() {
	$this->query_string = '';

	foreach ( (array) array_keys( $this->query_vars ) as $wpvar ) {
		if ( '' !== $this->query_vars[ $wpvar ] ) {
			$this->query_string .= ( strlen( $this->query_string ) < 1 ) ? '' : '&';

			if ( ! is_scalar( $this->query_vars[ $wpvar ] ) ) { // Discard non-scalars.
				continue;
			}

			$this->query_string .= $wpvar . '=' . rawurlencode( $this->query_vars[ $wpvar ] );
		}
	}

	if ( has_filter( 'query_string' ) ) {  // Don't bother filtering and parsing if no plugins are hooked in.
		/**
		 * Filters the query string before parsing.
		 *
		 * @since 1.5.0
		 * @deprecated 2.1.0 Use {@see 'query_vars'} or {@see 'request'} filters instead.
		 *
		 * @param string $query_string The query string to modify.
		 */
		$this->query_string = apply_filters_deprecated(
			'query_string',
			array( $this->query_string ),
			'2.1.0',
			'query_vars, request'
		);

		parse_str( $this->query_string, $this->query_vars );
	}
}