Hur blockera WordPress Postuppdateringar och radering efter en inställd period

Hur blockera WordPress Postuppdateringar och radering efter en inställd period / Handledningar

Hantera WordPress-webbplats med flera författare kan vara komplicerat ibland. Det finns plugins för att hantera redaktionellt arbetsflöde, men du kan komma överallt i situationer där du behöver specifika lösningar för bättre kontroll av din WordPress-webbplats. Nyligen hjälpte vi en användare att hitta en sådan lösning. De ville blockera WordPress-postuppdateringar och borttagning efter en viss tidsperiod för alla användare (inklusive redaktörer) efter en viss tidsperiod. Om exempelvis ett publicerat inlägg är 30 dagar eller äldre, kan det inte redigeras eller raderas av redaktörer. Endast administratörer kan ändra det inlägget. I den här artikeln visar vi hur du blockerar postredigering, uppdateringar och radering efter en viss tidsperiod i WordPress.

Allt du behöver göra är att lägga till följande kod i ditt temas funktioner.php-fil eller i ett sajtspecifikt plugin.

 funktionen wpbeginner_restrict_editing ($ allcaps, $ cap, $ args) // Bail ut om vi inte ber om att redigera eller radera ett inlägg ... om ('edit_post'! = $ args [0] && 'delete_post'! = $ args [0] // ... eller användaren är admin |!! Tom ($ allcaps ['manage_options']) // ... eller användaren kan inte redigera posten || tom ($ allcaps ['edit_posts'])) returnera $ allcaps; // Ladda postdata: $ post = get_post ($ args [2]); // Skydda om posten inte publiceras: om ("publicera"! = $ Post-> post_status) returnera $ allcaps; // om inlägget är äldre än 30 dagar. Ändra det för att möta dina behov om (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 ); 

Denna funktion kontrollerar om användaren har möjlighet att redigera eller ta bort inlägg. Därefter kontrollerar den efter poststatusen. Om ett inlägg publiceras och är äldre än 30 dagar, tas användarens möjlighet att redigera och ta bort posten bort. Om ett inlägg publiceras, men det är inte äldre än 30 dagar, kan användarna med förmågan att redigera inlägg ändå redigera det. Obs! Administratörer kan redigera och ta bort inlägg när som helst.

Vi hoppas att den här artikeln hjälpte alla som vill blockera postredigering, uppdatering och radering i WordPress efter en viss tidsperiod. Skulle du någonsin göra det på din webbplats? Vilka användningsfall kan du se för något sådant? Låt oss veta i kommentarerna nedan.

Källa:
Smhmic