Для стороны Javascript вы должны прикрепить необходимые события к полю description
.Вы можете загрузить свой скрипт через хук wp_enqueue_script
, и вы, вероятно, захотите сделать все это в своем обработчике для admin_enqueue_scripts
, где вы проверяете переданный $hook_name
, который в данном случае являетсяНазвание страницы.Это user-edit.php
, когда администратор редактирует пользователя, и profile.php
, когда пользователь редактирует свою собственную информацию (в этом случае IS_PROFILE_PAGE
также будет определено как TRUE
).
add_action('admin_enqueue_scripts', 'add_description_validation_script');
function add_description_validation_script($pagename) {
if ($pagename == 'profile.php' || $pagename == 'user-edit.php') {
wp_enqueue_script('description_validation', '/path/to/description_validation.js');
}
}
Дляна стороне PHP вам нужен фильтр pre_user_description
.Это дает вам текущий биографический текст, и ваша функция может изменить это и вернуть что-то еще.
add_filter('pre_user_description', 'sanitize_description');
function sanitize_description($description)
{
// Do stuff with the description
return $description;
}
Если вместо тихого изменения описания вы хотите показать ошибку, вы должны заглянуть в user_profile_update_errors
крючок.Там вы можете проверить данные и вернуть сообщения об ошибках пользователю.
Возможно, вы захотите обернуть все это в плагин , чтобы вы могли хранить код вместе и легко включать илиотключи это.Плагин - это просто файл в каталоге /wp-content/plugins/
, скорее всего, в подкаталоге, названном в честь вашего плагина.