29 grudnia, 2021

Jak archiwizować posty i Strony WordPress

co zrobić z opublikowanymi treściami WordPress, które chcesz usunąć z widoku publicznego, ale nie chcesz kosza?

archiwizujesz. Proste. Nie. Funkcjonalność, która prawdopodobnie powinna być wbudowana lub zdecydowanie powinna być łatwa do wdrożenia, jest niepotrzebnie trudna. Nie pomaga również to, że WordPress mętnieje wodą, używając terminu archiwum dla starszych postów.

w tym artykule pokażę Ci, jak możesz archiwizować zawartość za pomocą wtyczki Edit Flow, aby wykonać ciężkie podnoszenie.

Zdjęcie Archiwum
Archiwizacja jest ważną, ale brakującą częścią WordPressa

Uwaga: podejście opisane w tym artykule dotyczy postów, stron i niestandardowych typów postów. Użyłem terminu „post” po prostu dla wygody.

aby zapewnić archiwizację, musimy dodać kolejny krok do końca procesu publikowania, opcję po „opublikowane”, dodając nowy status posta „zarchiwizowane”. Archiwizacja postów to prosta sprawa zmiany statusu postu na nowy i zapewnienia, że zarchiwizowany post nie pojawi się nigdzie na stronie, w tym w wynikach wyszukiwania i menu.

WordPress ma osiem wbudowanych statusów postów, a dodawanie do listy jest bardzo łatwe. Jednak proste zadania, takie jak dodawanie nowego statusu do rozwijanego statusu postu w polu Publikuj meta na ekranie edycji postu, są frustrująco trudne. Bez pomocnego filtra lub działania dostępnego w samym WordPress, najczęstsze rozwiązanie wykorzystuje akrobacje HTML wspomagane JQuery, aby wymusić nowe statusy w interfejsie użytkownika w przeglądarce. Niezupełnie rozwój najlepszych praktyk.

na szczęście wtyczka Edit Flow może pomóc nam rozszerzyć przepływ pracy publikowania, unikając sprzeczek HTML po stronie klienta.

Zainstaluj wtyczkę Edit Flow

Edit Flow ma wiele świetnych funkcji do zarządzania postami w środowisku zespołowym. Nie wejdziemy do nich tutaj, ale polecam przeczytanie recenzji Paula Kaisera Edit Flow tutaj na WPMU.org.

Wyłącz nieużywane Moduły

na razie musimy tylko włączyć moduł niestandardowych statusów Edit Flow, więc po zainstalowaniu kliknij Edytuj przepływ w menu głównym i wyłącz wszystkie moduły z wyjątkiem niestandardowych statusów.

zrzut ekranu ekranu zarządzania modułami przepływu edycji
do archiwizacji potrzebujesz tylko niestandardowych statusów, ale sprawdź też inne moduły

Skonfiguruj statusy

zrzut ekranu pokazujący zaktualizowany Status
rozwijane rozwijane Status zaktualizowanego

kliknij na własne statusy i,

  1. Ustaw status wersji roboczej jako domyślny, najeżdżając kursorem myszy na ” wersję roboczą „i klikając opcję menu” Ustaw domyślny”.
  2. Usuń wszystkie statusy z wyjątkiem wersji roboczej(ponownie przesuń kursor myszy nad statusem i kliknij opcję menu Usuń).
  3. użyj formularza „Dodaj nowy”, aby dodać nowy niestandardowy status „zarchiwizowane”. Kliknij kartę „Opcje” i wybierz typy postów, które chcesz archiwizować – dostępne są również niestandardowe typy postów.

teraz w polu Opublikuj meta na ekranie edycji postu lista rozwijana Status pokaże niestandardowe statusy, w tym nowy status zarchiwizowany.

aby zarchiwizować post, po prostu wybierz „zarchiwizowane” i kliknij „Aktualizuj”. Spowoduje to usunięcie postu z interfejsu, w tym Wyszukiwania. Zobaczysz również, że” zarchiwizowany ” link wraz z liczbą postów jest dodawany do linków stanu na górze strony listy postów, co zapewnia szybki i łatwy dostęp do zarchiwizowanych postów

 screen grab pokazujący zarchiwizowane w linkach statusu postu na ekranie listy postów
nowy zarchiwizowany link dodany do ekranu listy postów

ale co z menu?

WordPress ignoruje status, jeśli chodzi o budowanie menu. Jeśli umieściłeś stronę w menu, zostanie ona wyświetlona nawet wtedy, gdy jej status jest zarchiwizowany lub, w rzeczy samej, wersja robocza.

aby zapisać, że musisz sprawdzać menu za każdym razem, gdy archiwizujesz stronę, użyj tego kodu w swoich funkcjach.plik php lub w prostym pluginie:

function remove_archived_from_menu($post) {_wp_delete_post_menu_item($post->ID);}add_action( 'publish_to_archived', 'remove_archived_from_menu');

to haki do akcji zmiany stanu, która jest uruchamiana za każdym razem, gdy post zmienia status. W tym przypadku interesuje nas zmiana z „Publikuj ” na” archiwum ” (projekty elementów raczej nie znajdą się w menu). Gdy nastąpi taka zmiana, chcemy usunąć dowolny element menu z identyfikatorem posta.

Archiwizacja treści jest dość podstawową funkcją systemu zarządzania treścią i trochę zaskakujące jest to, że WordPress nie ma jeszcze tej funkcji wbudowanej. Toczenie własnego rozwiązania jest kłopotliwe, a najprostszym rozwiązaniem jest hack, który nie będzie dobrze pasował do większości programistów.

używanie Edit Flow do archiwizacji jest prostym, wolnym od włamań rozwiązaniem, które zapewnia nie tylko prostą funkcjonalność archiwizacji, ale także wprowadzenie do potężnej wtyczki do zarządzania treścią.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.