web-dev-qa-db-fra.com

Comment filtrer les scripts wp_enqueue_script () sur certaines pages

J'utilise le code suivant pour ajouter des scripts dans les pages WP telles que

function add_js() {
  wp_deregister_script('jquery');
  wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js", false, null);
  wp_enqueue_script('jquery');
  wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() .'/js/bootstrap.min.js', array('jquery'),'',true );
  wp_enqueue_script( 'colorbox-js', get_template_directory_uri() .'/js/jquery.colorbox-min.js', array('jquery'),'',true );
  wp_enqueue_script( 'img-loader', get_template_directory_uri() .'/js/img-load.js', array('jquery'),'',true );
  wp_enqueue_script( 'box-tanzim', get_template_directory_uri() .'/js/tanzim.js', array('jquery'),'',true );
  wp_enqueue_script( 'scripts-js', get_template_directory_uri() .'/js/scripts.js', array('jquery'),'',true );

}
add_action( 'wp_enqueue_scripts', 'add_js' );

mais je ne veux pas ajouter de scripts inutiles sur certaines pages! Par exemple, j'aimerais que tous les scripts ci-dessus soient sur front-page.php, mais sur les autres pages, je n'ai pas besoin des trois derniers scripts.

Pouvez-vous s'il vous plaît laissez-moi savoir comment je peux les filtrer?

Merci

Mettre à jour

    $frondPage = get_option('page_on_front');
    if(is_page($frondPage) ) {
    wp_enqueue_script( 'wait.js', get_template_directory_uri() .'/js/wait.js', array('jquery'),'',true );   
  }
1
Behseini

Vous pouvez empêcher l'ajout d'un script à une page WordPress spécifique en vérifiant si nous sommes sur cette page ou non is_page($page_id):

function add_js() {
  wp_deregister_script('jquery');
  wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js", false, null);
  wp_enqueue_script('jquery');
  wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() .'/js/bootstrap.min.js', array('jquery'),'',true );
  wp_enqueue_script( 'colorbox-js', get_template_directory_uri() .'/js/jquery.colorbox-min.js', array('jquery'),'',true );

  $pages = array(1,2,32); // insert the pages ID where you don't want these scripts enqueued

  if( ! is_page($pages) ) {

    wp_enqueue_script( 'img-loader', get_template_directory_uri() .'/js/img-load.js', array('jquery'),'',true );
    wp_enqueue_script( 'box-tanzim', get_template_directory_uri() .'/js/tanzim.js', array('jquery'),'',true );
    wp_enqueue_script( 'scripts-js', get_template_directory_uri() .'/js/scripts.js', array('jquery'),'',true );

  }

}
add_action( 'wp_enqueue_scripts', 'add_js' );
2
Samuel Elh