サポート » 使い方全般 » 投稿記事の孫カテゴリのみ表示

  • 解決済 sasakure_san

    (@sasakure_san)


    現在カテゴリの構造が下記のようになっております。

    【親】 全てのメーカー id=2
    ┗ 【子】 メーカー名① id=22
     ┗ 【孫】 ブランド名① id=222
     ┗ 【孫】 ブランド名② id=224
    ┗ 【子】 メーカー名② id=44
     ┗ 【孫】 ブランド名③ id=444
     ┗ 【孫】 ブランド名④ id=446

    一つの投稿に【子】【孫】は各一つだけ選択します。
    また【孫】は直属の【子】からのみ選択するものとします。
    ※「メーカー名①」の場合は「ブランド名①」「ブランド名②」からのみ孫が選択可能

    この場合、投稿に属する【子】メーカー名を取得する際、下記のコードで表示することができました。

    <?php $categorys = get_the_category( $post_id );
    foreach($categorys as $category){
    if($category->parent==2):
    echo 'メーカー名:<a href=' . get_term_link($category->slug,'category') . '>' . $category->name . '</a>';
    endif;
    }; ?>

    しかし、孫カテゴリのみ取得する方法が解りません。
    if($category->parent==2):
    上記の’2’の箇所に子カテゴリのIDを代入できれば良いと思うのですが
    具体的なコードが記述できない状況です。

    PHP初心者の為、大変困っております。
    どなたかお知恵をお貸しいただけませんでしょうか。

    何卒よろしくお願い申し上げます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • ishitaka

    (@ishitaka)

    カテゴリの親の親をチェックすればいいのかな?
    その場合は下記のコードでどうでしょうか。

    foreach のループ内に記述してください。

    $parent = get_term( $category->parent, 'category' );
    if ( !is_wp_error( $parent ) && $parent->parent == 2 ) {
    	echo 'ブランド名:<a href=' . get_term_link( $category->slug, 'category' ) . '>' . $category->name . '</a>';
    }
    トピック投稿者 sasakure_san

    (@sasakure_san)

    ishitaka様

    早速のご返信誠にありがとうございます。
    いただきましたコードを元に試してみたところ
    無事、理想通りに表示することができました!!!

    <?php $categorys = get_the_category( $post_id );
    	foreach($categorys as $category){
    		$parent = get_term( $category->parent, 'category' );
    			if ( !is_wp_error( $parent ) && $parent->parent == 2 ):
    			echo 'ブランド名:<a href=' . get_term_link( $category->slug, 'category' ) . '>' . $category->name . '</a>';
    			endif;
    	};
    ?>

    if ( !is_wp_error( $parent ) && $parent->parent == 2 ):

    こちらの箇所がどのような動きをしているのか、またこちらで調整した
    コードが正しいのか、現段階では正直なところ理解できておりませんので
    これからしっかりと勉強したいと思います。

    この数日間、一人で悩んでいたことがすっかり解消しました。
    本当に感謝してもしきれません!
    ishitaka様、この度は本当にありがとうございました!

    トピック投稿者 sasakure_san

    (@sasakure_san)

    トピックを閉じさせていただきます。
    ありがとうございました!

    oisit

    (@oisit)

    解決済に蛇足だが、この場合カスタム分類メーカーとカスタム分類ブランドの方がいいのでは。
    とくに一投稿にひとつづつならなおさら。

    トピック投稿者 sasakure_san

    (@sasakure_san)

    oisit様

    ご投稿ありがとうございます。
    カスタム分類は以前使用したことがあったのですが
    今回は全く頭にありませんでした…。

    カスタム分類を再度調べてみましたが、仰られる通り
    こちらのほうが良いですね。単純なチェックミスも
    防げますし。
    改めて勉強し、導入を検討させていただきます。

    oisit様には以前にも貴重なアドバイスをいただいておりますね。
    いつも初心者にお付き合いいただき、本当にありがとうございます。
    今後ともなにとぞよろしくお願い申し上げます。

    oisit

    (@oisit)

    でしゃばりなだけですがw
    こちらこそよろしく。
    ご健闘をお祈りします。

    トピック投稿者 sasakure_san

    (@sasakure_san)

    朝からほっこりしました!ありがとうございます!!!
    これからも是非でしゃばっていただけると嬉しいですw
    今後とも何卒よろしくお願い申し上げます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「投稿記事の孫カテゴリのみ表示」には新たに返信することはできません。