ドキュメントを読み、WP-API Github リポジトリで問題を調べて投稿した後filter[ignore_sticky_posts]
、期待される並べ替え動作を切り替える必要があることが明らかになりましたfilter[ignore_sticky_posts]=true
。
ただし、現在 WP APIにはfilter[ignore_sticky_posts]
フラグを使用できないバグがあります。
これを修正する最善の方法は、独自のカスタム エンドポイントを作成して、データベース内のすべての固定投稿のデータまたは ID を取得することです。このスレッドとWP-API ドキュメントで説明されているコードを見ると、次のコードを に追加するとうまくいくと思いますfunctions.php
。
// Sticky posts in REST - https://github.com/WP-API/WP-API/issues/2210
function get_sticky_posts() {
$posts = get_posts(
array(
'post__in' => get_option('sticky_posts')
)
);
if (empty($posts)) {
return null;
}
return $posts;
}
add_action( 'rest_api_init', function () {
register_rest_route( 'THEME_NAME/v1', '/sticky', array(
'methods' => 'GET',
'callback' => 'get_sticky_posts',
));
});
GET
/wp-json/THEME_NAME/v1/stickyの場合、すべてのスティッキー投稿の配列を取得する必要があります。
これが役立つことを願っています。