メニュー

【WordPress】REST APIでorderbyを有効にする方法

WordPressのRest APIで記事をランダムに取得する場合、functions.phpに追加設定が必要。

// Rest APIでorderbyを有効にする
function custom_api__random( $params ) {
  $params['orderby']['enum'][] = 'rand';
  return $params;
}
add_filter( 'rest_post_collection_params', 'custom_api__random', 10, 1 );

WordPress標準の投稿機能ではなく、例えばカスタム投稿「news」の記事をランダムに取得したい場合には、「rest_news_collection_params」と指定する。

ランダムに記事を1件取得したい場合は、以下のようにアクセスすること。

/wp-json/wp/v2/posts?orderby=rand&per_page=1