get_postsを使って記事一覧を表示していました。
いつもカスタム投稿タイプで作ったコンテンツだったので気づかなかったんですけど、「投稿」で作成した記事一覧をget_postsで出していると、「この投稿を先頭に固定表示」が効かないなとある日気づきました。
なんでや。
さっそく検索してみるとこちらの記事にget_posts関数だと先頭位置固定を無効にすると書いてあって、WP_Queryを使うと書かれていました。
さっそくそちらに変更したらちゃんと動いたのでメモです。
ありがとうございました。
get_postsだった時
<ul>
<?php global $post;
$args = array( 'posts_per_page' => -1, 'post_type'=> 'post');
$myposts = get_posts( $args );
foreach ( $myposts as $post ) :
setup_postdata( $post );
$cat = get_the_category();
$cat = $cat[0]; ?>
<li><?php echo get_post_time('Y/m/d'); ?><span class="<?php echo $cat->category_nicename; ?>"><?php echo $cat->cat_name; ?></span><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li>
<?php endforeach;
wp_reset_postdata(); ?>
</ul>
WP_Queryに変更した後
<ul>
<?php $the_query = new WP_Query( 'posts_per_page=-1&post_type=post' );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
$cat = get_the_category();
$cat = $cat[0]; ?>
<li><?php echo get_post_time('Y/m/d'); ?><span class="<?php echo $cat->category_nicename; ?>"><?php echo $cat->cat_name; ?></span><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li>
<?php endwhile;
endif;
wp_reset_postdata(); ?>
</ul>
表示されるHTML
<ul> <li>【記事公開日】<span class="【カテゴリースラッグ】">【カテゴリー名】</span><a href="【記事URL】">【記事タイトル】</a></li> </ul>
コメントを残す