Прежде всего давайте разберёмся, что же такое внутренний идентификатор в 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 ); }
На случай, если не знаете, куда вставлять код.