december 29, 2021

Hoe WordPress-berichten en-pagina ‘ s

te archiveren wat doe je met gepubliceerde WordPress-inhoud die je uit de openbare weergave wilt verwijderen maar niet in de prullenbak wilt gooien?

u archiveert het. Eenvoudig. Nou, Nee. Functionaliteit die misschien moet worden ingebouwd Of zeker moet gemakkelijk te implementeren is eigenlijk onnodig moeilijk. Het helpt ook niet dat WordPress de wateren vertroebelt door het gebruik van de archiefterm voor oudere berichten.

In dit artikel zal ik u laten zien hoe u inhoud kunt archiveren met behulp van de Edit Flow plugin om het zware werk te doen.

Foto van een archief
archivering is een belangrijk onderdeel van WordPress

Opmerking: De in dit artikel beschreven aanpak is van toepassing op berichten, pagina ‘ s en aangepaste posttypes. Ik heb de term “post” gewoon voor het gemak gebruikt.

om archivering te bieden, moeten we nog een stap toevoegen aan het einde van het publicatieproces, een optie na “gepubliceerd”, door een nieuwe poststatus van “gearchiveerd”toe te voegen. Het archiveren van berichten is dan een eenvoudige kwestie van het veranderen van de post-status naar de nieuwe status en ervoor te zorgen dat de gearchiveerde bericht nergens op de site verschijnt, inclusief in zoekresultaten en menu ‘ s.

WordPress heeft acht ingebouwde poststatussen en toevoegen aan de lijst is zeer eenvoudig. Echter, eenvoudige taken zoals het toevoegen van de nieuwe status aan de post status drop-down in de Publiceren meta box op het bericht bewerken scherm is frustrerend moeilijk. Met geen nuttig filter of actie beschikbaar binnen WordPress zelf, de meest voorkomende oplossing maakt gebruik van jQuery-geassisteerde HTML acrobatiek om nieuwe statussen te dwingen in de gebruikersinterface in de browser. Niet bepaald een goede ontwikkeling.

gelukkig kan de Edit Flow plugin ons helpen de workflow voor het publiceren uit te breiden, terwijl HTML-geruzie aan de client wordt vermeden.

installeer de Edit Flow Plugin

Edit Flow heeft tal van geweldige functies voor het beheren van berichten in een teamomgeving. We zullen hier niet ingaan op hen, maar ik zou aanraden het lezen van Paul Kaiser ‘ s beoordeling van Edit Flow hier op WPMU.organisatie.

ongebruikte Modules

op dit moment hoeven we alleen de aangepaste Statusmodule van edit Flow aan te staan, dus klik na installatie op Edit Flow in het hoofdmenu en schakel alle modules uit, behalve aangepaste statussen.

Screen grab van het Edit Flow modules management scherm
voor archivering heeft u alleen aangepaste statussen nodig, maar bekijk ook de andere modules

Configureer de statussen

Screen grab toont de bijgewerkte Status
de bijgewerkte Status dropdown

klik op Aangepaste statussen en,

  1. maak de conceptstatus de standaardstatus door met de muis over “Concept” te gaan en te klikken op de “Make Default” menu optie.
  2. Verwijder alle statussen behalve voor Concept (nogmaals, rol met je muis over de status en klik op de Delete menu optie).
  3. gebruik het formulier” nieuw toevoegen ” om een nieuwe aangepaste status van “gearchiveerd”toe te voegen. Klik op de” Opties ” tab en selecteer de post types die u wilt kunnen archiveren – aangepaste post types zijn ook beschikbaar.

nu, in het Meta publiceren veld op het bericht bewerken scherm, zal de Status dropdown de aangepaste statussen tonen, inclusief de nieuwe Gearchiveerde status.

om een bericht te archiveren, selecteert u “gearchiveerd” en klikt u op “Update”. Dit zal de post te verwijderen uit de front-end, met inbegrip van zoekopdrachten. U zult ook zien dat een” gearchiveerde “link, compleet met aantal berichten, is toegevoegd aan de statuskoppelingen boven aan de postlijst pagina, waardoor u snel en eenvoudig toegang hebt tot de gearchiveerde berichten

Schermgrijper die gearchiveerd toont in de poststatuskoppelingen op het postlijst scherm
de nieuwe gearchiveerde link toegevoegd aan het postlijst scherm

maar hoe zit het met menu’ s?

WordPress negeert de status als het gaat om het bouwen van menu ‘ s. Als u een pagina in het menu hebt geplaatst, zal deze worden weergegeven, zelfs als de status is gearchiveerd of, inderdaad, concept.

om te voorkomen dat u uw menu ‘ s moet controleren elke keer dat u een pagina archiveert, gebruikt u deze code in uw functies.php-bestand of in een eenvoudige plugin:

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

dit hooks in de status verandering actie die wordt afgevuurd elke keer dat een post verandert status. In dit geval zijn we geïnteresseerd in de verandering van “publiceren” naar “archief” (ontwerp items zijn waarschijnlijk niet in een menu). Wanneer die verandering optreedt, willen we elk menu-item met de ID van de post verwijderen.

het archiveren van inhoud is een vrij basisfunctie van een content management systeem en het is een beetje verrassend dat WordPress deze mogelijkheid nog niet heeft ingebouwd. Rolling uw eigen oplossing is omslachtig en de eenvoudigste oplossing is een hack die niet goed zou zitten met de meeste ontwikkelaars.

het gebruik van Edit Flow om archivering te bieden is een eenvoudige, hack-vrije oplossing die niet alleen eenvoudige archiveringsfunctionaliteit biedt, maar ook een introductie tot een krachtige contentmanagementplugin.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.