user_trailingslashit()
Добавляет или удаляет конечный слэш в переданном УРЛ. Зависит от наличия конечного слэша в настройках ЧПУ.
Функция проверяет слэш в конце установленной структуры ЧПУ и если он там есть, то к переданной строке в конец также будет добавлен слэш. Если в структуре ЧПУ слэша нет, то из $string конечный слэш будет удален.
Функция использует фильтр user_trailingslashit
Хуки из функции
Возвращает
Строку
. Обработанную строку, со слэшем на конце или без него.
Использование
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 Как удаляется или добавляется слэш
Допустим, у нас есть УРЛ '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() 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 ); }