フッターにGoogleマップのAPIをロードします。しかし、連絡先のページでは、私はグーグルマップAPIを使用しました。今私はコードを作りたいです。グーグルマップAPIは連絡先テンプレートページにのみロードされます。どのように私はそれをすることができます。
これはフッター内のスクリプトタグです。
<script type="text/javascript" src="//maps.google.com/maps/api/js?v=3&sensor=false"></script>
そのスクリプトタグ。テンプレート連絡先ページにのみロードする必要があります。
助けてくれてありがとう
最初にちょっとしたアドバイス(解決策がそれに基づいているので) - 常にあなたのスクリプトを「エンキュー」し、単にそれらをフッターに追加しないでください。 たとえばこれを読んでください 。これが特定のテンプレートにスクリプトをロードするための解決策です。
function enqueue_themescrits()
{
if ( is_page_template('contact.php') ) { //the file your contact page uses
wp_register_script( 'google_maps', 'http://maps.google.com/maps/api/js?v=3&sensor=false' );
wp_enqueue_script( 'google_maps' );
}
//Your other enqueued scripts
}
add_action( 'wp_enqueue_scripts', 'enqueue_themescrits' );
編集:これを関数に追加してください。php
WordPressに "コンディショナルタグ" があります。これらは、何らかの条件が満たされているかどうかを判断することを可能にします(基本的にこれらはパブリックAPI関数でラップされた$wp_query
オブジェクトの一部です)。
詳しくは、 is_page()
があります。これは、目的のページにいないかどうかを示しています。
それで単にそれを関数にラップして、正しいフックでフックして、あなたが望ましいページにいないならば中止してください。
以下はfunctions.phpファイル(または小さなカスタムプラグイン)に入ります。
/** Plugin Name: Register Google Maps Script */
function wpse65356_enqueue_gmaps()
{
if ( ! is_page( 'contact' ) )
return;
wp_enqueue_script(
'google-maps'
,'maps.google.com/maps/api/js?v=3&sensor=false'
,array()
,0
,true
);
}
add_action( 'wp_enqueue_scripts', 'wpse65356_enqueue_gmaps' );
Javascript(およびcss)は wp_enqueue_script
で追加する必要があります。
スクリプトを登録 しますが、まだfunctions.php
にエンキューしないでください。
wp_head()
の前に、連絡先テンプレートページのエンキューを呼び出します。
これは、get_header()
の前のheader.php
に配置する必要があります。
registering
とqueueing
は、最初は混乱を招くので、良い チュートリアルです