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

Дозволяє видалити/додати слеш на кінці рядка ( /) у посилань (URL), оброблюваних функцією user_trailingslashit() .

Використання

add_filter( 'user_trailingslashit', 'wp_kama_user_trailingslashit_filter', 10, 2);

/**
 * Function for `user_trailingslashit` filter-hook.
 *
 * @param string $string URL з або без стресу.
 * @param string $type_of_url Цей тип URL-адреси розглядається. Accepts 'single', 'single_trackback', 'single_feed', 'single_paged', 'commentpaged', 'paged', 'home', 'feed', 'category', 'page', 'year', 'month', ' day', 'post_type_archive'.
 *
 * @return string
 */
function wp_kama_user_trailingslashit_filter( $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

Приклади

0

#1 Як видалити кінцевий слеш у сторінок (записів типу page)

Допустимо ми створили користувальницький тип запису, налаштували в ньому slug, але слеш в кінці посилання на статтю не забирається, наприклад: example.com/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

wp-includes/link-template.php 65

return apply_filters( 'user_trailingslashit', $string, $type_of_url );

Де використовується хук у WordPress

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *