# Функция SANITIZE_TITLE() │ WP 1.0.0
Функция sanitize_title() используется для очистки переданной строки (названия) с целью преобразования её в «слиз» (slug) или возвращения запасного названия.
## Описание
По умолчанию функция преобразует акцентированные символы в ASCII и ограничивает вывод допустимыми символами: буквами и цифрами, знаком подчеркивания (_) и дефисом (-). Это происходит с помощью фильтра sanitize_title.
Если переменная $title пуста, а переменная $fallback_title задана, будет использовано именно её значение.
**Время выполнения:**
1 раз — 0.000197 сек (быстро) | 50000 раз — 6.03 сек (быстро) | PHP 7.0.2, WP 4.4.2
## Хуки функции
- sanitize_title
## Возвращаемое значение
Функция возвращает строку — очищенную строку.
## Применение
Функция имеет следующий синтаксис:
```php
sanitize_title( $title, $fallback_title, $context );
Параметры
$title(строка, обязательный) — строка, которую нужно очистить.$fallback_title(строка) — название, которое будет использовано, если$titleпустое. По умолчанию: пустая строка''.$context(строка) — операция, для которой строка очищается. Если установлен в значение 'save', строка проходит черезremove_accents(). По умолчанию: 'save'.
Примеры использования
Пример 1: Очистка названия
$new_url = sanitize_title( 'Это длинный заголовок, который может быть у поста или страницы' );
echo $new_url; // вывод: eto-dlinnyiy-zagolovok-kotoryiy-mozhet-byit-u-posta-ili-stranitsy
Если плагин транслитерации, такой как cry2lat, установлен, название преобразуется в читаемый для URL вид.
Если плагин не установлен, возвращается строка, содержащая процентные коды, например:
%d1%8d%d1%82%d0%be-%d0%b4%d0%bb%d0%b8%d0%bd%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b0%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%be%d0%ba-%d0%ba%d0%be%d1%82%d0%be%d1%80%d1%8b%d0%b9-%d0%bc%d0%be%d0%b6%d0%b5%d1%82-%d0%b1
Пример 2: Использование запасного названия
echo sanitize_title( '', 'default заголовок' ); // вывод: default заголовок
Код функции SANITIZE_TITLE()
Исходный код функции вы можете найти в файле wp-includes/formatting.php (строки 2207-2230):
function sanitize_title( $title, $fallback_title = '', $context = 'save' ) {
$raw_title = $title;
if ( 'save' === $context ) {
$title = remove_accents( $title );
}
$title = apply_filters( 'sanitize_title', $title, $raw_title, $context );
if ( '' === $title || false === $title ) {
$title = $fallback_title;
}
return $title;
}
Связанные функции
sanitize_email()sanitize_file_name()sanitize_html_class()sanitize_key()sanitize_meta()sanitize_mime_type()sanitize_option()sanitize_post()sanitize_post_field()sanitize_sql_orderby()sanitize_term()sanitize_term_field()sanitize_text_field()sanitize_textarea_field()sanitize_title_for_query()sanitize_title_with_dashes()sanitize_url()sanitize_user()wc_clean()wp_check_invalid_utf8()
Функции, связанные с очищением и экранированием, также помогут вам обеспечить безопасность данных в WordPress. Берегите ваши данные и используйте эти функции правильно!