サポート » 使い方全般 » カスタム投稿の一覧で親と子のタイトルを分岐をしたい

  • 解決済 minoritydog

    (@minoritydog)


    カスタム分類にて下記の様に階層化しております。

    A・・・親(スラッグ smp01)
    a1・・・Aの子1(スラッグ smp01a)
    a2・・・Aの子2(スラッグ smp01b)

    B・・・親(スラッグ smp02)
    b1・・・Bの子1(スラッグ smp02a)
    b2・・・Bの子2(スラッグ smp02b)

    一覧を表示した時に
    親と子のタイトルが同じ仕様になって違いが分からないので
    親のタイトルはh1、子のタイトルはh2といった分岐をしたいのです。

    現在、下記のようなループで一覧表示しております。

    <?php if (have_posts()) : /* ループ開始 */
    while (have_posts()) : the_post(); ?>
    
    <h1><?php the_title();?></h1>
    
    <?php the_content();?>
    
    <?php endwhile;
    else : ?>
    <h3>Not Found</h3>
    <?php endif; /* ループ終了 */ ?>

    固定ページでは、親と子ページの分岐について見つけられたのですが
    カスタム投稿についてはどうしても見つけられませんでした。

    どなたか解決策をご教授いただけますでしょうか。
    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • <h1><?php the_title();?></h1>

    printf(
      '<h%1$d>%2$s</h%1$d>',
      ( wp_get_post_parent_id( get_the_ID() ) ? 2 : 1 ),
      get_the_title()
    );

    にすれば OK

    トピック投稿者 minoritydog

    (@minoritydog)

    ご連絡ありがとうございます。

    早速、設定してみたのですが、親と子のタイトルとも
    h1タグで表示されてしまいます。

    カスタム投稿の一覧には
    archive.phpのテンプレートを使用しております。
    これが何か問題なのでしょうか?

    カスタム分類にて下記の様に階層化

    カスタム投稿タイプを「階層あり」にしてるのではないんですね!わぉ
    以下でいかがでしょう。

    $terms = get_the_terms( $post, 'カスタム分類の名前' );
    $term  = reset( $terms );
    $pid   = wp_get_term_taxonomy_parent_id( $term->term_id, 'カスタム分類の名前' );
    printf(
      '<h%1$d>%2$s</h%1$d>',
      ( $pid ? 2 : 1 ),
      get_the_title()
    );

    ※例外処理は省略しています。

    トピック投稿者 minoritydog

    (@minoritydog)

    ありがとうございます。
    上記設定にて、分岐することができました。
    本当に助かりました。

    階層ありでも、後ほど試してみたいと思います。
    設定時に階層をfalseでしか今まで使ったことがなかったので・・・。

    今回はご対応感謝しております。
    まだまだ勉強不足のことが多いので、何かありましたら
    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿の一覧で親と子のタイトルを分岐をしたい」には新たに返信することはできません。