Cómo bloquear las actualizaciones de WordPress y su eliminación después de un período establecido

Cómo bloquear las actualizaciones de WordPress y su eliminación después de un período establecido / Tutoriales

Administrar el sitio web de WordPress con varios autores puede ser complicado a veces. Existen complementos para administrar el flujo de trabajo editorial, pero es posible que encuentre situaciones en las que necesite soluciones específicas para un mejor control de su sitio de WordPress. Recientemente, ayudamos a un usuario a encontrar dicha solución. Querían bloquear las actualizaciones de WordPress y la eliminación 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 edición, actualización y eliminación de publicaciones posteriores a un período de tiempo establecido 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.

 función wpbeginner_restrict_editing ($ allcaps, $ cap, $ args) // Bail out si no estamos pidiendo editar o eliminar una publicación ... if ('edit_post'! = $ args [0] && 'delete_post'! = $ args [0] //… o el usuario es admin ||! Empty ($ allcaps ['manage_options']) //… o el usuario ya no puede editar la publicación || empty ($ allcaps ['edit_posts'))) return $ allcaps; // Cargar los datos de la publicación: $ post = get_post ($ args [2]); // Saltar si la publicación no está publicada: if ('publish'! = $ Post-> post_status) devuelve $ allcaps; // si la publicación tiene más de 30 días. Cámbielo para satisfacer sus necesidades si (strtotime ($ post-> post_date) < strtotime( '-30 day' ) )  //Then disallow editing. $allcaps[$cap[0]] = FALSE;  return $allcaps;  add_filter( 'user_has_cap', 'wpbeginner_restrict_editing', 10, 3 ); 

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

Esperamos que este artículo haya ayudado a cualquier persona que quiera bloquear la edición, actualización y eliminación de publicaciones posteriores en WordPress después de un período de tiempo establecido. ¿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