§ 6. Come aggiungere i tag e le categorie alle pagine di WordPress

Molti dei miei lettori si saranno accorti che in base alle impostazioni standard del WordPress, i tag e le categorie possono essere utilizzati solo per gli articoli.
Se volessimo avere la possibilità di utilizzarli anche per le pagine, dovremmo intervenire sul codice del file functions.php (si trova tra i file del nostro tema).
Possiamo fare tre tipi di modifica a tale file: aggiungere solo le categorie, solo i tags, oppure le categorie assieme ai tag.
1. Solo le categorie:

function true_apply_categories_for_pages(){
	add_meta_box( 'categorydiv', 'Categorie', 'post_categories_meta_box', 'page', 'side', 'normal'); // aggiungiamo il metabox delle categorie per le pagine
	register_taxonomy_for_object_type('category', 'page'); // registriamo le categorie per le pagine
}
// aggiungiamo necessariamente ad admin_init
add_action('admin_init','true_apply_categories_for_pages');
 
function true_expanded_request_category($q) {
	if (isset($q['category_name'])) // se nella richiesta e presente il parametro categorie
		$q['post_type'] = array('post', 'page'); // oltre agli articoli mostriamo anche le pagine
	return $q;
}
add_filter('request', 'true_expanded_request_category');

2. Le categorie ed i tag:

function true_apply_tags_for_pages(){
	add_meta_box( 'tagsdiv-post_tag', 'Tags', 'post_tags_meta_box', 'page', 'side', 'normal' ); // prima di tutto aggiungiamo il meta box dei tags
	register_taxonomy_for_object_type('post_tag', 'page'); // poi attiviamo il loro utilizzo sulle pagine di wp
}
add_action('admin_init','true_apply_tags_for_pages');
 
function true_expanded_request_post_tags($q) {
	if (isset($q['tag'])) // se nella richiesta e presente il parametro tags
		$q['post_type'] = array('post', 'page');
	return $q;
}
add_filter('request', 'true_expanded_request_post_tags');

3. Le categorie assieme ai tag: inserire nel functions.php entrambi i codici appena visti.
Come potete vedere, il codice di ognuna delle prime due soluzioni si divide in due parti. La prima parte del codice attiva l’utilizzo della tassonomia (categorie, tags etc.), mentre la seconda unisce sullo schermo del visitatore gli archivi delle pagine e degli archivi ai quali sono stati assegnati gli stessi tags e/o categorie.
Una volta modificato, salvato e caricato il file functions.php, vedrete subito il risultato sperato: