サポート » 使い方全般 » wordpressの条件分岐について

  • 解決済 qawp

    (@qawp)


    wordpressの条件分岐について質問です。
    当方wordpress、PHP初心者です。

    用語など間違っていたら申し訳ありません。

    <head>内で「hogehoge01.js」と「hogehoge02.js」を特定の条件分岐させたいのですが、
    以下の様に記述すると思ったように反映されません。

    //トップページにのみ表示
    <?php if(is_home() && !is_paged()): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge01.js”></script>

    //固定ページ「single01」のみ表示
    <?php elseif(is_page(single01)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カスタム投稿「cate01」のみ表示
    <?php elseif( is_post_type_archive(cate01)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カスタム分類「catecate01」のみ表示
    <?php elseif( is_tax(catecate01)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //固定ページ「single02」のみ表示
    <?php elseif( is_page(single02)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カスタム投稿「cate02」のみ表示
    <?php elseif( is_post_type_archive(cate02)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カスタム分類「catecate02」のみ表示
    <?php elseif(is_tax(catecate02)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カテゴリー「blog」のみ表示
    <?php elseif(in_category(blog)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //カスタム分類「cate02」に属する記事のみ表示
    <?php elseif(is_object_in_term(cate02)): ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge02.js”></script>

    //上記条件以外表示
    <?php else: ?>
    <script type=”text/javascript” src=”<?php bloginfo(template_directory); ?>/js/hogehoge01.js”></script>

    <?php endif; ?>

    以上のように記述すると、一番下が読みこまれません。

    下から2番目の
    <?php elseif(is_object_in_term(cate02)): ?>
    の記述を取り除くと読み込みますが、
    当然2番目の指定は読み込まれません。

    もっとスマートな記述の方法もあるとは思うのですが、
    現状の知識ではこれが限界です。

    お分かりの方、どうぞご教授ください。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 引数が"で囲まれてないのが気になりましたが一応動いてると言うことなので実際は囲ってますよね?

    is_object_in_termは使い方が間違ってます。

    <?php elseif(is_single()&&is_object_in_term(get_the_ID(),"cate02")): ?>

    これでも違うかもしれませんが……

    なおスクリプトを使う場合はfunctions内でwp_enqueue_scriptを使用するのが推奨されます。

    トピック投稿者 qawp

    (@qawp)

    Hinaloeさんありがとうございます!

    教えていただいたソースで動きました!!

    >なおスクリプトを使う場合はfunctions内でwp_enqueue_scriptを使用するのが推奨されます。

    そうなんですね。一度調べてやってみます。

    本当に助かりました。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「wordpressの条件分岐について」には新たに返信することはできません。