Дополнительный чекбокс в профиле
Нашел код, который выводит чекбокс в профиле, нужно чтобы пользователь подтвердит показывать определенный контент или нет.
Немного доработал код, чтобы полностью удалялась строка если галочку на чекбоксе уберут, не хочу пустыми строками БД засорять. Добавил delete_user_meta
Все работает, но хотелось бы убедиться что все правильно сделал, чтобы не вылезли сюрпризы, когда пользователи начнут использовать данную опцию.
## Добавляем данные на страницу редактирования профиля. add_action( 'show_user_profile', 'yoursite_extra_user_profile_fields' ); add_action( 'edit_user_profile', 'yoursite_extra_user_profile_fields' ); function yoursite_extra_user_profile_fields( $user ) { $profok = get_the_author_meta( 'profok', $user->ID ); echo '<label><input value="1" name="profok"' . checked( $profok, '1', false ) . ' type="checkbox" /> тест</label>'; } ## Сохраняем данные при сохранении add_action( 'personal_options_update', 'yoursite_save_extra_user_profile_fields' ); add_action( 'edit_user_profile_update', 'yoursite_save_extra_user_profile_fields' ); function yoursite_save_extra_user_profile_fields( $user_id ) { $saved = false; if ( current_user_can( 'edit_user', $user_id ) ) { update_user_meta( $user_id, 'profok', $_POST['profok'] ); $saved = true; } if (!$_POST['profok']) { delete_user_meta( $user_id, 'profok', $_POST['profok'] ); $saved = true; } return true; }