Zarządzanie witryną WordPress z wieloma autorami może być czasami skomplikowane. Istnieją wtyczki do zarządzania obiegiem pracy redakcyjnej, ale możesz napotkać sytuacje, w których potrzebujesz konkretnych rozwiązań, aby lepiej kontrolować swoją witrynę WordPress. Ostatnio pomogliśmy użytkownikowi znaleźć takie rozwiązanie. Chcieli zablokować aktualizacje i usuwanie postów WordPress po określonym czasie dla wszystkich użytkowników (w tym redaktorów) po określonym czasie. Na przykład, jeśli opublikowany post ma 30 dni lub więcej, redaktorzy nie mogą go edytować ani usuwać. Tylko administratorzy mogą modyfikować ten post. W tym artykule pokażemy, jak zablokować edycję postów, aktualizacje i usuwanie po określonym czasie w WordPress.

Locking posts updates and deletion for older published posts in WordPress

Wszystko, co musisz zrobić, to dodać następujący kod do funkcji motywu.plik php lub w wtyczce specyficznej dla witryny.


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

    // Wycofujemy się, jeśli nie chcemy edytować lub usunąć postu ...
    if ('edit_post'!= $args[0] & & 'delete_post'!= $ args[0]
      // ... lub użytkownik jest adminem
      || !empty ($allcaps['manage_options'] )
      // ... lub użytkownik nie może już edytować posta
      / / empty( $allcaps['edit_posts'] ) )
        return $allcaps;

    // Załaduj dane postu:
    $post = get_post ($args[2] );

    // Bail out if the post isn ' t published:
    if ('publish'!= $post- > post_status)
        return $allcaps;

    // jeśli post jest starszy niż 30 dni. Zmień go, aby zaspokoić swoje potrzeby
    if (strtotime ($post->post_date ) < strtotime ('-30 day')) {
        // Następnie zakazuje edycji.
        $allcaps[$cap[0]] = FALSE;
    }
    return $allcaps;
}
add_filter ('user_has_cap', 'wpbeginner_restrict_editing', 10, 3 );

Ta funkcja sprawdza, czy użytkownik ma możliwość edycji lub usuwania postów. Następnie sprawdza status poczty. Jeśli post jest publikowany i jest starszy niż 30 dni, Użytkownik może edytować i usuwać post. Jeśli post zostanie opublikowany, ale nie jest starszy niż 30 dni, użytkownicy z możliwością edycji postów mogą nadal go edytować. Uwaga: administratorzy mogą edytować i usuwać posty w dowolnym momencie.

Mamy nadzieję, że ten artykuł pomógł każdemu, kto chce zablokować edycję, aktualizację i usuwanie postów w WordPress po określonym czasie. Czy kiedykolwiek zrobiłbyś to na swojej stronie? Jakie zastosowania można zobaczyć dla czegoś takiego? Daj nam znać w komentarzach poniżej.

Źródło:
Smhmic

You May Also Like

Jak naprawić nieprawidłowy błąd JSON w WordPress (Przewodnik dla początkujących)

W artykule: Co powoduje błąd „nieprawidłowa odpowiedź JSON” w WordPress?1. Sprawdź adresy…

Jak zmienić kolor linku w WordPress (poradnik dla początkujących)

W artykule: Dlaczego Linki Są Ważne?Jak dodawać linki w postach i stronach…

Jak naprawić błąd krytyczny w WordPress (krok po kroku)

W artykule: Co To jest błąd krytyczny w WordPress?Co powoduje krytyczny błąd…

Jak zainstalować WordPress lokalnie na komputerze Mac za pomocą MAMP

W artykule: Jak zainstalować MAMP na komputerze MacInstalacja WordPress na komputerze MacWypróbowanie…