Disabilitare il plugin All In One SEO di WordPress in una singola pagina

Per aggiungere la sezione link a questo sito ho usato due plugin che mi hanno permesso di lavorare sempre dalla dashboard senza bisogno di scrivere nuovi plugin (trovi i dettagli in questo post).

Con il passaggio alla versione 4 del plugin All In One SEO, però, è stata eliminata la possibilità di poterne disabilitare le funzioni in una singola pagina (che io usavo per modificare titolo e proprietà dell’OpenGraph di Facebook) e, in più, è stata anche modificata la riscrittura dei titoli delle pagine.

Queste modifiche hanno reso non più completamente funzionante la mia sezione link ed ecco dunque le modifiche che ho dovuto fare.

Il primo intervento ha riguardato la riscrittura del titolo. Ora il blocco è questo:

// Set the Title for the News Link detail page
function art_pre_get_document_title($title) {

	global $_art_pod;
	if ($_SERVER['ART_PAGENAME'] && $_art_pod) {
		if ($title) {
			$title = get_bloginfo('name').' '.apply_filters('document_title_separator', '-').' '.$title.' '.apply_filters('document_title_separator', '-').' '.$_art_pod->field('title');
		}
	} 
	
	return $title;
};
add_filter('pre_get_document_title', 'art_pre_get_document_title', 999999, 1);


function art_document_title_parts($title) {

	global $_art_pod;
	if ($_SERVER['ART_PAGENAME'] && $_art_pod) {
		$title['title'] = get_bloginfo('name').' '.apply_filters('document_title_separator', '-').' '.$title['title'].' '.apply_filters('document_title_separator', '-').' '.$_art_pod->field('title');
	}
	
	return $title;
};
add_filter('document_title_parts', 'art_document_title_parts', 10, 1);

Principalmente ho dovuto aggiungere il filtro art_pre_get_document_title con un’altissima priorità (999999) per fare sì che il mio codice venisse eseguito dopo quello di All In One SEO e quindi avere l’ultima parola. 🙂

Poi in fondo ho dovuto aggiungere la disabilitazione dell’intero plugin per le pagine della sezione perché non è più possibile farlo dalla dashboard di WordPress:

// Disable AIOSEO for the News Link detail page
function art_aioseo_disable($disabled) {
	
 	global $_art_pod;
	if ($_SERVER['ART_PAGENAME'] && $_art_pod) {
		return true;
	}
	return $disabled;
}
add_filter('aioseo_disable', 'art_aioseo_disable', 10, 1);

Con questo il funzionamento della sezione link è tornato come previsto.

Considerazioni finali

Sebbene io cerchi di usare il minor numero di plugin possibili alcuni sono indubbiamente utili.

Tra questi ci sono sicuramente quelli che gestiscono la parte SEO perché lo stato dell’arte della materia evolve velocemente ed è complicato mantenersi sempre aggiornati.
Spesso, però, questo tipo di plugin si comporta in maniera abbastanza aggressiva nello svolgere il proprio compito e se ci sono personalizzazioni del sito che non usano le funzionalità classiche di WordPress (come ho fatto io per provare gli Advanced Custom Type di Pods) potrebbero risentirne.

Appena riesco proverò a riscrivere il modulo facendo creare a Pods dei classici Custom Post Type con i quali la compatibilità con gli altri plugin è sicuramente maggiore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *