¿Está buscando una manera de redirigir las páginas de administración a cualquier ubicación? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para redirigir las páginas de administración a cualquier ubicación en WordPress.
El siguiente fragmento de código le permitirá redirigir cualquiera de las páginas de administración a cualquier ubicación que desee en función de la capacidad del usuario. Otra opción sería reemplazar wp_redirect
con wp_die("algún mensaje personalizado");
para mostrar un mensaje en lugar de redirigir.
Instrucciones:
Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:
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'); }
Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.
Si te ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 15 mejores herramientas de marketing de contenidos y cómo crear un formulario de contacto en WordPress.
What if you want to redirect a url like this? admin.php?page=account_page
You may have to check the value of $_GET[‘page’] as well.
You can’t use current_user_can() when in the global scope, within a plugin because it will cause Fatal error: Call to undefined function wp_get_current_user().