Slik blokkerer du WordPress-postoppdateringer og sletting etter en angitt periode
Administrere WordPress nettside med flere forfattere kan være komplisert noen ganger. Det er plugins for å håndtere redaksjonell arbeidsflyt, men du kan komme over situasjoner der du trenger spesifikke løsninger for bedre kontroll over ditt WordPress-nettsted. Nylig har vi hjulpet en bruker med å finne en slik løsning. De ønsket å blokkere WordPress-postoppdateringer og sletting etter en bestemt tidsperiode for alle brukere (inkludert redaktører) etter en bestemt tidsperiode. For eksempel, hvis et publisert innlegg er 30 dager eller eldre, kan det ikke redigeres eller slettes av redaktører. Bare administratorer kan endre det innlegget. I denne artikkelen vil vi vise deg hvordan du kan blokkere innleggsredigering, oppdateringer og sletting etter en angitt periode i WordPress.
Alt du trenger å gjøre er å legge til følgende kode i temaets funksjoner.php-fil eller i et nettstedspesifikt plugin.
funksjonen wpbeginner_restrict_editing ($ allcaps, $ cap, $ args) // Bail ut hvis vi ikke ber om å redigere eller slette et innlegg ... hvis ('edit_post'! = $ args [0] && 'delete_post'! = $ args [0] // ... eller brukeren er admin ||! Tom ($ allcaps ['manage_options']) // ... eller brukeren kan ikke redigere innlegget || tom ($ allcaps ['edit_posts'])) returnere $ allcaps; // Legg inn postdataene: $ post = get_post ($ args [2]); // Bail ut om innlegget ikke er publisert: hvis ('publiser'! = $ Post-> post_status) returner $ allcaps; // hvis innlegget er eldre enn 30 dager. Endre det for å dekke dine behov hvis (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 );
Denne funksjonen kontrollerer om brukeren har muligheten til å redigere eller slette innlegg. Deretter sjekker den etter stillingen. Hvis et innlegg publiseres og er eldre enn 30 dager, blir brukerens evne til å redigere og slette innlegget tatt bort. Hvis et innlegg publiseres, men det ikke er eldre enn 30 dager, kan brukerne med muligheten til å redigere innlegg fremdeles redigere det. Merk: Administratorer kan redigere og slette innlegg når som helst.
Vi håper at denne artikkelen hjalp alle som ønsker å blokkere innleggsredigering, oppdatering og sletting i WordPress etter en bestemt tidsperiode. Vil du noensinne gjøre dette på nettstedet ditt? Hvilke bruksområder kan du se for noe som dette? Gi oss beskjed i kommentarene nedenfor.
Kilde:
Smhmic