サポート » 使い方全般 » 子タームのアーカイブの時に条件分岐

  • 解決済 under0123

    (@under0123)


    どうも

    カスタム投稿タイプ(店舗)
    地域タクソノミー
    –都道府県(親ターム)
    —-市区町村(子ターム)
    ——店舗詳細ページ

    上記のような構造で
    現在、それぞれのアーカイブを全部同じテンプレで賄っております。

    カレントの階層のアーカイブの時にはリンクを外し
    その他のアーカイブの時にはリンクをつけたい
    (都道府県アーカイブの時には市区町村と店舗一覧部分にリンクをつけ、
    市区町村アーカイブ表示時には都道府県と店舗ページの一覧部分にのみリンク)

    !is_tax();とis_tax();でタクソノミーと親タームでの分岐はできたのですが、
    子タームで分岐というのがわからず、調べても私の現在の力量では理解できない状況です。

    表示中のアーカイブが子タームのものかどうか調べられればよいのではと思うのですが、その方法がわかりません。
    子ターム(市区町村)で条件分岐するにはどう記述すればよいのでしょうか?

    不勉強でまことに恐縮なのですがご教授いただけましたら幸いです。
    よろしくお願い申し上げます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 under0123

    (@under0123)

    ※追記

    タクソノミーアーカイブ、親タームアーカイブの分岐も
    かなり無理矢理な気もするので、よりよいやり方をご存じでしたら
    あわせてご指摘いただければ幸いです。

    検証していませんが、こんな感じでしょうか。

    if ( is_tax( タクソノミーのスラッグ ) ) {
      // タクソノミー(ターム)アーカイブ
      $termslug = get_query_var( 'term' );
      if ( empty( $termslug ) ) {
        // タームが指定されていない
      } else {
        $myterm = get_term_by( 'slug', $termslug, タクソノミーのスラッグ );
        if ( false === $myterm ) {
          // タームが存在しない
        } else {
          if ( 0 == $myterm->parent ) {
            // 親ターム
          } else {
            // 子ターム
          }
        }
      }
    }
    

    https://wpdocs.osdn.jp/関数リファレンス/is_tax
    https://wpdocs.osdn.jp/関数リファレンス/get_query_var
    https://wpdocs.osdn.jp/関数リファレンス/get_term_by

    • この返信は7年、 1ヶ月前にgblsmが編集しました。
    • この返信は7年、 1ヶ月前にgblsmが編集しました。
    トピック投稿者 under0123

    (@under0123)

    返答が遅くなりまして、申し訳ございません。

    お教えいただきましたソースを参考に、
    望む仕様が実現できました

    お時間を割いていただきまして、ありがとうございました。

    トピック投稿者 under0123

    (@under0123)

    〆させていただきます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「子タームのアーカイブの時に条件分岐」には新たに返信することはできません。