トップページ > ブログ > WordPress > get_postsで特定のカスタムフィールドを基準にソートする

get_postsで特定のカスタムフィールドを基準にソートする

WordPressで記事を特定のカスタムフィールドでソートしたい時にget_postsを使って並び替える方法です。

例えば記事ページにアクセスされるたびにカスタムフィールドに保存して、ループ時にカスタムフィールドでソートすると、PVランキングが実装できます。

Contents

実際のコード

テンプレートタグ/get posts – WordPress Codex 日本語版

<?php
	$args = array(
		'posts_per_page' => 5, // 表示する投稿数
		'orderby' => 'meta_value_num', // メタデータを数値としてソート
		'meta_key' => '[カスタムフィールド名]', // ソートしたいカスタムフィールド名
		'order' => 'DESC' // 降順
	);
	$the_query = get_posts( $args );
	foreach ( $the_query as $post ) : setup_postdata( $post );
?>
	[ループする内容]
<?php
	endforeach;
?>

まとめ

[meta_value_num]を[meta_value]にすると文字列として並び替えることもできるので便利です。