前回、独自に作ったJavaScriptをfooter.phpで読み込むことに成功した初心者まちるだ。
JavaScriptからCSS変数の値書き換えの成功に歓喜する裏側で、
とある迷いが生じていたのだ・・・
まちるだ
ワトソン
まちるだ
ワトソン
まちるだ
PHPの条件分岐を使う
今回の記事は前回の続きとなりますので、先に読んでいただくと内容がわかりやすいかと思います。
PHPの条件分岐については、こちらのサルワカさんのページで解説されています。
こちらの、「特定のカテゴリーに属する記事ページのみ」のPHPを使用します!
参考 便利なWordPressの条件分岐16パターン:カスタマイズで活躍するものを厳選!サルワカサルワカさんの・・・
<?php if( in_category('カテゴリーID') ) : ?> 指定したカテゴリーに属する記事でのみ表示するものをココに書く <?php else: ?> それ以外のページで表示するものをココに <?php endif; ?>
この部分、指定したページにだけjsを読み込む記述をすればいいので、
<?php if( in_category('カテゴリーID') ) : ?> 指定したカテゴリーに属する記事でのみ表示するものをココに書く <?php endif; ?>
にして使用しようと思います!
前回、CSS変数を適用させたカテゴリIDは「16」が「モンハン」、「33」が「タガタメ」、「43」が「開発」のカテゴリなので、これらの数字をカテゴリーIDの部分に入れて・・・
<?php if( in_category( array('16','33','43') ) ) : ?> 指定したカテゴリーに属する記事でのみ表示するものをココに書く <?php endif; ?>
になりますね。
さて、2行目に何を入れるかといいますと・・・
PHPでecho を唱える
このPHPのechoという記述、いじっていない状態のバズ部のPHP内にもよく見かける、かなり一般的で重要な記述みたいですね!覚えておこう!
意味は、文字列を出力する という命令文ですね。至極シンプル!
じゃなにを出力しますか?ってことで、前回footer.php部分に記述した部分を出力したい!と。それがこちら。
<script type="text/javascript" src="https://sekkakudakara.com/wp-content/themes/xeory_base-child/myscript.js"></script>
はい。2行目にこれを入れて、それをfooter.phpで上記の一文と差し替えればおっけい!!
あれ?echo使って無くない?ですと?
よくぞお気づきで・・・せっかくPHP使うなら、もうちょっと工夫しましょうか?
PHPでスタイルシートを読み込むために
ってことで「get_stylesheet_directory_uri」という関数を使用しますぞ!!
ちなみに上記を使用すると、自分でいうと、「https://sekkakudakara.com/wp-content/themes/xeory_base-child」という、使用しているテーマの階層を文字列として取得することができます!
ちなみに、親テーマの方を取得したい場合は、「get_template_directory_uri」にするそうです。
詳しくはこちら
参考 関数リファレンス/get stylesheet directory uriWordPress Codex 日本語版
ところでuriってなに?って感じなんですが、こちらはみんなの頼れるヒーロー、WEB担さんでめっちゃわかりやすく説明してくださってます!
参考 URLとURIは何が違うの? どちらが正しい呼び方?Web担当者Forum
さてさて。get_stylesheet_directory_uriで階層を取得して、echoで出力するだけ!完成形はこちら!
<?php if( in_category( array('16','33','43') ) ) : ?> <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/myscript.js" ></script> <?php endif; ?>
こんな感じになりましたよ!
これで特定のカテゴリの記事だけ、jsを読み込むようになります!
まとめ
まちるだ
ワトソン
まちるだ
ワトソン