WordPressで「ブログのトップに固定」だけを取得する WP_Query

1 min読了の目安(約700字TECH技術記事

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 があるので、このパラメータに、「ブログのトップに固定」をした記事を渡してやれば、「ブログのトップに固定」をした記事だけを表示できます。

こうすることで、「ブログのトップに固定」をした記事だけを表示できました。