web-dev-qa-db-fra.com

Ne chargez pas de scripts sur mobile/tablette

Souhaitez-vous poser la question est-il possible d'arrêter le laoding de certains scripts lorsqu'il est affiché sur un appareil mobile/tablette?

Dans le fichier de fonctions de thème, vous avez wp_enqueue_script(...). Comment feriez-vous pour charger si basé sur la taille de l'appareil/écran ..

Est-ce possible?

1
Daniel Morton

wp_is_mobile() ne résout pas vraiment votre problème complètement. Pour être honnête ici, il n’ya pas de logique dans Wordpress pour réaliser ce que vous voulez

  • Tout d'abord, wp_is_mobile() ne vérifie que les appareils mobiles. Les comprimés sont exclus de cette

  • La taille des fenêtres est déterminée du côté du navigateur, pas du côté serveur, il n’existe donc aucun moyen pour php de vérifier la taille de la fenêtre. C’est pourquoi Wordpress ne permet pas non plus de détecter une taille de fenêtre.

La seule façon probable de le faire est d'utiliser JavaScript. J'ai vu des exemples dans lesquels JavaScript est utilisé pour déterminer la taille de la fenêtre, puis chargez quelque chose en conséquence. Je n'ai encore rien testé de tel, et franchement, ce serait aussi hors sujet. Je suggérerais que vous essayiez quelques recherches de google et essayiez quelques solutions comme j'ai suggéré

2
Pieter Goosen

Essayez wp_is_mobile function à vérifier, comme:

function theme_name_scripts() {
    if( ! wp_is_mobile() ) {
        wp_enqueue_style( 'style-name', get_stylesheet_uri() );
        wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
    }
}

add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );
0
Ashok Kumar Nath

Essaye ça:

function custom_load_scripts() {
    // Load if not mobile
    if ( ! wp_is_mobile() ) {
        // Example script
        wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array    (), '1.0.0', true );
    }
}

add_action( 'wp_enqueue_scripts', 'custom_load_scripts' );
0
Nilambar