Tabla de contenido
Una vez más aquí. Hoy vengo a dejar una pequeña función que me encontré guardada en un disco duro. Esta función me viene bien para algo que tengo entre manos, y se trata de poner Wordpress en mantenimiento sin necesidad de utilizar plugins. He de reconocer que esta función no la escribí yo, pero como no recuerdo de que página la saqué, siento no poder poner el autor.
Bueno, el caso es que actualmente tengo que realizar el mantenimiento de algunas páginas web que utilizan Wordpress. Para ahorrarle problemas a los usuarios, siempre es interesante poner este CMS en modo de mantenimiento. Esto podemos hacerlo utilizando plugins, que es lo que suele hacer la mayoría. Esto no es un problema, ya que tras acabar el mantenimiento, podemos desinstalar el plugin y listo, nunca más se supo. Pero para evitar tener que descargar el plugin de turno, instalarlo, etc … podemos añadir una pequeña función y con una página HTML podremos obtener un diseño propio para nuestra página de mantenimiento.
Código para poner Wordpress en mantenimiento
El tema es sencillo. Como he dicho, vamos a mostrar una página de mantenimiento creada con HTML ( a nuestro gusto).
Código PHP
Lo primero que haremos será indicarle a Wordpress que muestre una página HTML si se cumplen ciertas condiciones. Esto lo haremos añadiendo el siguiente código a nuestro archivo functions.php o a nuestro plugin de funciones.
add_action('template_redirect', 'plantilla_mantenimiento'); function plantilla_mantenimiento() { if( ! current_user_can('administrator') ){ include 'mantenimiento.html'; exit; } }
Como se puede ver el código es sencillo. Utilizamos el hook template_redirect para hacer referencia a la función plantilla_mantenimiento. Una vez en la función haremos una comprobación para saber si el usuario conectado tiene el rol de administrador. Si el usuario no es administrador, se va a mostrar la página mantenimiento.html.
Archivo mantenimiento.hml
El código de este archivo puede ser tan complicado como nos interese. Como ejemplo voy a dejar el siguiente código, por si a alguien le interesa.
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8" /> <title>Estamos de Mantenimiento</title> <style> body{text-align: center;font-family: Helvetica;margin:40px auto;} h1{text-transform: uppercase; color:#000000;} h3{text-transform:uppercase;color:#a3a0a0;} </style> </head> <body> <h1>Estamos de Mantenimiento</h1> <h3>Volveremos pronto</h3> <img src="cerrado-por-reformas.png" title="Mantenimiento de la web" /> </body> </html>
Hay que decir que este archivo, debe estar guardado en la misma ubicación que el archivo functions.php en el que se añadió el código PHP.
Página de ejemplo para poner Wordpress en mantenimiento
El resultado final utilizando el código aquí mostrado se verá igual a la siguiente captura:
Con esto que acabamos de ver, espero que quede claro que resulta sencillo poner un sitio con Wordpress en mantenimiento mostrando una página HTML totalmente personalizable y que esta solo se muestre a usuarios que no son administradores.
Bueno