サポート » 使い方全般 » taxonomy.phpで親タームのスラッグを取得する方法を教えてください。

  • 解決済 greon999

    (@greon999)


    taxonomy.phpで親タームのスラッグを取得する方法を教えてください。

    $term_var = get_query_var( ‘term’ );
    で現在表示されているタームは取得できるのですが、例えばタームが
    東京都
     -新宿区
     -渋谷区
    という親子関係を持っていた場合、新宿区や渋谷区を選択した際でも東京都のスラッグを取得したいのです。
    タームIDではなく、スラッグで取得する必要があります。

    よろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    get_queried_object を使うと、タームのオブジェクトが取得できます。
    単に親であれば、このオブジェクトの parent に親タームのIDが入っていますので、これを get_term に渡して、親タームのオブジェクトを取得してください。

    階層が複数となる場合は、get_ancestors を使って、祖先を全て取得する必要があります。

    スレッド開始 greon999

    (@greon999)

    >jim912さん

    ありがとうございます!
    出来ました!!

    今回は単に親のみ取得したかったので、以下のような形で目的のものを取得できました。

    /*親ターム情報取得*/
    $parent = get_queried_object();
    $parent_id = $parent->parent;
    $parent_taxonomy = $parent->taxonomy;

    /*親ターム情報からスラッグを取得*/
    $parent_element = get_term($parent_id,$parent_taxonomy);
    $parent_slug = $parent_element->slug;

    そして取得した親スラッグを

    $args = array(
    ‘term’ => $parent_slug, //子タームの場合、親タームを代入
    );

    というような形で使って、期待通りの動作になりました。
    誠にありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「taxonomy.phpで親タームのスラッグを取得する方法を教えてください。」には新たに返信することはできません。