user_trailingslashit()WP 2.2.0

Добавляет или удаляет конечный слэш в переданном УРЛ. Зависит от наличия конечного слэша в настройках ЧПУ.

Функция проверяет слэш в конце установленной структуры ЧПУ и если он там есть, то к переданной строке в конец также будет добавлен слэш. Если в структуре ЧПУ слэша нет, то из $string конечный слэш будет удален.

Функция использует фильтр user_trailingslashit

Работает на основе: trailingslashit(), untrailingslashit()
Основа для: get_comments_pagenum_link()
1 раз — 0.00005 сек (очень быстро) | 50000 раз — 0.076 сек (скорость света)
Хуки из функции

Возвращает

Строку. Обработанную строку, со слэшем на конце или без него.

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

user_trailingslashit( $string, $type_of_url );
$string(строка) (обязательный)
URL со слэшем на конце или без него, который нужно обработать.
$type_of_url(строка)

Тип УРЛ который рассматривается. Параметр передается в хук 'user_trailingslashit', чтобы отделить тип передаваемой ссылки при использовании хука. Известные типы:

  • single
  • single_trackback
  • single_feed
  • single_paged
  • feed
  • category
  • page
  • year
  • month
  • day
  • paged
  • post_type_archive

По умолчанию: ''

Примеры

1

#1 Как удаляется или добавляется слэш

Допустим, у нас есть УРЛ 'http://example.com/foo/'. Давайте посмотрим как отработает функция, в зависимости от установленной структуры ЧПУ (играет значение конечный слэш):

$url = 'http://example.com/foo/';

// ЧПУ: /%postname%
$url = user_trailingslashit( $url ); // получим: http://example.com/foo

// ЧПУ: /%postname%/
$url = user_trailingslashit( $url ); // получим: http://example.com/foo/

echo user_trailingslashit( '' ); //> /

Заметки

  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.

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

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

Код user_trailingslashit() WP 6.6.2

function user_trailingslashit( $url, $type_of_url = '' ) {
	global $wp_rewrite;
	if ( $wp_rewrite->use_trailing_slashes ) {
		$url = trailingslashit( $url );
	} else {
		$url = untrailingslashit( $url );
	}

	/**
	 * Filters the trailing-slashed string, depending on whether the site is set to use trailing slashes.
	 *
	 * @since 2.2.0
	 *
	 * @param string $url         URL with or without a trailing slash.
	 * @param string $type_of_url The type of URL being considered. Accepts 'single', 'single_trackback',
	 *                            'single_feed', 'single_paged', 'commentpaged', 'paged', 'home', 'feed',
	 *                            'category', 'page', 'year', 'month', 'day', 'post_type_archive'.
	 */
	return apply_filters( 'user_trailingslashit', $url, $type_of_url );
}