Cum verificăm dacă utilizatorul este în interfața de administrare?
În aplicația mea, am un formular. Vreau să afișez titlul doar dacă utilizatorul este în frontend (partea publică), dar dacă este în backend (interfața de administrare) nu vreau să îl afișez.
Nu vreau să fac această verificare pe baza rolului utilizatorului.

Folosește is_admin()
. Această funcție verifică dacă te afli pe o pagină de Administrare, adică în backend.

Cum rămâne cu încărcarea unui script pe o anumită pagină de administrare?

Filtrul de acțiune admin_print_scripts
este menit să facă asta.

De remarcat, o cerere ajax va face ca aceasta să returneze TRUE.
De asemenea, chiar în documentație se spune că aceasta nu este menită să fie folosită ca o verificare de securitate.

Acest lucru nu se mai aplică WordPress din momentul Gutenberg. Acum, toate ecranele care folosesc Gutenberg vor returna false atunci când se verifică pentru is_admin. La fel și în Customizer. Și la fel și pentru apelurile AJAX. is_admin
este o funcție înșelătoare și abuzată. Nu o poți folosi pentru a verifica în siguranță dacă te afli într-un ecran de administrare.
De asemenea, nu o poți folosi pentru a verifica dacă te afli în front-end, deoarece în timpul unui apel AJAX această funcție ar returna true, deoarece funcția face prin definiție Determină dacă cererea curentă este pentru o pagină de interfață administrativă.
Asta este adevărat într-un apel ajax.

Folosește is_admin()
pentru a verifica dacă pagina curentă este o pagină de administrare. În ciuda numelui, aceasta nu este o verificare a rolului utilizatorului. Întotdeauna returnează FALSE
pe front-end, indiferent de rolul utilizatorului.

Fals de când editorul de blocuri prost făcut a fost băgat pe gât comunității WP: https://core.trac.wordpress.org/ticket/47394 De atunci, nu mai poți determina în siguranță dacă te afli în admin sau pe front end.

@Motivated nu există. Acum trebuie să faci o GRĂMADĂ de verificări, cum ar fi dacă e în timpul unui eveniment AJAX, dacă e o anumită pagină, dacă e ceva legat de editarea de blocuri, dacă utilizatorul este autentificat, dacă are anumite drepturi... etc. Nu a fost niciodată diferit în ceea ce privește securitatea deoarece is_admin NU verifică dacă utilizatorul este admin sau nu, dar măcar puteai să-ți dai seama în general dacă era vorba de zona de admin (cu excepția cererilor AJAX, unde întotdeauna este is_admin). Gluma e că editorii de blocuri îți spun is_admin FALSE, pentru că nu rulează "în backend" ci prin REST.
