以前、「WPでカスタム投稿のターム順に投稿を表示させたい」で質問させていただいたものです。
https://teratail.com/questions/78968
その節は、ご回答いただきました方の助言で、うまく処理が回って大変助かりました。ありがとうございました。
今更なのですが、その処理が、よくよく見たら、一箇所うまく動いていないことに気づきました。
ソースは前回の質問のときにもつけているのですが、再掲で申し訳ありません。
ソース自体は少し長いですが、動かない箇所はソース内の随分下のあたりにある下記の箇所です。
<p><?php echo get_the_excerpt($tax_post->ID); ?></p> 動かすと<p></p>になり、何も表示しません。ほぼ同様の記述である
<p><?php echo get_the_title($tax_post->ID); ?></p> については、ちゃんとtitleを表示します。【試したこと】
get_the_content($tax_post->ID)にしてみたり、the_excerpt($tax_post->ID)にしてみたりしたのですが、結果は一緒で何も表示されません。
ググっていくと、カスタム投稿ではthe_excerpt/get_the_excerpt等は効かないという個人ブログもあったのですが、きっと取る方法はあると思います…が、手がかりとなる情報に到達できていない状況です。
ヒントなどあればぜひご教授いただけるとありがたいです。
PHP
1<?php 2 3$args = array( 4'parent' => 0, 5'hierarchical' => 0, 6'orderby' => 'term_order', // Category Order and Taxonomy Terms Order を使用 7'order' => 'ASC' 8); 9 $taxonomy_name = 'season'; 10 $taxonomys = get_terms($taxonomy_name,$args); 11 if(!is_wp_error($taxonomys) && count($taxonomys)): 12 foreach($taxonomys as $taxonomy): 13 $url = get_term_link($taxonomy->slug, $taxonomy_name); 14 $tax_posts = get_posts(array( 15 'post_type' => get_post_type(), 16 'posts_per_page' => -1, // 表示させたい記事数 17 'tax_query' => array( 18 array( 19 'taxonomy'=>'season', 20 'terms'=>array( $taxonomy->slug ), 21 'field'=>'slug', 22 'operator'=>'IN' 23 ), 24 'relation' => 'AND' 25 ) 26 )); 27 if($tax_posts): 28?> 29 <h2 id="<?php echo esc_html($taxonomy->slug); ?>" class=""><a href="<?php echo $url; ?>"><?php echo esc_html($taxonomy->name); ?></a></h2> 30 31 <?php foreach($tax_posts as $tax_post): ?> 32 33 <article id="post-<?php the_ID(); ?>" <?php post_class('topNews Block'); ?>> 34 <div class="topImg"> 35 <a href="<?php the_permalink(); ?>"> 36 <?php if (has_post_thumbnail($tax_post->ID)): ?> 37 <?php echo get_the_post_thumbnail($tax_post->ID,'thumbnail'); ?> 38 <?php else: ?> 39 <img src="<?php echo get_template_directory_uri(); ?>/img/noimage_180x180.png" alt=""> 40 <?php endif; ?> 41 </a> 42 </div> 43 <div class="topText"> 44 <a href="<?php echo get_the_permalink($tax_post->ID); ?>"> 45 <h3><?php echo get_the_title($tax_post->ID); ?></h3> 46 <p><?php echo get_the_excerpt($tax_post->ID); ?></p> 47 <time datetime="<?php echo get_the_time('Y-m-d',$tax_post->ID); ?>"><?php echo get_the_time('Y年m月d日(l)',$tax_post->ID); ?></time> 48 </a> 49 </div> 50 </article> 51 52 <?php endforeach; ?> 53 54<?php 55 endif; 56 endforeach; 57endif; 58?>
回答1件