「WordPress でサムネイルが存在する記事だけ一覧で表示したい」という相談を受けました。
普通に考えると以下のように has_post_thumbnail() を使って条件分岐すれば良さそうですが、これだと1ページに表示される記事数がバラバラになってしまいます。
また、ページネーションも上手く行きません。
(サムネイルが無い記事もページネーションの対象になってしまい、空白ページができてしまう)
<?php if(have_posts()): while(have_posts()): the_post(); ?> <?php if ( has_post_thumbnail() ) {?> --内容-- <?php } ?> <?php endwhile; endif; ?>
こんな時は posts_where フィルターフックを使って、投稿を取得する際の条件文を変更してやりましょう。
続きを読む