💭
WordPressで「ブログのトップに固定」だけを取得する WP_Query
WordPressで「ブログのトップに固定」だけを取得したかったのでメモ。
ブログのトップに固定 - WordPressの標準機能
WordPressの標準機能で、「ブログのトップに固定」があります。特定の投稿を目立たせたい場合に便利です。
弊社のウェブメディア ブックレコメンド では、「ブログのトップに固定」機能を使って、課題本の書評レビューをピックアップ表示しています。
「ブログのトップに固定」だけを表示したい
デフォルトだと、ブログのトップページには、「ブログのトップに固定」をした記事+新着記事、が表示されます。
→「ブログのトップに固定」をした記事だけを表示したかったので、下記のように WP_Query を使いました。
$args = [
'post__in' => get_option( 'sticky_posts' ), // 先頭固定表示の投稿のみを指定
'posts_per_page' => 3, // 件数の設定
];
$the_query = new WP_Query($args);
// 以下は省略
「ブログのトップに固定」をした記事は、WordPressのオプションテーブルに保存されています。なので、get_option( 'sticky_posts' )
で取得できます。
→ WP_Query のパラメータに post__in
があるので、このパラメータに、「ブログのトップに固定」をした記事を渡してやれば、「ブログのトップに固定」をした記事だけを表示できます。
こうすることで、「ブログのトップに固定」をした記事だけを表示できました。
Discussion