【 WordPress 】 特定のページに特定のheaderをつける2つの方法 FirE♯578
先日、以前にコーディングのお仕事をいただいたデザイナーさんから相談がありました。
WordPressの実装で、特定のページのheaderにだけ、JavaScriptのコードを追加したいので、そのやり方を教えてほしい。
という内容でした。
少し調べて方法をお伝えしました。
ここで問題解決のための考え方について自分なりに整理する機会となったので、残しておきます。
【 問題はWordPress特有のもの 】
さて、今回の問題は、WordPress特有のものと言えます。
WordPressでは、header.phpというファイルを作り、
これを各ページのファイルに、<?php get_header( ); ?> というコードで呼び出すという使い方をします。
普通に作っていくとheaderは全ページ共通になるわけです。
今回のように、特定のページにだけ他と違うコードを追加したい場合にはどうするのか?
という問題が出てくるわけです。
【 問題をどう変換するか 】
この問題をどう変換するかで、ググるキーワードが変わります。
■ 方法1
「if文を使って条件分岐させてコードを読み込む。」
この場合の検索ワードは、
”WordPress 条件分岐 特定ページ” などとなります。
そしてこのような方法が導き出されます。
<?php if( is_page('ページID') ) : ?>
指定した固定ページでのみ表示するもの
<?php else: ?>
それ以外のページで表示するもの
<?php endif; ?>
固定ページのIDを判別して、特定のページかどうかを判断します。
if文を使って、条件分岐をします。
特定のページのIDの場合は、特定ページ用のJavaScriptコード読み込む。
そうでない場合は、通常通りとしておきます。
■ 方法2
「特定ページ用のhaeder.phpを作る」
この場合はの検索ワードは、
”WordPress 特定ページ 別ヘッダー” などになります。
この方法では、header.phpという通常のheaderファイルと、
header-特定ページ名.phpという特定ページ専用のheaderファイルの二つを作ります。
仮に、特定ページ用のheaderファイル名を
header-tokutei.php
とします。
そして、この
header-tokutei.phpを、特定ページで呼び出すには、
<?php get_header('tokutei'); ?>
と、get_headerの引数に、'tokutei' を渡します。
【 最適解はいくつもある 】
今回のように、目的を達成する方法は、いくつもあり、「正解」があるというよりは、「最適解」があるというイメージですね。
達成したい問題を、どう解決できそうかを考えて検索すると、
どう解決できそうかの予想に応じた手法が出てきます。
次回からまた同じことをしたい時が来るので、この記事のように、備忘録にしておくと良いでしょう。
【 プロも調べながら? 】
今回、ご相談をいただいたデザイナーさんは制作会社で長年経験を積まれた後に独立された方です。
エンジニアよりはデザインの方に比重を置かれていますが、
業界で長年に渡り継続的に実績を積み重ねられています。
そのようなプロの方でも、「どうやるんだ?」という場面が出てくるんだなと感じました。
そして、わからないことを、すぐに「これどうやるの?」と訊ける姿勢がかっこいいと思いました。
「こんなこと聞いたらアレだよなぁ〜。」などと、考えてしまうことないですか?
私はそういうところがあり、わからないことは、とにかく調べて答えを出します。
しかし、それはクライアントという相手がいて、納期というものがある場合には、時間がかかりすぎる場合があります。
自分の小さい小さい小さい小さいプライドというやつは、クソの役にも立たない。このように強く感じたわけであります。
今後、制作会社や、フリーでの活動で、わからないことが出たら、状況に応じて人に訊くということを意識していきたいと思います。
しかし、それは、緊急時であり、問題解決は自分で行う姿勢は最優先です。
【 まとめ 】
問題解決について書きました。
わからないことを人に訊く姿勢と、
自ら調べて解決する力。
これを、バランスよく持ち、状況に応じて柔軟に使い分けること。
これを意識していきましょう。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?