サポート » 開発版 » カスタムタクソノミー一覧の並び替え制御

  • カスタムタクソノミーで親と子のターム関係をもたせ利用しています。

    現在、archive.phpで子タームのみ出力されるようget_termsとforeachで設定できたところまではいいのですが、各子タームに紐づく投稿記事があり(1記事に1タームのみ紐づけ)、記事が新しく投稿された場合、archive.phpで出力されているその子タームリストを、更新された順に並び替えされるよう制御したいのですが、
    どのような方法がありますでしょうか?

    【カスタムタクソノミーの構造】
    A:大型機器(親)
     -商品名1(子)
     -商品名2(子)
     -商品名3(子)

    B:小型機器(親)
     -商品名1(子)
     -商品名2(子)
     -商品名3(子)

    C:小型機器(親)
     -商品名1(子)
     -商品名2(子)
     -商品名3(子)

    【コード】
    <ul class=”cntList01″>
    <?php
    $oya_term = get_terms(‘impression_product’,’orderby=id’);
    foreach ( $oya_term as $oya ) {
    $ko_term = get_terms(‘impression_product’,’hierarchical=0&parent=’.$oya->term_id);
    if($ko_term){
    foreach ( $ko_term as $ko ) {
    echo ‘

    ‘;
    echo ‘term_id ).’”>’;
    echo ‘<div class=”cat-group ‘ .$oya->slug. ‘”>’ . esc_html($oya->name) . ‘</div>’; ?>
    <?php
    $args = array(
    ‘post_type’ => ‘impression’,
    ‘posts_per_page’ => 1,
    ‘tax_query’ => array(
    array(
    ‘taxonomy’ => ‘impression_product’,
    ‘field’ => ‘slug’,
    ‘terms’ => $ko->slug
    )
    )
    );
    $date_post = get_posts($args);
    foreach($date_post as $post) : setup_postdata( $post ); ?>
    <?php
    $days = 30; //Newを表示させたい期間の日数
    $today = date_i18n(‘U’);
    $entry = get_the_time(‘U’);
    $kiji = date(‘U’,($today – $entry)) / 86400 ;
    if( $days > $kiji ){echo ‘<div class=”new”>新着情報あり!</div>’;} ?>
    <?php endforeach; ?>
    <?php wp_reset_postdata(); ?>
    <div class=”thumnail01″>
    <?php //ACFでアップした子タームに紐づくサムネイル画像の出力
    $term_idsp = ‘impression_product_’.$ko->term_id;
    $photo = get_field(‘indexthumb’,$term_idsp);
    $photosp = wp_get_attachment_image_src($photo, ‘impression_thumb’);
    echo ‘‘;
    ?>
    </div>
    <?php
    echo ‘<div class=”txtBox01″>’;
    echo ‘<p class=”ptoduct-stit”>’ . esc_html($ko->description) . ‘</p>’;
    echo ‘<p class=”ptoduct-tit”>’ . esc_html($ko->name) . ‘</p>’;
    echo ‘</div>’; ?>
    <?php }
    }
    echo ‘‘;
    echo ‘
    ‘;
    }
    ?>

    php、wordpressともに初心者で、うまくお伝えできていないかもしれませんが、
    タームのリストを、紐づく記事の公開日順に自動的に並び替えされるようにしたいということです。

    どなたかお分かりになる方いらっしゃいましたら、どうぞよろしくお願いいたします。

    • このトピックはmylandshe_sが6年、 11ヶ月前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 【コード】は archive.php の中身でしょうか?
    貼り付けたコードの途中が何箇所か消えていますので、
    直接貼る代わりに、例えば gist.github.com というサイトに貼り付けて URL を取得し
    その URL をこちらへ貼っていただければと思います。

    参考: Gistの使い方
    http://childhooddream.sakura.ne.jp/2017/01/08/gistの使い方/

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムタクソノミー一覧の並び替え制御」には新たに返信することはできません。