web-dev-qa-db-fra.com

Comment empêcher le thème Divi de charger les polices Google

Je souhaite héberger localement des polices Google afin de réduire le temps de chargement des pages.

J'espère utiliser google-webfonts-helper pour le faire.

J'aurais besoin de nous assurer que notre thème, Divi, ne charge pas les polices Google originales.

Actuellement, notre site a les éléments suivants dans la tête.

<link data-asynced='1' as='style' onload='this.rel="stylesheet"'  rel='preload' id='divi-fonts-css'  href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&#038;subset=latin,latin-ext' type='text/css' media='all' />

Dans /Divi/core/functions.php, il y a:

if ( ! function_exists( 'et_core_get_main_fonts' ) ) :
function et_core_get_main_fonts() {
    global $wp_version;

    if ( version_compare( $wp_version, '4.6', '<' ) ) {
        return '';
    }

    $fonts_url = '';

    /* Translators: If there are characters in your language that are not
     * supported by Open Sans, translate this to 'off'. Do not translate
     * into your own language.
     */
    $open_sans = _x( 'on', 'Open Sans font: on or off', 'Divi' );

    if ( 'off' !== $open_sans ) {
        $font_families = array();

        if ( 'off' !== $open_sans )
            $font_families[] = 'Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800';

        $protocol = is_ssl() ? 'https' : 'http';
        $query_args = array(
            'family' => implode( '%7C', $font_families ),
            'subset' => 'latin,latin-ext',
        );
        $fonts_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" );
    }

    return $fonts_url;
}
endif;

if ( ! function_exists( 'et_core_load_main_fonts' ) ) :
function et_core_load_main_fonts() {
    $fonts_url = et_core_get_main_fonts();
    if ( empty( $fonts_url ) ) {
        return;
    }

    wp_enqueue_style( 'et-core-main-fonts', esc_url_raw( $fonts_url ), array(), null );
}
endif;

Comment pourrais-je empêcher le thème Divi de charger la police Google?

Dois-je désactiver la fonction et_core_load_main_fonts?

Aide appréciée.

1
Steve

On dirait que quelqu'un a déjà fait ce que je dois faire.

De cet article , je peux ajouter le code suivant au functions.php de mon thème enfant:

// REMOVE OPEN SANS GOOGLE FONT FROM DIVI
function disable_open_sans_divi() {
wp_dequeue_style( 'divi-fonts' );
}
add_action( 'wp_enqueue_scripts', 'disable_open_sans_divi', 20 );
1
Steve

wp_dequeue_style () devrait vous aider. Vous devez supprimer le style et mettre en file d'attente vos polices.

wp_dequeue_style('et-core-main-fonts');
wp_enqueue_style('your_fonts_handle', 'path_to_your_fonts');

Ou redéclare la fonction avec vos polices.

et_core_load_main_fonts() {
    $fonts_url = et_core_get_main_fonts();
    if ( empty( $fonts_url ) ) {
        return;
    }

    wp_enqueue_style( 'et-core-main-fonts', esc_url_raw( 'path_to_your_style' ), array(), null );
}
2
Maxim Sarandi