カスタムタクソノミー一覧の並び替え制御
-
カスタムタクソノミーで親と子のターム関係をもたせ利用しています。
現在、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ともに初心者で、うまくお伝えできていないかもしれませんが、
タームのリストを、紐づく記事の公開日順に自動的に並び替えされるようにしたいということです。どなたかお分かりになる方いらっしゃいましたら、どうぞよろしくお願いいたします。
- トピック「カスタムタクソノミー一覧の並び替え制御」には新たに返信することはできません。