連絡先ページにのみGoogleマップのスクリプトを追加する必要がありますが、すべてのページに表示することは望ましくありません。私はカスタムヘッダーも作成するつもりはないので、連絡先ページにのみjsファイルを追加する方法はあると思いますか?現在、私はテーマにJavaScriptを追加するためにこのコードを使用しています
//Load Scripts
function load_scripts(){
wp_deregister_script('jquery'); // De-register Existing jquery
wp_enqueue_script('jquery', 'http://code.jquery.com/jquery.js', '', '', true);
wp_enqueue_script('bootstrap-jquery', get_template_directory_uri().'/assets/js/bootstrap.js', '', '', true);
}
私が言ったように私は googlemap.js と呼ばれる別のファイルを持っているあなたは私がこのコードから唯一の連絡先ページにそれを追加することができるかどうか私に知らせてもらえますか?もう1つのポイントは、Wordpressがこのコードを本体の末尾(タグの前)に追加していることです。正直に言うと どうしたのかわからない !しかし、私の特定のケースでは、コードを追加する必要があります。どうしたらいいか教えてください。
ありがとう
特定のページにスクリプトをロードするには、条件付き is_page()
を使用します。
これはあなたの関数の修正版です:
//Load Scripts
function load_scripts(){
wp_deregister_script('jquery'); // De-register Existing jquery
wp_register_script('jquery', 'http://code.jquery.com/jquery.js', '', '', true);
wp_enqueue_script( 'jquery' );
wp_register_script('bootstrap-jquery',get_template_directory_uri().'/assets/js/bootstrap.js', array( 'jquery' ), '', true);
wp_enqueue_script( 'bootstrap-jquery' );
// register the script
wp_register_script( 'my-script', 'URL to Script' ); // by default script will load to head
// conditionally load page
if (is_page( 'Contact' )) {
wp_enqueue_script('my-script');
}
}
ここにあなたのためのいくつかのトリックがあります
注意:
wp_register_script(); // is only register js file, it is not running
wp_deregiser_script(); // is completely remove js file, it is not Nice method is to use in page condition check
//Run Js
wp_enqueue_script(); // is use only your register js file,
wp_dequeue_script(); // this function make not to run js file, it is Nice method to use in page codition check
Functions.phpファイル内
function js_library() {
//1. Method
if ( is_front_page() ) {
//wp_dequeue_script();
}
//2. Method
if ( is_page(120)) { //120 is page id, you can get page id using using $post->ID or get_the_ID
//wp_dequeue_script();
}
if ( is_page($post->ID) == 120 ) { //120 is your page id
//wp_dequeue_script();
}
if ( is_page('about-us') ) { //about-us is using page slug, you can get page slug http://yourdomain.com/about-us
//wp_dequeue_script();
}
$remove_js_pages = array('about-us', 'contact-us', 'service'); // for multi page slugs
if ( is_page($remove_js_pages) ) { //remember you can get page slug from your page url ;-)
//wp_dequeue_script();
}
//Using page name
$pagename = get_query_var('pagename');
if ( !$pagename && $id > 0 ) {
// If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
$post = $wp_query->get_queried_object();
$pagename = $post->post_name;
}
if ( is_page() == $pagename ) {
//wp_dequeue_script();
}
}