Cómo bloquear WordPress Post Updates and Deletion After a Set Period

Administrar el sitio web de WordPress con varios autores puede ser complicado a veces. Hay plugins para gestionar el flujo de trabajo editorial, pero puede que te encuentres con situaciones en las que necesites soluciones específicas para un mejor control de tu sitio WordPress. Recientemente, ayudamos a un usuario a encontrar una solución de este tipo. Querían bloquear las actualizaciones y borrados de WordPress después de un periodo de tiempo determinado para todos los usuarios (incluyendo los editores) después de un periodo de tiempo determinado. Por ejemplo, si un mensaje publicado tiene 30 días o más, entonces no puede ser editado o eliminado por los editores. Sólo los administradores pueden modificar esa entrada. En este artículo, le mostraremos cómo bloquear la edición, actualización y eliminación de mensajes después de un período de tiempo determinado en WordPress.
Todo lo que tiene que hacer es añadir el siguiente código en el archivo functions.php de su tema o en un plugin específico del sitio.
123456789101112131414151617171819202122232425functionAprenderWP_restrict_editing( $allcaps, $cap, $args) { // Bail out if we're not asking to edit or delete a post .... si ('edit_post'!= $args[0] && 'delete_post'!= $args[0] // ... o el usuario es admin ||| !empty( $allcaps['manage_options']) // ....o el usuario ya no puede editar el mensaje ||| vacío( $allcaps['editar_posts']] ) return$allcaps; // Cargar los datos del mensaje: $post= get_post( $args[2]); // Rescatar si el mensaje no está publicado: if( `publicar'!= $post->post_status ) return$allcaps; ///si el mensaje tiene más de 30 días. Cámbielo para satisfacer sus necesidades si( strtotime( $post->post_date) < strtotime('-30 day') ) Entonces, no se permite la edición. $allcaps[$cap[0]] = FALSE; } return$allcaps;}add_filter('user_has_cap', 'AprenderWP_restrict_editing', 10, 3 );
Esta función comprueba si el usuario tiene la capacidad de editar o borrar mensajes. A continuación, verifica el status de contabilización. Si un mensaje es publicado y tiene más de 30 días de antigüedad, entonces la capacidad del usuario para editar y borrar el mensaje es eliminada. Si un mensaje es publicado, pero no tiene más de 30 días, entonces los usuarios con la capacidad de editarlo pueden hacerlo. Nota: Los administradores pueden editar y eliminar mensajes en cualquier momento.
Esperamos que este artículo haya ayudado a cualquiera que esté buscando bloquear la edición, actualización y eliminación de mensajes en WordPress después de un período de tiempo determinado. ¿Haría esto en su sitio web? ¿Qué casos de uso puedes ver para algo como esto? Háganoslo saber en los comentarios de abajo.
Fuente:
Smhmic
Deja una respuesta