Oggi, Google Fonts è così integrato nei temi che spesso mancano opzioni per disattivarlo. Per conformarsi al GDPR, potrebbe essere necessario intervenire per impedire il caricamento remoto dei font, consentendo solo il caricamento locale. Tuttavia, se nel vostro codice sorgente rimane il collegamento ai server di Google, non sarete conformi alle normative.

La soluzione in questo caso è eliminare i riferimenti alle risorse caricate dai server di terze parti, come ad esempio i collegamenti come:

 

<link rel=”preconnect” href=”https://fonts.gstatic.com” crossorigin />

dal codice sorgente del tema WordPress.

Di seguito è riportato il codice PHP per ottenere questo risultato:

 

function rimuovi_preconnect_google_fonts( $buffer ) {
    $ricerca = '<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />';
    $sostituisci = '';

    $buffer = str_replace( $ricerca, $sostituisci, $buffer );

    return $buffer;
}

function avvia_buffer_rimuovi_preconnect() {
    ob_start( 'rimuovi_preconnect_google_fonts' );
}

function termina_buffer_rimuovi_preconnect() {
    if ( ob_get_length() ) {
        ob_end_flush();
    }
}

add_action( 'wp_head', 'avvia_buffer_rimuovi_preconnect', 0 );
add_action( 'wp_head', 'termina_buffer_rimuovi_preconnect', 9999 );

i numeri 0 e 9999 sono usati come priorità per le azioni wp_head a cui vengono agganciate le funzioni avvia_buffer_rimuovi_preconnect e termina_buffer_rimuovi_preconnect. La priorità determina l’ordine in cui le funzioni collegate vengono eseguite.

In WordPress, quando diverse funzioni vengono agganciate allo stesso hook, la priorità viene utilizzata per stabilire l’ordine di esecuzione. Un valore più basso indica una priorità più alta, il che significa che la funzione verrà eseguita prima di altre funzioni con una priorità inferiore (cioè con un valore più alto).

Nel nostro caso:

0 è la priorità assegnata alla funzione avvia_buffer_rimuovi_preconnect. Un valore di 0 significa che questa funzione verrà eseguita per prima, avviando il buffer di output all’inizio del tag.

9999 è la priorità assegnata alla funzione termina_buffer_rimuovi_preconnect. Un valore di 9999 significa che questa funzione verrà eseguita per ultima, dopo tutte le altre funzioni collegate all’hook wp_head. Così facendo, ci assicuriamo che il buffer di output venga terminato e pulito alla fine del tag.

Utilizzando questi valori di priorità, garantiamo che il buffer di output venga avviato all’inizio del tage terminato alla fine, consentendo alla funzione rimuovi_preconnect_google_fonts di processare e modificare il contenuto del tagprima che venga inviato al browser.

Assicuratevi di testare attentamente il vostro sito dopo l’implementazione per garantire che il design e la tipografia rimangano coerenti.