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 / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.