そういえばこんな機能あったな、と思って使ってみた。
特別設定が必要なわけじゃないのかなー、という感じです。
上記は投稿一覧のページです。特に設定した覚えはないんですが、投稿の一覧のページでは先頭に表示されていました(右サイドのRecentが本来の投稿順の記事の並びです)。メインクエリだと特に何も設定しなくても使えるのかなあ、という感じです。
先頭に固定した記事が複数あるとどうなんかな。
ですが、フロントページで、get_posts()とかで記事を呼び出すときとかは、先頭に固定したからといってそれが反映されるわけではないです。
なんかもうちょっといい方法があるような気がしますが、とりあえず、最初に「先頭固定表示の記事のみ」を表示して、そのあとに「先頭に固定表示の記事以外」の記事を呼び出している、という感じにしました。
<ul class="front-news-list"> <?php $sticked_posts = get_posts( array( 'post__in' => get_option( 'sticky_posts' ), 'posts_per_page' => -1 , 'post_type'=> 'post') ); foreach ( $sticked_posts as $post ) : setup_postdata( $post ); ?> <li class="list-item sticked-item"><time class="date"><?php the_time('Y-m-d');?></time><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li> <?php endforeach; wp_reset_postdata();?> <?php $args = array( 'post__not_in' => get_option( 'sticky_posts' ), 'posts_per_page' => 5 , 'post_type'=> 'post') ; $myposts = get_posts( $args ); foreach ( $myposts as $post ) : setup_postdata( $post ); ?> <li class="list-item"><time class="date"><?php the_time('Y-m-d');?></time><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li> <?php endforeach; wp_reset_postdata();?> </ul>
実際の表示は下記の感じです。
参考になればと〜。