X

Modo de mantenimiento solo para administradores

Snippets de IsItWP

¿Quieres poner la sección de administración de tu WordPress en modo de mantenimiento sin afectar el sitio web? Si bien probablemente haya un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para habilitar el modo de mantenimiento solo para la administración en WordPress.

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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 olvides cambiar el NOMBRE_ADMIN en el código anterior por el nombre de usuario de tu cuenta de administrador de WordPress.

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

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Los 50+ mejores temas de WordPress responsivos y Cómo crear un formulario de registro de usuario personalizado en WordPress.

Comentarios   Deja una respuesta

  1. Michael Hochleitner April 29, 2020 at 11:12 am

    ¡Gracias Debjit Saha por el excelente fragmento!

    Recibo el siguiente error cuando lo pego en mi 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

    Después de cambiar el fragmento a lo siguiente, funcionó sin problemas.

    function admin_maintenace_mode() { global $current_user; get_currentuserinfo(); if($current_user->user_login != ‘ADMIN_NAME’) { .updated{margin:30px !important;} wp_die('Modo de mantenimiento: Actualmente estamos realizando actualizaciones. Todo estará en línea en breve.'); } } add_action(‘admin_head’, ‘admin_maintenace_mode’);

    Saludos cordiales, Michael Hochleitner

  2. Esto debería haberse hecho basado en roles de usuario, entonces habría sido más usable

    1. Podrías verificar el valor de $current_user->user_level en este caso. Echa un vistazo a este fragmento aquí: https://www.isitwp.com/redirect-user-after-login/

  3. wp-securehosting.com September 18, 2017 at 6:40 pm

    Gracias Kevin. Estoy en una situación similar a la de squarecandy. No quiero que la gente modifique su sitio mientras los estoy migrando a mi empresa de alojamiento web.

  4. Genial, gracias. Esto me funcionó. Estoy haciendo una transición entre servidores y no quería que los usuarios editaran sus sitios entre el momento en que comencé a copiar todo y cuando hice el cambio al nuevo servidor.

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!