WordPress tiene muchas virtudes, pero una de ellas no es que – por defecto – venga preparado para un entorno colaborativo, pues no dispone de sistema de gestión de usuarios y publicaciones cómo el que requiere un entorno, por ejemplo, donde se requiera un flujo editorial.
Hace unos días ya vimos cómo avisar a los usuarios cuando sus artículos se han publicado pero ¿y avisar al editor cuando hay artículos pendientes de aprobar?, seguro que estás conmigo en que es una funcionalidad que echas en falta en cualquier web con varios usuarios y distintos perfiles, donde se requiera una supervisión de las entradas antes de publicarse.
Bueno, pues vamos a incorporarlo, que es muy fácil …
Índice de contenidos
… Avisos de entradas pendientes mediante código …
Había un viejo plugin, ahora abandonado, que ofrecía avisos al email del administrador cuando se creaba un borrador de una entrada. El problema es que avisaba cada vez que se modificaba la entrada, convirtiéndose en un engorro en vez de en una solución.
Una revisión del código del mismo soluciona el problema …
Para ello abre tu plugin de funciones y añade el siguiente código:
// Aviso de entradas pendientes de revisión function aviso_pendiente($id) { global $wpdb; $tp = $wpdb->prefix; $result = $wpdb->get_row(" SELECT post_status, post_title, user_login, user_nicename, display_name FROM {$tp}posts, {$tp}users WHERE {$tp}posts.post_author = {$tp}users.ID AND {$tp}posts.ID = '$id' "); if ($result->post_status == "pending") { $message = ""; $message .= "Entrada pendiente de revisión en '" . get_bloginfo('name') . "'\n\n"; $message .= "Título: " . $result->post_title . "\n\n"; // *** Elige una de las siguientes 3 opciones (por defecto la primera) para elegir cómo mostrar el nombre del autor $message .= "Autor: " . $result->display_name . "\n\n"; // $message .= "Autor: " . $result->user_nicename . "\n\n"; // $message .= "Autor: " . $result->user_login . "\n\n"; $message .= "Enlace: " . get_permalink($id); $subject = "Entrada pendiente de revisión en '" . get_bloginfo('name') . "'"; $recipient = get_bloginfo('admin_email'); mail($recipient, $subject, $message); } } add_action('save_post', 'aviso_pendiente');
Funciona de coña.
… Avisos de entradas pendientes (y más) con plugins …
Si eres más de plugins tenemos opciones múltiples y variadas, algunas de las cuales ya hemos visto para otros usos:
- Edit Flow: de nuevo, este fantástico plugin de control editorial también incluye avisos de entradas pendientes, revisiones y mucho más.
- Revisionary: este plugin hace la parte de Edit flow de los avisos, con un completo sistema de revisión de entradas, para gestionar de manera perfecta el flujo editorial.
- Status notifier: completo plugin que permite avisar a administrador, en realidad al email que tu decidas, cuando haya una entrada pendiente de revisión. También puedes (opcional) avisar al autor cuando se apruebe su publicación, o si se rechaza.
Cómo ves, por posibilidades que no quede.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Bien, a eso me refería hace unos pocos meses en una pregunta que abrí en el foro ), pero que quedó ahí un poco en el aire… jeje
Voy a meter el código 😀
Gracias!
Funciona perfectamente. 🙂
una pregunta…. estoy buscando en wordpress donde se guardan las notas de los colaboradores pero no las encuentro por ningun lado. Las altas de usuarios las realizo personalmente, no hay acceso a registrarse desde el web. les creo el user y un pass comun y ellos luego lo cambian y empiezan a publicar. Esto lo hago ya que estoy alojado en godaddy y no hay salida de los mails de alta o registro.
Ahora acabo de crear un usuario virtual como «colaborador» pero no encuentro las notas por ningun lado, ni siquiera buscando todas las entradas he logrado ubicarla, alguien sabe donde se guardan?
A mi no me aparaece el pluguin por ninguna parte, help 🙁
Ok! Me respondo yo mismo.
Y tengo que reconocer que va genial!!!
Gracias
Como puedo hacer para Limitar cantidad de entradas pendientes por usuario.
Muchas gracias por el código, va de maravilla.
Una pregunta, ¿sería posible filtrar el rol de usuario? Es decir, que sólo avise cuando el usuario sea, por ejemplo Autor, pero no con los que tengan otro rol.
Muchas gracias.
Excelente. ¿por que me sale 3 registros?