Come visualizzare gli ID post e pagina nell'amministratore di WordPress

Pubblicato: 2015-02-14

Ogni 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:

Gist di caricamento 8e8183e694b674638830e23505fe0377

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:

Caricamento gist f5d3a74815180d6caae226de135a8421

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:

Caricamento gist fa188e0650ab09cc1acb796165d88864

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:

Contenuto del caricamento 6d2ebe47188e8599eb3b0fe3527d4860

Ultimo ma non meno importante, abbiamo utenti e commenti. Anche questi sono abbastanza semplici. Guarda:

Informazioni di caricamento 96c1e364e6f29421d38595c509b53536

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:

Loading gist ceb06c8dd27458696ebb4d89358eeda3

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.

Se hai aggiunto qualcosa di fantastico a un elenco di amministratori o hai un'idea che vorresti vedere aggiunta ad esso, faccelo sapere nei commenti qui sotto.
tag: