November 11, 2010

Indicador de entradas pendientes de revisión en WordPress

Como sabrán, para cada entrada WordPress trae por defecto tres estados: Publicado, Borrador y Pendiente de revisión. Este último es útil sobre todo para los casos en que una persona escribe una entrada y otra se encarga de revisarla, previo a su publicación. Puede ser el caso de un blog con varios autores o alguno que cuente con un editor.

En Ted el Mecánico usamos mucho esta funcionalidad, ya que hacemos una especie de revisión cruzada. Uno escribe una entrada, otro usuario entra, revisa los pendientes y publica.

Hasta ahí todo funciona bien. El problema es que la única manera de saber si hay entradas pendientes es entrando al listado de entradas. Los comentarios, que también tienen un estado similar (Pendiente de aprobación) cuentan con un indicador en el menú lateral:

Indicador de comentarios pendientes

La pregunta es: ¿Porqué las entradas pendientes de revisión no se comportan así por defecto? Fácilmente podríamos tener algo así:

Indicador de entradas pendientes de revisión

Sin embargo, mientras no se implemente este comportamiento, se puede recurrir a plugins. Existe un plugin que dice hacer exactamente eso. Se llama Pending Posts Indicator.

La única desventaja que tiene es que nos hardcodea el título “Posts” y por alguna extraña razón, quita el ícono del título. Para corregir esto, hay que actualizar el único archivo del plugin, en la línea 27:
$menu[5] = array( sprintf( __('Posts %s'), "<span class='update-plugins count-$pending_count'><span class='plugin-count'>" . number_format_i18n($pending_count) . "</span></span>" ), 'edit_posts', 'edit.php', '', 'wp-menu-open menu-top', 'menu-posts', 'div' );

Sustituírlo por:
foreach( $menu as $menu_key => $menu_data ) :
if( 'edit.php' != $menu_data[2] )
continue;
$menu[$menu_key][0] .= " <span class='update-plugins count-$pending_count'><span class='plugin-count'>" . number_format_i18n($pending_count) . '</span></span>';
endforeach;

(El crédito de parte de los cambios es de t31os.)

Ya me contacté con el autor del plugin original, para que incluya los cambios y así esté disponible desde el directorio de plugins de WordPress. Mientras tanto se puede descargar la versión 1.1 de aquí:

[download id=”4″]

Momentos luego de recibir el cambio anterior postearon otra respuesta en StackExchange, que contempla el caso de  Custom Post Types pendientes: Ver respuesta en StackExchange.

Actualizado 12/11/2010 20:00 – Subí un ticket al trac de WordPress (ticket 150406). En el peor de los casos, obtengo una respuesta de porqué no está implementado, en el mejor, se implementa el patch y todos felices 🙂

Actualizado 14/11/2010: El ticket fue actualizado y aparentemente fue agendado para “Future Release”!

Enlaces