Функция фильтрует строку по регулярному выражению /[^A-Za-z0-9_-]/
, удаляя все неподходящие символы и пробелы, да, это означает, что русские буквы будут также удалены.
sanitize_html_class( $class, $fallback = '' );
$class
(строка) (обязательное) — строка, которая будет использовать в качестве класса.
$fallback
(строка) (необязательное) — в этом параметре определяется, что должна возвращать функция в том случае, если результатом преобразования является пустая строка.
Примеры
Не совсем корректный для русскоязычных блогов пример с заголовком:
echo '<div class="' . sanitize_html_class( $post->post_title ) . '">';
Обратите внимание, если заголовок вашего поста полностью русский, то скорее всего от него ничего не останется.
В оригинальном WordPress Codex они ещё дополнительно пропускают атрибут класса через функцию esc_attr() — не совсем понятно, для чего это, ведь в классе и так уже не остается запрещенных символов, если только их может содержать переменная $fallback
, например:
echo '<div class="' . esc_attr( sanitize_html_class( $title, 'h&m' ) ) . '">';
То есть, если в этом случае функция вернет h&m
, то класс будет h&m
.