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]にすると文字列として並び替えることもできるので便利です。