WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

get_home_url()WP 3.0.0

Получает URL главной страницы сайта (без / на конце). Можно указать ID сайта сети. Учитывает протокол (http,https).

Основа для функции home_url().

Возвращает значение опции get_option('home') с правильным протоколом. Протокол будет:

  • https — когда выполняется условие is_ssl().
  • http — в других случаях.

Протокол можно форсированно переписать, указав третий параметр $scheme.

Константа WP_HOME.
В wp-config.php можно указать константу WP_HOME, тогда эта функция будет получать значение этой константы, а не значение из БД.

Используйте эту функцию только, когда нужно получить URL сайта, а не URL WordPress (где лежат файлы ядра) (см. Общие настройки WordPress). Для получения URL WordPress, используйте get_site_url().

Работает на основе: set_url_scheme(), get_option()
Основа для: get_rest_url(), home_url()
1 раз — 0.000065 сек (очень быстро) | 50000 раз — 0.39 сек (очень быстро) | PHP 7.1.2, WP 4.7.3
Хуки из функции

Возвращает

Строку. Строку, УРЛ на главную страницу блога.

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

get_home_url( $blog_id, $path, $scheme );
$blog_id(число)
ID блога, УРЛ которого надо получить.
По умолчанию: null (текущий блог)
$path(строка)
Путь до главной страницы блога. Строка которая будет дописана к УРЛу блога (/qwe).
По умолчанию: ''
$scheme(строка)
Схема в которой нужно возвращать УРЛ. Может быть: http,https, relative.
По умолчанию: null

Примеры

0

#1 Выведем УРЛ блога

<?php echo get_home_url(); ?>

http://example.com

<?php echo get_home_url( null, 'wp-admin/', 'https' ); ?>

https://example.com/wp-admin/

0

#2 Демо

echo get_home_url();                             // http://example.com

echo get_home_url( null, '/' );                  // http://example.com/

echo get_home_url( null, 'blog', 'relative' );   // /blog

echo get_home_url( null, 'blog' );               // https://example.com/blog

echo get_home_url( null, '/blog', 'https' );     // https://example.com/blog

echo get_home_url( null, '#hash', 'https' );     // https://example.com/#hash

echo get_home_url( null, '//foo.bar/foo' );      // http://example.com/foo.bar/foo

echo get_home_url( null, 'http://foo.bar/foo' ); // http://example.com/http://foo.bar/foo

echo get_home_url( null, '/mypage?id=123' );    // https://example.com/mypage?id=123

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

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

Код get_home_url() WP 6.5.2

function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
	$orig_scheme = $scheme;

	if ( empty( $blog_id ) || ! is_multisite() ) {
		$url = get_option( 'home' );
	} else {
		switch_to_blog( $blog_id );
		$url = get_option( 'home' );
		restore_current_blog();
	}

	if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ), true ) ) {
		if ( is_ssl() ) {
			$scheme = 'https';
		} else {
			$scheme = parse_url( $url, PHP_URL_SCHEME );
		}
	}

	$url = set_url_scheme( $url, $scheme );

	if ( $path && is_string( $path ) ) {
		$url .= '/' . ltrim( $path, '/' );
	}

	/**
	 * Filters the home URL.
	 *
	 * @since 3.0.0
	 *
	 * @param string      $url         The complete home URL including scheme and path.
	 * @param string      $path        Path relative to the home URL. Blank string if no path is specified.
	 * @param string|null $orig_scheme Scheme to give the home URL context. Accepts 'http', 'https',
	 *                                 'relative', 'rest', or null.
	 * @param int|null    $blog_id     Site ID, or null for the current site.
	 */
	return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id );
}
1 комментарий
    Войти