親カテゴリ―ページ内で、子カテゴリーの一覧を画像付きで表示してカタログとして使用したいのですが、うまくいきません。
やりたい事
1.子カテゴリータイトル表示
2.タイトルに子カテゴリーぺージへのリンクをつける
3.子カテゴリー内の最初の記事のサムネイルをイメージ画像として表示
4.サムネイルに子カテゴリーぺージへのリンクをつける
5.商品が登録されていない子カテゴリーは非表示
6.Category Order and Taxonomy Terms Order で並べ替えた順番で表示する
現在試したコードは2パターンで
1つ目の場合1~4はできておりますが5.6がうまく機能しません。
並び順はスラッグ名の昇順になっしまいorderbyが効かない
php
1<?php 2$this_cat_children = get_term_children( $cat, 'category' );//子カテゴリを取得する 3if($this_cat_children): 4foreach($this_cat_children as $children)://子カテゴリのループ開始 5$children_obj = get_category( $children );//子カテゴリの情報を取得 6$name = $children_obj->cat_name;//カテゴリ名を取得 7$category_link = get_category_link( $children );//カテゴリへのリンクを取得 8$args = array( 9 'child_of' => $thisCat->cat_ID, 10 'orderby' => 'term_order', 11 'order' => 'ASC', 12); 13?> 14<div class="list"> 15<span class="title"><a href="<?php echo $category_link;?>"><?php echo $name;?></a></span> 16<?php 17$args = array( 18 'posts_per_page' => 1, 19 'category' => $children, 20 ); 21$myposts = get_posts( $args );//子カテゴリの記事を格納 22foreach ( $myposts as $post ) : setup_postdata( $post );//記事のループ開始 ?> 23<span class="thumbnail"> 24 <a href="<?php echo $category_link;?>"><?php the_post_thumbnail('thumbnail'); ?></a> 25 </span> 26<?php endforeach; //記事のループ終了 27wp_reset_postdata();?> 28 29</div> 30<?php 31endforeach;//子カテゴリのループ終了 32else: 33endif; 34?>
2つ目の場合1.2.5.6ができておりますが、色々追加で試しても3のサムネイルがうまく取得できなかったので、
とりあえずタイトルとリンクのみが表示されている状態です。
php
1<?php 2$args=array( 3'parent' => '67',//親カテゴリーのID 4); 5$term_id = 67;//親カテゴリーのID 6$taxonomy_name = 'category'; 7$termchildren = get_term_children( $term_id, $taxonomy_name ); 8$categories = get_categories($args); 9foreach($categories as $category): 10?> 11 12<li><a href="<?php echo get_term_link( $category, $taxonomy_name );?>"><?php echo $category->cat_name;?></a></li> 13 14<?php endforeach; ?>
1つ目と2つ目が組み合わされば希望の表示ができるのですが、うまくできません。
このコードにかかわらず、別の方法でも構いませんので、ご教授いただけると助かります。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/03 05:07
2020/11/03 05:19
2020/11/03 05:37 編集
2020/11/03 06:18 編集
2020/11/03 06:12
2020/11/03 06:19
2020/11/03 06:49
2020/11/03 06:55
2020/11/03 07:01