Функция sanitize_title_with_dashes()
используется для очистки текста заголовков, приводя его к стандарту, при котором все пробелы и специальные символы заменяются дефисами. Функция ограничивает вывод буквами и цифрами, а также символами подчеркивания (_
) и дефиса (-
), что особенно полезно для создания URL-адресов и слагов.
sanitize_title_with_dashes( string $title, string $raw_title = ”, string $context = ‘display’ ): string
Параметры
- $title (строка, обязательный) — Текст заголовка, который нужно очистить.
- $raw_title (строка, необязательный) — Параметр не используется, оставляется пустым по умолчанию.
- $context (строка, необязательный) — Определяет, для какой операции очищается строка. Если указать
save
, функция удалит дополнительные символы (например, пробелы, угловые и фигурные кавычки, знак авторского права и другие). По умолчаниюdisplay
.
Возвращаемое значение
Функция возвращает отформатированную строку, очищенную от пробелов и недопустимых символов.
Пример 1: Преобразование строки в URL-friendly формат
В этом примере пробелы и недопустимые символы заменяются дефисами, создавая удобный для URL формат.
echo sanitize_title_with_dashes("I'm in LOVE with PHP!1");
// Результат: "im-in-love-with-php1"
Пример 2: Использование функции с контекстом save
Контекст save
дополнительно убирает специальные символы, такие как многоточие и специальные кавычки.
echo sanitize_title_with_dashes("Learn PHP, JavaScript & more — with WordPress!", '', 'save');
// Результат: "learn-php-javascript-more-with-wordpress"
Функция убирает длинные тире и любые символы, не разрешенные в URL, оставляя только буквы, цифры и дефисы.
Пример 3: Создание уникального класса для CSS на основе имени сайта
Этот пример показывает, как функция может быть использована для создания уникальных CSS-классов на основе названия сайта.
function custom_body_class( $classes ) {
$site_name = sanitize_title_with_dashes( get_bloginfo( 'name' ) );
$classes[] = 'site-' . $site_name;
return $classes;
}
add_filter( 'body_class', 'custom_body_class' );
Здесь sanitize_title_with_dashes()
приводит название сайта к формату, пригодному для CSS-класса, например, site-my-awesome-blog
.
Заключение
Функция sanitize_title_with_dashes()
— это надежный способ преобразовать текстовые строки в подходящие для URL и слагов форматы, очищая их от лишних символов. Она особенно полезна при автоматическом создании URL-адресов для публикаций и страниц, а также при создании динамических CSS-классов на основе текстовых данных.