web-dev-qa-db-ja.com

いくつかのページでwp_enqueue_script()スクリプトをフィルタリングする方法

私は以下のようなWPページにいくつかのスクリプトを追加するために次のコードを使用しています

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' );

しかし、私はいくつかのページに不要なスクリプトを追加したくありません!例えば、私はfront-page.phpに上記のスクリプトすべてを持ちたいのですが、他のページには最後の3つのスクリプトは必要ありません。

フィルタする方法を教えてください。

ありがとう

更新

    $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

特定のWordPressページにスクリプトが追加されないようにするには、そのページにアクセスしているかどうかを確認します(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