X

Modo de mantenimiento sólo para el administrador

Snippets by IsItWP

¿Quieres poner tu sección de administración de WordPress en modo de mantenimiento sin afectar al sitio web? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para activar el modo de mantenimiento sólo para el administrador en WordPress.

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 admin_maintenace_mode() {
    global $current_user;
    get_currentuserinfo();
    if($current_user->user_login != 'ADMIN_NAME') { ?>
			<style> .updated{margin:30px !important;} </style><?
			wp_die('<div id="message" class="updated"><p><b>Maintenance mode:</b> We are currently making updates. Everything will be online shortly.</p></div>');
		}
}
add_action('admin_head', 'admin_maintenace_mode');

No olvide cambiar el ADMIN_NAME del código anterior por el nombre de usuario de su cuenta de administrador de WordPress.

Nota: Si es la primera vez que añades fragmentos de código en WordPress, consulta nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente tu sitio.

Si te ha gustado este fragmento de código, por favor, echa un vistazo a nuestros otros artículos en el sitio como: 50+ best responsive WordPress themes y cómo crear un formulario de registro de usuario personalizado en WordPress.

Comentarios   Deja una respuesta

  1. Michael Hochleitner abril 29, 2020 en 11:12 am

    Thank you Debjit Saha for the great snippet!

    I receive the following error when I paste it in my plugin.
    2020/04/29 13:08:35 [error] 1496#1496: *8 FastCGI sent in stderr: “PHP message: PHP ParseError: syntax error, unexpected end of file in /my/project/path/wp-content/plugins/a-plugin/a-plugin.php on line 55

    After changing the snippet to the following it worked without problems.

    function admin_maintenace_mode() {
    global $current_user;
    get_currentuserinfo();
    if($current_user->user_login != ‘ADMIN_NAME’) { ?>
    .updated{margin:30px !important;} <?php
    wp_die('Maintenance mode: We are currently making updates. Everything will be online shortly.’);
    }
    }
    add_action(‘admin_head’, ‘admin_maintenace_mode’);

    Best,
    Michael Hochleitner

  2. This should have been made user role based then it would have been more usable

    1. You could check the $current_user->user_level value in this case. Check out this snippet here: https://www.isitwp.com/redirect-user-after-login/

  3. wp-securehosting.com septiembre 18, 2017 en 6:40 pm

    Thanks Kevin. I’m in a similar situation as squarecandy. I don’t want people modifying their site while I’m migrating them to my web-hosting company.

  4. Cool – thanks.
    This worked for me – I’m transitioning between servers and I didn’t want users editing their sites between when I started to copy everything over and when I made the switch to the new server.

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!