Muszę usunąć niektóre pola profilu ze strony „Profil” zgodnie z rolami użytkownika. Do usunięcia próbnika kolorów użyłem remove_action("admin_color_scheme_picker", "admin_color_scheme_picker")
. Chcę usunąć te pola:
- Przezwisko
- Wyświatlaj imie publicznie jako
- Pola AIM, Yahoo, Google talk i O sobie
- Sekcja „Pokaż pasek administratora” wraz z 2 polami wyboru
Przeszedłem przez plik „user-edit.php”, aby sprawdzić, czy są jakieś akcje / filtry, które pozwalają mi to zrobić, ale wygląda na to, że nie ma. Czy ktoś może mi powiedzieć, jak to zrobić? Każda pomoc będzie mile widziana. Dzięki
EDYCJA: Dzięki @helenhousandi za odpowiedź. Ale już tak to zrobiłem.
<?php
add_action('admin_footer-profile.php', 'remove_profile_fields');
function remove_profile_fields()
{
if(current_user_can('custom_role'))
{ ?>
<script type="text/javascript">
jQuery("h3:contains('Personal Options')").next('.form-table').remove();
jQuery("h3:contains('Personal Options')").remove();
jQuery("h3:contains('About Yourself')").next('.form-table').remove();
jQuery("h3:contains('About Yourself')").remove();
</script>
<?php }
}
?>
Wiem, że to trochę dłużej, ale zadziałało! Myślę, że pójdę z odpowiedzią @ helenhousandi.
functions.php
lub pliku wtyczki. Dopóki haki są prawidłowe, będzie działać z dowolnego miejsca.