「先頭に固定表示」をすると総数がずれてしまう時の対処法

当ページのリンクには広告が含まれています。

この記事は2019年以前他サイトに執筆したものを引越し掲載しています。情報が古い可能性があります。

WPサイトトップページで「お知らせ」を表示する際「先頭に固定表示」を使いたいという場合。

今回の事例としては、もともと最新記事から4件を表示していましたが、ずっと固定で掲載したいものが1件あるというケース。

この場合「先頭に固定表示」を単に有効にするだけだと、書き方によって以下のような問題が発生してしまう可能性がある。

  • 表示したい合計記事数が増えてしまう…(例:「先頭に固定」1+最新4で表示数が5)
  • 同じ記事がダブって表示される…(「先頭に固定」した記事が最新3記事内だと同じ記事がダブって表示される)
目次

考え方と手順例

1.先頭固定記事のみを取得する

'post__in'=> get_option( 'sticky_posts' )

2.「先頭に固定表示」以外のnewsカテゴリの記事を取得する。これによりダブって同じものが表示されるケースを無くす。

'post__not_in' => get_option( 'sticky_posts' )

3.設定が全部で4記事表示なら’posts_per_page’=4だがこのままだと「先頭に固定表示」分だけ数が増えてしまうので引き算

引き算の方法

1.countを使って「先頭固定記事」の数($posts)を取ってくる

$fixed=count($posts)

2.表示したい合計数(例:4)から引く

$list_count = 4-$fixed

3.結果を固定以外のnewsカテゴリの記事の配列に入れる

'posts_per_page' => $list_count
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次