Come visualizzare gli ID post e pagina nell'amministratore di WordPress
Pubblicato: 2015-02-14Ogni tanto sarebbe conveniente conoscere l'ID di un post o di una pagina in WordPress, giusto?
Che si tratti di uno shortcode, quando si imposta qualcosa nelle impostazioni del tema o forse solo per ottenere un collegamento rapido.
In ogni caso, WordPress non semplifica la determinazione dell'ID di un post. Un modo per prenderlo è visitare la pagina di modifica di un post e controllare l'URL. Dovrebbe assomigliare a qualcosa di simile a questo:
https://yourwebsite.com/wp-admin/post.php?post=137171&action=edit
Il 137171 nell'esempio sopra è l'ID del post, l'identificatore principale nel database. Sicuramente ci deve essere un modo più semplice per capirlo, giusto? Per fortuna c'è.
- Visualizza gli ID post con un plug-in
- Fai da te: mostra gli ID posta con il codice
- Aggiunta di colonne personalizzate
- Trovare i ganci giusti
- Mettere l'ID davanti
- Conclusione
Visualizza gli ID post con un plug-in
La soluzione più semplice è utilizzare un plugin. Il nonno è Reveal IDs, un plug-in gratuito che registra poco più di 425.000 download.
Un'altra nuova opzione è WPsite Show IDs.
Entrambi i plugin fanno più o meno la stessa cosa: mostrano l'ID di post, pagine, utenti, categorie, tassonomie personalizzate, tipi di post personalizzati e così via. L'unico motivo per cui mi oriento verso gli ID WPsite Show è l'impronta di 8 Kb. Reveal Ids è di circa 311 Kb, il che sembra un po' eccessivo per un plug-in così semplice.
Fai da te: mostra gli ID posta con il codice
Se sei interessato a come visualizzare tu stesso gli ID post, diamo un'occhiata al codice.
Il codice seguente dovrebbe essere contenuto in un plug-in o nel file delle funzioni del tuo tema. Se desideri creare un plug-in, dai un'occhiata alla nostra guida allo sviluppo di plug-in per un modello semplice.
Prima di iniziare, vale anche la pena dire che dovresti creare un tema figlio. Consulta la nostra guida ai temi per bambini se non hai già familiarità con come crearne uno.
Aggiunta di colonne personalizzate
WordPress offre ottimi strumenti per modificare gli elenchi di post dell'amministratore, inclusa la creazione di colonne e contenuti personalizzati. Avremo bisogno di utilizzare un filtro per aggiungere la colonna e l'azione per aggiungere i valori. Facciamo un rapido test sulla normale tabella dei post:
Questo è tutto ciò di cui abbiamo bisogno. Il filtro ci consente di aggiungere una colonna modificando l'array colonne. La chiave dell'array dovrebbe essere l'identificatore per la colonna e il valore verrà visualizzato come testo dell'intestazione.
La funzione agganciata all'azione assume due parametri: viene visualizzato il nome della colonna e l'id del post. Questo è perfetto: ci assicuriamo di fare semplicemente eco all'ID quando viene mostrata la nostra colonna personalizzata.
La funzione "rivela" è il mio tentativo di gioco di parole, mi dispiace! È inteso come un prefisso per tutte le nostre funzioni per assicurarsi che non entrino in collisione con altri plugin.
Una piccola parentesi: nota come ho usato 'revealid_id' == $column
, che sembra un po' alieno. Questa è chiamata condizione Yoda ed è preferita in WordPress. Il ragionamento è che se dimentichi di definire la variabile non otterrai un enorme errore PHP spalancato sulla tua pagina.
Trovare i ganci giusti
Le due funzioni sopra sono tutto ciò di cui avremo bisogno. Il pezzo rimanente del puzzle è dove agganciarli. Gli hook che abbiamo usato prendono di mira solo i post normali e i nostri ID non verranno visualizzati per le pagine o altri elementi.
In realtà, questi hook sono chiamati hook variabili perché appartengono ad un insieme standardizzato. La forma comune è: manage_[post_type_or_element]_columns
e manage_[post_type_or_element]_custom_column
.

Sulla base di questo, post, pagine, media e tipi di post personalizzati dovrebbero essere facili, poiché questi sono tutti tipi di post. Per fare in modo che gli ID vengano visualizzati per tutti questi elementi è possibile utilizzare i seguenti hook:
Piccolo avvertimento qui: tutto tranne i post e le pagine utilizza i tipi di post. Il tipo di post per i post è tecnicamente "post", il tipo di post per le pagine è "pagina". Per qualche ragione gli hook usano la forma plurale. Questa è una stranezza di WordPress poiché dovrebbe davvero essere la forma singolare. Vedi, anche il core di WordPress non è perfetto.
Ho aggiunto un tipo di post personalizzato: progetto. E se volessi applicarlo a tutti i tipi di post personalizzati? In tal caso puoi scorrere tutti facilmente in questo modo:
Raccomando lo stesso approccio quando si tratta di tassonomie. Per produrre l'ID solo per le categorie puoi usare manage_edit-link-categories_columns
e manage_link_categories_custom_column
ma per aggiungerlo a tutte le tassonomie dobbiamo usare un altro ciclo:
Ultimo ma non meno importante, abbiamo utenti e commenti. Anche questi sono abbastanza semplici. Guarda:
Mettere l'ID davanti
Questo piccolo cambiamento è un po' più difficile di quanto sembri. Quando abbiamo aggiunto la colonna ID, l'abbiamo aggiunta alla fine di un array esistente contenente tutte le altre colonne. La soluzione sembra abbastanza semplice: aggiungilo in primo piano. Potremmo farlo unendo gli array, ma si scopre che la casella di controllo è la prima colonna: in realtà vogliamo l'ID al secondo posto.
Utilizzeremo ancora l'unione di array ma abbiamo bisogno di un po' più di inganno: dobbiamo prima dividerlo. Il primo array conterrà la casella di controllo (il primo elemento dell'array originale), il secondo array conterrà tutto il resto. Uniremo il primo array con un array contenente il nostro ID e quindi con il secondo array. Il codice dovrebbe renderlo molto più chiaro:
Conclusione
Penso che questo sia un ottimo esempio della modularità di WordPress. Gli ID una volta venivano mostrati nell'amministratore (pre-WordPress 2.5) ma si è scoperto che non molte persone ne avevano bisogno. Una volta rimossa questa funzione, sono nati plugin per soddisfare coloro che volevano ancora vedere gli ID dei post.
Scrivere il nostro plug-in fornisce un'idea di quanto sia modulare WordPress e di quanto sia facile modificare l'amministratore stesso. Lo stesso metodo descritto sopra può essere utilizzato per aggiungere miniature, frammenti di descrizione e altre informazioni alla tabella dell'elenco degli amministratori.
tag: