WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Черная пятница на сайте Template Monster

user_trailingslashit хук-фильтр . WP 2.2.0

Позволяет удалить/добавить слэш на конце строки (/) у ссылок (URL), обрабатываемых функцией user_trailingslashit().

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

add_filter( 'user_trailingslashit', 'filter_function_name_4331', 10, 2 );
function filter_function_name_4331( $string, $type_of_url ){
	// filter...

	return $string;
}
$string(строка)
URL с или без закрывающего слэша (/).
$type_of_url(строка)

Тип URL, который обрабатывается. Может быть:

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

Примеры

#1 Как удалить конечный слэш у страниц (записей типа page)

Допустим мы создали пользовательский тип записи, настроили в нем slug, но слеш в конце ссылки на статью не убирается, например: site.ru/post_pro_kenguru/.

Наличие слэша в конце определяется главным правилом ЧПУ в настройках, если там есть слэш в конце, то он автоматом есть для всех типов записей. Это поведение можно изменить через этот хук:

Этот пример показывает как удалить слэш у записей типа page. По аналогии можно сделать с любым типом записи:

// Удалим слэш на конце, если нужно. Если слэш есть в структуре ЧПУ, то он будет добавляться и к постоянным страницам.
add_filter( 'user_trailingslashit', 'no_page_slash', 70, 2 );
function no_page_slash( $string, $type ){
   global $wp_rewrite;

	if( 'page' === $type && $wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes )
		$string = untrailingslashit( $string );

   return $string;
}

Для другого типа записи нужно нужно заменить 'page' === $type на название вашего типа записи.

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

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

Где вызывается хук

user_trailingslashit()
user_trailingslashit
wp-includes/link-template.php 65
return apply_filters( 'user_trailingslashit', $string, $type_of_url );

Где используется хук (в ядре WP)

Использование не найдено.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться