Come aggiungere una colonna con gli ID di articoli e pagine WordPress
In questo articolo vedremo come inserire, nella lista di articoli, pagine e custom post di WordPress, una colonna che visualizzi l’ID del contenuto, senza la necessità di installare plugin esterni, ma procedendo alla creazione di un plugin dedicato, composto solamente da poche righe di codice.
WordPress infatti non offre nativamente questa funzionalità.
Di solito, per ottenere l’ID di un contenuto, è necessario iniziare a modificare la pagina oppure l’articolo e recuperarlo dall’URL nella barra degli indirizzi del browser.
Invece, grazie a questa semplice plugin, sarà molto più veloce recuperare gli ID dei contenuti WordPress.
Questo può tornare utile in tutte quelle situazioni in cui hai bisogno di inserire l’ID di un post di WordPress, ad esempio per tutti quei temi che hanno un campo nelle opzioni per generare uno slideshow di articoli.
Oltre ad articoli e pagine, potrai generare questa colonna anche per i custom post type.
Crea un nuovo plugin WordPress
Per creare un nuovo plugin per WordPress, aggiungi una nuova cartella nella directory wp-content/plugins del tuo sito e rinomina questa cartella come wip-colonna-id (sei libero di utilizzare un nome a tua scelta)
Al suo interno procedi alla creazione del file init.php ed aggiungi, al suo interno, l’intestazione del plugin.
/* Plugin Name: WIP colonna ID Version: 1.0 Plugin URI: https://www.wpinprogress.com/ Description: WIP colonna ID Author: WPinProgress */
Aggiungi una nuova colonna
Successivamente incolla il seguente codice, questo servirà a generare una nuova colonna vuota, insieme a quelle già presenti, come nome dell’articolo, categorie ecc.
Per visualizzare questa colonna anche nei custom post type, dovrai sostituire {custom_post_type} con lo slug del custom post type desiderato (es usa product per i prodotti WooCommerce)
function wip_add_content_column($columns) { global $typenow; $post_type_object = get_post_type_object($typenow); if ($post_type_object) : $post_type_label = $post_type_object->labels->singular_name; else : $post_type_label = 'Contenuto'; endif; $columns['post_id'] = 'ID ' . $post_type_label; return $columns; } add_filter('manage_posts_columns', 'wip_add_content_column'); add_filter('manage_pages_columns', 'wip_add_content_column'); add_filter('manage_{custom_post_type}_posts_columns', 'wip_add_content_column');
Inserisci gli ID nella colonna
A questo punto è necessario generare il contenuto della nuova colonna, recuperando l’ID del contenuto.
function wip_add_content_column_content($column, $post_id) { if ($column === 'post_id') { echo $post_id; } } add_action('manage_posts_custom_column', 'wip_add_content_column_content', 10, 2); add_action('manage_pages_custom_column', 'wip_add_content_column_content', 10, 2); add_action('manage_{custom_post_type}_posts_custom_column', 'wip_add_content_column_content', 10, 2);
Conclusione
A questo punto, se apri la sezione Tutti gli articoli, oppure Tutte le pagine di WordPress, dovresti trovare una nuova colonna contenente l’ID di ogni contenuto.