Căutați o modalitate de a redirecționa paginile de administrare către orice locație? Deși probabil există un plugin pentru asta, am creat o scurtă secțiune de cod pe care o puteți folosi pentru a redirecționa paginile de administrare către orice locație în WordPress.
Următoarea secțiune de cod vă va permite să redirecționați oricare dintre paginile de administrare către orice locație doriți, în funcție de capacitatea utilizatorului. O altă opțiune ar fi să înlocuiți wp_redirect cu wp_die("un mesaj personalizat"); pentru a afișa un mesaj în loc de redirecționare.
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
function wpsnipp_admin_pages_redirect() {
global $pagenow;
$admin_pages = array(
'edit-tags.php',
'edit-tags.php',
'link-manager.php',
'options-writing.php',
'options-reading.php',
'options-discussion.php',
'options-media.php',
'options-privacy.php',
'options-permalink.php',
);
if(in_array($pagenow, $admin_pages)){
wp_redirect( admin_url('/') ); exit;
}
}
if(!current_user_can('edit_post')){
add_action('admin_init', 'wpsnipp_admin_pages_redirect');
}
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și celelalte articole de pe site, cum ar fi: cele mai bune 15 instrumente de marketing de conținut și cum să creezi un formular de contact în WordPress.
Ce se întâmplă dacă doriți să redirecționați o adresă URL de genul acesta? admin.php?page=account_page
Este posibil să fie necesar să verificați și valoarea $_GET[‘page’].
Nu puteți folosi current_user_can() atunci când vă aflați în domeniul global, în interiorul unui plugin, deoarece va provoca Eroare fatală: Apel la funcția nedefinită wp_get_current_user().