[Résolu] Empêcher téléchargement des WebFont du thème parent

  • WordPress :4.7
  • Statut : résolu
11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #1870720

    jabric
    Participant
    Initié WordPress
    20 contributions

    Bonjour,

     

    J’utilise un thème-enfant de Activello.
    j’ai décidé de changer les polices utilisées.

    Problème : les polices « officielles » continuent d’être appelées par function.php et donc d’être téléchargées.
    Comment peut-on bloquer ce process ?

    l’appel depuis function.php que je voudrais bloquer :

    		// Add Google Fonts
    		wp_enqueue_style( 'activello-fonts', '//fonts.googleapis.com/css?family=Lora:400,400italic,700,700italic|Montserrat:400,700|Maven+Pro:400,700' );

    Merci !
    Jérémie.

    #1871568

    PhiLyon
    Modérateur
    Maître WordPress
    15651 contributions
    #1871729

    jabric
    Participant
    Initié WordPress
    20 contributions

    Merci.

    J’ai essayé ça :

    // Désactivation de l'appel aux anciennes polices du thème parent.
    function wpdocs_dequeue_script() {
       wp_dequeue_script( 'activello-fonts' );
    }
    add_action( 'sup_fonts_parent', 'wpdocs_dequeue_script', 100 );

    Mais cela ne change rien.
    Je ne sais pas si je « nomme » bien la fonction à ne pas appeler.
    Je ne sais pas non plus si le function.php du thème enfant peut bien « dequeuer » une fonction appelée par le function.php parent ?

    #1871742

    PhiLyon
    Modérateur
    Maître WordPress
    15651 contributions

    Ben moi non plus.

    Mais quand tu changes les polices dans le CSS, cela ne fonctionne pas ?

    🙂

    #1872534

    Flobogo
    Modérateur
    Maître WordPress
    13106 contributions

    Bonjour,

    Je pense que ça ne peut pas fonctionner, puisque le thème-enfant est chargé avant, et qu’on ne peut donc pas placer en « dequeue » un script qui n’est pas encore chargé « enqueue »

    Qu’y a t-il dans le fichier functions.php du thème-parent, avant cette action d’appel des fonts ?

    #1874471

    jabric
    Participant
    Initié WordPress
    20 contributions

    Il y a tout ça :

    /**
     * activello functions and definitions
     *
     * @package activello
     */
    
    /**
     * Set the content width based on the theme's design and stylesheet.
     */
    if ( ! isset( $content_width ) ) {
    	$content_width = 697; /* pixels */
    }
    
    /**
     * Set the content width for full width pages with no sidebar.
     */
    if ( ! function_exists( 'activello_content_width' ) ) {
    	function activello_content_width() {
    		if ( is_page_template( 'page-fullwidth.php' ) ) {
    			  global $content_width;
    			  $content_width = 1008; /* pixels */
    		}
    	}
    }
    
    add_action( 'template_redirect', 'activello_content_width' );
    
    
    if ( ! function_exists( 'activello_main_content_bootstrap_classes' ) ) :
    	/**
     * Add Bootstrap classes to the main-content-area wrapper.
     */
    	function activello_main_content_bootstrap_classes() {
    		if ( is_page_template( 'page-fullwidth.php' ) ) {
    			return 'col-sm-12 col-md-12';
    		}
    		return 'col-sm-12 col-md-8';
    	}
    endif; // activello_main_content_bootstrap_classes
    
    if ( ! function_exists( 'activello_setup' ) ) :
    	/**
     * Sets up theme defaults and registers support for various WordPress features.
     *
     * Note that this function is hooked into the after_setup_theme hook, which
     * runs before the init hook. The init hook is too late for some features, such
     * as indicating support for post thumbnails.
     */
    	function activello_setup() {
    
    		  /*
    		   * Make theme available for translation.
    		   * Translations can be filed in the /languages/ directory.
    		   */
    		  load_theme_textdomain( 'activello', get_template_directory() . '/languages' );
    
    		  // Add default posts and comments RSS feed links to head.
    		  add_theme_support( 'automatic-feed-links' );
    
    		  /**
       * Enable support for Post Thumbnails on posts and pages.
       *
       * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
       */
    		  add_theme_support( 'post-thumbnails' );
    
    		  add_image_size( 'activello-featured', 1170, 550, true );
    		  add_image_size( 'activello-slider', 1920, 550, true );
    		  add_image_size( 'activello-thumbnail', 330, 220, true );
    		  add_image_size( 'activello-medium', 640, 480, true );
    		  add_image_size( 'activello-big', 710, 335, true );
    
    		  // This theme uses wp_nav_menu() in one location.
    		  register_nav_menus( array(
    			  'primary'      => esc_html__( 'Primary Menu', 'activello' ),
    		  ) );
    
    		  // Enable support for Post Formats.
    		  add_theme_support( 'post-formats', array(
    			  'video',
    			  'audio',
    		  ) );
    
    		  // Setup the WordPress core custom background feature.
    		  add_theme_support( 'custom-background', apply_filters( 'activello_custom_background_args', array(
    			  'default-color' => 'FFFFFF',
    			  'default-image' => '',
    		  ) ) );
    
    		  // Enable support for HTML5 markup.
    		  add_theme_support( 'html5', array(
    			  'comment-list',
    			  'search-form',
    			  'comment-form',
    			  'gallery',
    			  'caption',
    		  ) );
    
    		  // Enable Custom Logo
    		  add_theme_support( 'custom-logo', array(
    			  'height'      => 200,
    			  'width'       => 400,
    			  'flex-width' => true,
    		  ) );
    
    		  // Backwards compatibility for custom Logo
    		  $old_logo = get_theme_mod( 'header_logo' );
    		if ( $old_logo ) {
    				set_theme_mod( 'custom_logo', $old_logo );
    				remove_theme_mod( 'header_logo' );
    		}
    
    		  /*
    		   * Let WordPress manage the document title.
    		   * By adding theme support, we declare that this theme does not use a
    		   * hard-coded <title> tag in the document head, and expect WordPress to
    		   * provide it for us.
    		   */
    		  add_theme_support( 'title-tag' );
    
    		  // Backwards compatibility
    		  $custom_css = get_theme_mod( 'custom_css' );
    		if ( $custom_css ) {
    				wp_update_custom_css_post( $custom_css );
    				remove_theme_mod( 'custom_css' );
    		}
    
    	}
    endif; // activello_setup
    add_action( 'after_setup_theme', 'activello_setup' );
    
    /**
     * Register widgetized area and update sidebar with default widgets.
     */
    if ( ! function_exists( 'activello_widgets_init' ) ) {
    	function activello_widgets_init() {
    		register_sidebar( array(
    			'name'          => esc_html__( 'Sidebar', 'activello' ),
    			'id'            => 'sidebar-1',
    			'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    			'after_widget'  => '</aside>',
    			'before_title'  => '<h3 class="widget-title">',
    			'after_title'   => '</h3>',
    		));
    
    		register_widget( 'Activello_Social_Widget' );
    		register_widget( 'Activello_Recent_Posts' );
    		register_widget( 'Activello_Categories' );
    	}
    }
    add_action( 'widgets_init', 'activello_widgets_init' );
    
    
    /* --------------------------------------------------------------
           Theme Widgets
    -------------------------------------------------------------- */
    require_once( get_template_directory() . '/inc/widgets/class-activello-categories.php' );
    require_once( get_template_directory() . '/inc/widgets/class-activello-social-widget.php' );
    require_once( get_template_directory() . '/inc/widgets/class-activello-recent-posts.php' );
    
    /**
     * This function removes inline styles set by WordPress gallery.
     */
    if ( ! function_exists( 'activello_remove_gallery_css' ) ) {
    	function activello_remove_gallery_css( $css ) {
    		return preg_replace( "#<style type='text/css'>(.*?)</style>#s", '', $css );
    	}
    }
    
    add_filter( 'gallery_style', 'activello_remove_gallery_css' );
    
    /**
     * Enqueue scripts and styles.
     */
    if ( ! function_exists( 'activello_scripts' ) ) {
    	function activello_scripts() {
    
    		// Add Bootstrap default CSS
    		wp_enqueue_style( 'activello-bootstrap', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
    
    		// Add Font Awesome stylesheet
    		wp_enqueue_style( 'activello-icons', get_template_directory_uri() . '/assets/css/font-awesome.min.css' );
    
    		// Add Google Fonts
    		wp_enqueue_style( 'activello-fonts', '//fonts.googleapis.com/css?family=Lora:400,400italic,700,700italic|Montserrat:400,700|Maven+Pro:400,700' );

    #1874474

    jabric
    Participant
    Initié WordPress
    20 contributions

    Mais quand tu changes les polices dans le CSS, cela ne fonctionne pas ?

    Disons que cela affiche MES polices.
    Mais les autres polices sont chargées par le navigateur inutilement, ce qui alourdit le poids de la page.

    #1874482

    PhiLyon
    Modérateur
    Maître WordPress
    15651 contributions

    Bonsoir.

    Tu chipotes là, je serais curieux de connaître le poids de la requête.

    Et puis les thèmes ne sont pas mis à jour quotidiennement, à la limite tu la supprimes dans le thème parent et tu recommences à chaque hypothétique mise à jour.

    🙂

    #1874989

    Flobogo
    Modérateur
    Maître WordPress
    13106 contributions

    Je ne demandais pas tout le fichier functions.php, juste les lignes précédentes 😀 … Mais j’ai trouvé : il faut ré-écrire dans le thème-enfant la fonction activello_scripts en ne conservant que les fonts qui vous intéressent. Autrement dit, mettre dans le functions.php du thème-enfant :

    function activello_scripts() {
    
    		// Add Bootstrap default CSS
    		wp_enqueue_style( 'activello-bootstrap', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
    
    		// Add Font Awesome stylesheet
    		wp_enqueue_style( 'activello-icons', get_template_directory_uri() . '/assets/css/font-awesome.min.css' );
    
    }

    Comme le thème-enfant est chargé avant, il ne chargera que les 2 styles demandés (si il n’y en a pas d’autres après) ; et il ne s’occupera plus de cette fonction (et des 3 styles) quand le thème-parent sera chargé.

    #1878072

    jabric
    Participant
    Initié WordPress
    20 contributions

    Merci beaucoup, cela a l’air de fonctionner impec !

    @philyon : Environ 1,4 Mo. C’est toujours très gourmand les polices. Alors, chipotage ou pas chipotage ? 😉

    #1878384

    Flobogo
    Modérateur
    Maître WordPress
    13106 contributions

    Du coup, je marque résolu. 🙂

     

11 sujets de 1 à 11 (sur un total de 11)
  • Vous devez être connecté pour répondre à ce sujet.