必要ページにだけヘッダー情報をロードする

ヘッダ画像

ページ毎のスクリプトなど追加するヘッダー情報を指定ページのみに出力

以前にメールフォームプロCGIのWordPressでの設置方法を書きました。
前回までの内容ではCGIでプログラムに必要なスクリプトの読み込みをヘッダテンプレート内に記述するため、例えばフォームが必要なのはお問い合わせのページだけだったとしても、トップページその他不必要なページにまで書き出してしまいます。

表示速度やクローラビリティを考えるとヘッダ内はシンプルにしたいものです。

プログラムに必要な記述を整理する

メールフォームプロCGIには以下のCSSとjsが必要です。

<link rel="stylesheet" href="http://example.com/cgi/mailformpro/commons/mailform.css" type="text/css" />
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/jquery.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mfp.lang.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mfp.extensions.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mailform.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/postcodes/get.cgi" id="mfp2zip" charset="UTF-8"></script>

これをheader.phpに書き加えると、当然、すべてのページに出力されてしまいます。

必要なページのみにロードする

該当ページのカスタムフィールドを使うなど、いろんな方法があるのですが、今回は直感的に分かりやすくheader.phpに記述します。
その上でPHPのif文(条件分岐)を使って指定ページにのみ出力してしたいと思います。

<?php if(is_page(array('form','392'))): ?>
<link rel="stylesheet" href="http://example.com/cgi/mailformpro/commons/mailform.css" type="text/css" />
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/jquery.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mfp.lang.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mfp.extensions.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/commons/mailform.js" charset="UTF-8"></script>
<script type="text/javascript" src="http://example.com/cgi/mailformpro/postcodes/get.cgi" id="mfp2zip" charset="UTF-8"></script>
<?php endif; ?>

一番最初の('form','392')はページスラッグformとページID=392のときに以下を読み込むという指示になります。スラッグとIDどちらでも指定できます。

プラグインでは多くの場合はwp_headで読み込まれるので、こういった制御はできませんが、自分でhead内にカスタマイズして出力させる、かつ、特定ページにしか必要ないという状況では重宝すると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



関連記事

WordPressのユーザー名は丸見え!? 知っていますか?WordPressのログインユーザー名はだだ漏れだという事実を...ダッシュボード乗っ取り防止のためのセ...

絶対に分かる!WordPressの子テーマ作成 WordPressでは子テーマという機能があります。既存のテーマを作成すれば、カスタマイズする際に変更したい部分だけを子...

WordPressのRSSフィードを完全にコントロールする WordPressではコンテンツの更新情報を知らせるために標準でRSSを出力します。その出力方法は...http://e...

「トップに戻る」ボタンでスマホでのユーザビリティアップ! ウェブサイト上でコンテンツを下にスクロールさせると「トップに戻る」ボタンが出現して、クリックするとビューンとページの初め...