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 лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: