Administrar el sitio web de WordPress con múltiples autores puede ser complicado a veces. Existen complementos para administrar el flujo de trabajo editorial, pero puede encontrarse con situaciones en las que necesita soluciones específicas para un mejor control de su sitio de WordPress. Recientemente, ayudamos a un usuario a encontrar esa solución. Querían bloquear las actualizaciones y eliminaciones de publicaciones de WordPress después de un período de tiempo establecido para todos los usuarios (incluidos los editores) después de un período de tiempo determinado. Por ejemplo, si una publicación publicada tiene 30 días o más, los editores no pueden editarla ni eliminarla. Solo los administradores pueden modificar esa publicación. En este artículo, le mostraremos cómo bloquear la publicación posterior, las actualizaciones y la eliminación después de un período de tiempo establecido en WordPress.

Bloqueo de actualizaciones y eliminación de publicaciones antiguas publicadas en WordPress

Todo lo que necesita hacer es agregar el siguiente código en el archivo functions.php de su tema o en un complemento específico del sitio.

function site_restrict_editing ($ allcaps, $ cap, $ args) {

     // Rescate si no pedimos editar o eliminar una publicación ...
     if ('edit_post'! = $ args [0] && 'delete_post'! = $ args [0]
       // ... o el usuario es administrador
       ||  ! empty ($ allcaps ['manage_options'])
       // ... o el usuario ya no puede editar la publicación
       ||  empty ($ allcaps ['edit_posts']))
         devolver $ allcaps;

     // Cargar los datos de la publicación:
     $ post = get_post ($ args [2]);

     // Rescate si la publicación no está publicada:
     if ('publish'! = $ post-> post_status)
         devolver $ allcaps;

     // si la publicación es anterior a 30 días.  Cámbialo para satisfacer tus necesidades
     if (strtotime ($ post-> post_date) 

Esta función verifica si el usuario tiene la capacidad de editar o eliminar publicaciones. Después de eso, comprueba el estado de la publicación. Si se publica una publicación y es anterior a 30 días, se elimina la capacidad del usuario para editar y eliminar la publicación. Si se publica una publicación, pero no es anterior a 30 días, los usuarios con la capacidad de editar publicaciones pueden editarla. Nota: los administradores pueden editar y eliminar publicaciones cuando lo deseen.

Esperamos que este artículo ayude a cualquiera que esté buscando bloquear la edición, actualización y eliminación de publicaciones en WordPress después de un período de tiempo determinado. ¿Alguna vez harías esto en tu sitio? ¿Qué casos de uso puedes ver para algo como esto? Háganos saber en los comentarios a continuación.

Fuente:
Smhmic