Añade un seguro al botón «Publicar» en WordPress

safeguard-publish

Seguro que más de una vez accidentalmente has publicado un post antes de que estuviera terminado simplemente por que te has equivocado de botón y en vez de a Guardar le has dado a Publicar, o has pulsado alguna combinación de teclas que lo ha provocado. A mi me ha pasado varias veces incluso teniendo los atajos desactivados, ya que con Control + Enter también se publica.

Así que cansado de esto me puse a buscar una solución.

Este, aunque pequeño, error puede ser bastante molesto y problemático si por ejemplo tenemos automatizada la difusión en redes sociales o si tenemos suscriptores por email, feed, etc… ya que posiblemente verán nuestro post antes de tiempo pudiendo crearles una mala impresión.

Una solución que encontré aquí es esta pequeña función que, haciendo uso de JQuery, añade una ventana de confirmación que aparece cuando damos al botón publicar. Podemos añadirla a nuestro functions.php

/* = Añade una ventana de confirmación al botón publicar */ 
add_action( 'admin_print_footer_scripts', 'sr_publish_molly_guard' );
function sr_publish_molly_guard() {
echo <<<EOT
<script>
jQuery(document).ready(function($){
$('#publishing-action input[name="publish"]').click(function() {
if(confirm('¿Estás seguro de que quieres publicar esto?')) {
return true;
} else {
$('#publishing-action .spinner').hide();
$('#publishing-action img').hide();
$(this).removeClass('button-primary-disabled');
return false;
}
});
});
</script>
EOT;
}

Otra solución para los que no se atreven a tocar código podemos encontrarla en forma de plugin en el repositorio oficial de WordPress. Se trata del plugin Confirm Publishing Actions, que además de hacer lo mismo del código anterior, también añade otras funciones que harán que nos aparezca dicha ventana de confirmación también cuando borramos o actualizamos un post.