sanitize_key() – очистка строки для использования её в качестве внутреннего идентификатора

Прежде всего давайте разберёмся, что же такое внутренний идентификатор в WordPress. Это могут быть:

Функция подготавливает любую переданную в неё строку для использования в качестве этих ключей, вот что она делает по порядку:

  1. Сначала переводит ключ в нижний регистр,
  2. Затем оставляет в нём только данный набор символов a-z0-9_-, то есть буквы латинского алфавита, цифры, дефис и знак нижнего подчёркивания,
  3. Применяет фильтр sanitize_key.

Для чего нужна очистка данных в WordPress я подробно рассказываю в видеоуроке.

sanitize_key( $key )

Параметры

$key
(строка) Строковое значение ключа, которое нужно очистить.

Пример

$key = 'My-custom-post-type#2';
echo sanitize_key( $key ); // my-custom-post-type2

Фильтр sanitize_key

Перед тем, как возвращать очищенное значение, к нему применяется фильтр-хук sanitize_key, в который передаётся сразу и очищенное, и первоначальное значение строки, что позволяет написать свой собственный алгоритм очистки, например если по какой-то причине вас не устраивают дефисы, то их можно удалить тоже:

add_filter( 'sanitize_key', 'true_remove_dashes_from_keys', 25, 2 );
 
function true_remove_dashes_from_keys( $key, $raw_key ) {
	return preg_replace( '/-/s', '', $key );
}

На случай, если не знаете, куда вставлять код.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал