WordPress mystique e il tag title

Premesso che non sono un esperto di WP ma solo un modesto utilizzatore, mi sono trovato recentemente ad affrontare un problema per un sito che utilizzava la famosa template Mystique di Digitalnature. Il problema risiedeva nella impossibilità di personalizzare il tag html “Title” delle varie pagine del sito: di default WP imposta tale tag con lo stesso titolo assegnato alla pagina dall’autore. Questo non è ottimale poichè, nota l’importanza di tale tag per l’indicizzazione da parte dei motori di ricerca, sarebbe più flessibile poter decidere pagina per pagina il tag “Title” più opportuno che non coincide necessariamente col titolo che volete assegnare alla pagina.

Dopo varie ricerche ho trovato una soluzione che funziona con Mystique ma che credo sia valida anche per molte altre template. La soluzione si basa sull’uso dei custom field di WP, utilissimi in sede di personalizzazione.

Con la funzione Editor, all’interno del pannello amministrativo, scegliete il file Header.php e sostituite tutto il codice presente tra

1
 <title>..</title>

con il seguente codice php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<title><?php if (is_page () ) {
//se si tratta di una pagina
global $wp_query;
//cerco nel db l'id della pagina
$id = $wp_query->get_queried_object_id();
//per tale pagina leggo il custom field denominato title
$doctitle = get_post_meta($id, 'title', true);
//questo custom field diventa il title html della pagina
echo $doctitle;
}
else {
//se non si tratta di una pagina lascio invece la funzione di default del tema
mystique_title();
} ?></title>

A questo punto vi basterà, per ogni vostra pagina nella sezione Custom Fields, aggiungere un campo di nome title e mettere come suo valore la stringa di testo che volete appaia come tag “Title” html.

Data la mia scarsa familiarità con il PHP il codice è ampiamente migliorabile e facilmente adattabile anche al title dei Posts.

Tra parentesi, una popolare esigenza tra gli utilizzatori di Mystique è quella di non far comparire nel testo della pagina (o dei Post) il titolo della pagina: per fare questo è previsto in questo tema un metodo molto elegante sempre attraverso l’uso dei Custom Fields: basta impostare nella pagina un custom field di nome hide_title e lasciare vuoto il suo valore. Magicamente il titolo non apparirà più nel testo della vostra pagina pubblicata.

This entry was posted in Wordpress and tagged , . Bookmark the permalink.

Comments are closed.