Dicembre 29, 2021

Come archiviare i post e le pagine di WordPress

Cosa fai con i contenuti WordPress pubblicati che vuoi rimuovere dalla vista pubblica ma non vuoi cestinare?

Lo archivi. Semplice. Beh, no. La funzionalità che probabilmente dovrebbe essere integrata o sicuramente dovrebbe essere facile da implementare è in realtà inutilmente difficile. Inoltre, non aiuta WordPress a confondere le acque usando il termine di archivio per i post più vecchi.

In questo articolo, vi mostrerò come è possibile archiviare i contenuti utilizzando il plugin Edit Flow per fare il lavoro pesante.

Foto di un archivio
L’archiviazione è una parte importante ma mancante di WordPress

Nota: L’approccio descritto in questo articolo si applica a post, pagine e tipi di post personalizzati. Ho usato il termine “post” semplicemente per comodità.

Per fornire l’archiviazione, è necessario aggiungere un altro passaggio alla fine del processo di pubblicazione, un’opzione dopo “pubblicato”, aggiungendo un nuovo stato post di “archiviato”. L’archiviazione dei post è quindi una semplice questione di cambiare lo stato del post nel nuovo stato e garantire che il post archiviato non appaia da nessuna parte sul sito, inclusi i risultati di ricerca e i menu.

WordPress ha otto stati post incorporati e l’aggiunta all’elenco è molto semplice. Tuttavia, attività semplici come aggiungere il nuovo stato al menu a discesa stato post nella casella Meta pubblica nella schermata Modifica post sono frustranti. Senza filtri o azioni utili disponibili all’interno di WordPress stesso, la soluzione più comune utilizza acrobazie HTML assistite da jQuery per forzare nuovi stati nell’interfaccia utente nel browser. Non esattamente le migliori pratiche di sviluppo.

Fortunatamente, il plugin Edit Flow può aiutarci a estendere il flusso di lavoro di pubblicazione evitando le dispute HTML lato client.

Installare il plugin Edit Flow

Edit Flow ha un sacco di grandi caratteristiche per la gestione di messaggi in un ambiente di squadra. Non andremo in loro qui, ma consiglierei di leggere la recensione di Paul Kaiser di Edit Flow qui su WPMU.org.

Disattiva i moduli inutilizzati

Per ora, abbiamo solo bisogno di abilitare il modulo Stati personalizzati di Edit Flow, quindi una volta installato, fare clic su Edit Flow nel menu principale e disabilitare tutti i moduli tranne gli stati personalizzati.

gru a benna dello Schermo di Modifica del Flusso di moduli di gestione dello schermo
Per l’archiviazione hai solo bisogno di Stati Personalizzati, ma controllare gli altri moduli,

Configurare gli stati

gru a benna dello Schermo che mostra il Stato aggiornato
Lo Stato aggiornato a discesa

fare Clic su Stati Personalizzati e,

  1. Rendere il Progetto di stato lo stato di default passando il mouse su “Progetto” e fare clic su “Default” opzione di menu.
  2. Elimina tutti gli stati tranne Draft (di nuovo, passa il mouse sullo stato e fai clic sull’opzione di menu Elimina).
  3. Utilizzare il modulo “Aggiungi nuovo” per aggiungere un nuovo stato personalizzato di “Archiviato”. Fare clic sulla scheda “Opzioni” e selezionare i tipi di post che si desidera essere in grado di archiviare – tipi di post personalizzati sono disponibili pure.

Ora, nella casella Pubblica meta nella schermata di modifica post, il menu a discesa Stato mostrerà gli stati personalizzati, incluso il nuovo stato archiviato.

Per archiviare un post, basta selezionare “Archiviato” e cliccare su “Aggiorna”. Questo rimuoverà il post dal front-end, comprese le ricerche. Vedrai anche che un link” Archiviato”, completo di conteggio dei post, viene aggiunto ai link di stato nella parte superiore della pagina dell’elenco dei post, offrendo un accesso rapido e facile ai post archiviati

 Cattura schermo che mostra archiviato nei link di stato dei post nella schermata dell'elenco dei post
Il nuovo link archiviato aggiunto alla schermata dell’elenco dei post

Ma per quanto riguarda i menu?

WordPress ignora lo stato quando si tratta di creare menu. Se hai inserito una pagina nel menu, verrà mostrata anche se il suo stato è archiviato o, in effetti, bozza.

Per evitare di dover controllare i menu ogni volta che si archivia una pagina, utilizzare questo codice nelle funzioni.file php o in un semplice plugin:

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

Questo si aggancia all’azione di modifica dello stato che viene attivata ogni volta che un post cambia stato. In questo caso siamo interessati al passaggio da “pubblica” a “archivia” (è improbabile che le bozze siano in un menu). Quando si verifica tale modifica, vogliamo eliminare qualsiasi voce di menu con l’ID del post.

L’archiviazione dei contenuti è una funzione abbastanza semplice di un sistema di gestione dei contenuti ed è un po ‘ sorprendente che WordPress non abbia già questa funzione integrata. Rotolare la propria soluzione è ingombrante e la soluzione più semplice è un hack che non starebbe bene con la maggior parte degli sviluppatori.

L’utilizzo di Edit Flow per fornire l’archiviazione è una soluzione semplice e priva di hack che non solo fornisce una semplice funzionalità di archiviazione, ma anche un’introduzione a un potente plugin per la gestione dei contenuti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.