Si escribes entradas con cierta frecuencia es posible que te hayas encontrado en la tesitura de haber publicado una entrada y más tarde darte cuenta de que te habías olvidado incluir una imagen destacada, no habías puesto etiquetas ni categorías o no escribiste el extracto. ¡Vaya fallo!
Estaría bien que WordPress te avisara cuando te dejas cosas pendientes antes de publicar. Lamentablemente, por defecto WordPress no hace esto.
Plugins al rescate
En esta web siempre hemos intentado escribir artículos de calidad (no se si lo habremos conseguido, pero la intención está ahí). La solución que hemos estado utilizando hasta ahora es tener activo el plugin Pre-Publish Post Checklist.
Este plugin permite crear una lista de tareas que el autor tiene que ir marcando una vez va las va completando. Si intentamos publicar la entrada y alguna tarea de la lista no está marcada, simplemente nos avisa de esto y no nos permite la publicación.

La potencia del plugin reside en que la lista de tareas la especificas tú. Puedes crear tareas como, por ejemplo, incluir una imagen destacada, seleccionar una categoría, rellenar la información de SEO, etc. De este modo, cada vez que completas una acción de estas tienes que ir al meta box que Pre-Publish Post Checklist añade y marcar que ya lo has completado.
PHP como alternativa
Aunque el plugin que te acabo de indicar funciona correctamente, tener que ir marcando las tareas en la lista es un poco pesado cuando ya llevas muchas entradas escritas a tus espaldas. Una opción más interesante sería que la comprobación se realizara automáticamente y sólo nos avisara en caso de que faltara algo por incluir.
Afortunadamente podemos hacer esto directamente con PHP. Lo sé, es más complejo y requiere tocar código, algo que a muchos ya les asusta . Pero no solo de plugins vive el hombre. Y para algo tan sencillito quizás esta opción es mucho más efectiva.
El siguiente código PHP nos muestra la estructura que podemos seguir para parar la publicación en caso de que nuestra entrada no cumpla algunas condiciones:
Lo que hacemos aquí es usar la acción transition_post_status
, que nos avisa cuando la entrada cambia de estado. En ese momento se ejecutará nuestra función comprueba_publicacion
. Lo primero que miramos es que el nuevo estado de la entrada sea publish
. En tal caso, debemos comprobar todas las condiciones que queramos y lanzar un wp_die
para terminar la ejecución y mostrar un mensaje al usuario si alguna no se cumple. Esto evitará la publicación de la entrada.
Concretamente, en el código sólo comprobamos que la entrada tenga una imagen destacada y tenga etiquetas. Pero siéntete libre de añadir tus propias condiciones de acuerdo a tus necesidades.
Como siempre, puedes probar este código copiándolo y pegándolo en el archivo functions.php
de tu tema. No incluyas la línea <?php
ya que no es necesaria y puede romper tu instalación.

Nelio Unlocker
Pásate a WordPress manteniendo tus diseños y contenidos
Mejora hoy mismo el SEO de tu web y acelera su velocidad de carga convirtiendo tus páginas a estándares HTML, CSS y WordPress. No necesitas conocimientos técnicos y solo pagarás por aquello que necesites.
Resumen
Modificar el comportamiento por defecto de WordPress para controlar si una entrada puede o no publicarse es tremendamente sencillo y a la vez útil. Podemos usar plugins o bien añadir unas pocas líneas de PHP para conseguirlo.
Y tú, ¿ya lo haces en tu WordPress? Si utilizas un método diferente, estaré encantado de que me expliques cómo lo haces en los comentarios.
Imagen destacada de Phil Roeder.
Deja una respuesta