{"id":14638,"date":"2022-05-19T13:50:50","date_gmt":"2022-05-19T11:50:50","guid":{"rendered":"https:\/\/hesmid.nl\/test\/?p=14638"},"modified":"2022-05-19T13:50:51","modified_gmt":"2022-05-19T11:50:51","slug":"wp-rest-api-sort-by-menu_order","status":"publish","type":"post","link":"https:\/\/hesmid.nl\/test\/wp-rest-api-sort-by-menu_order\/","title":{"rendered":"WP REST API &#8211; sort by menu_order"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Sage 10:<\/h3>\n\n\n\n<p>In filters.php add:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \/**\n\/\/ * The filter is named rest_{post_type}_collection_params. So you need to hook a new filter for each\n\/\/ * of the custom post types you need to sort.\n\/\/ * @link https:\/\/www.timrosswebdevelopment.com\/wordpress-rest-api-post-order\/\n\/\/ *\/\n\n\/\/ This enables the orderby=menu_order for Posts\nadd_filter( 'rest_post_collection_params', __NAMESPACE__ . '\\\\filter_add_rest_orderby_params', 10, 1 );\n\/\/ And this for a custom post type called 'faq'\nadd_filter( 'rest_faq_collection_params', __NAMESPACE__ . '\\\\filter_add_rest_orderby_params', 10, 1 );\n\n\/\/ \/**\n\/\/ * Add menu_order to the list of permitted orderby values\n\/\/ *\/\nfunction filter_add_rest_orderby_params( $params ) {\n  $params['orderby']['enum'][] = 'menu_order';\n   return $params;\n}<\/pre>\n\n\n\n<p>Now you can use SITEURL\/wp-json\/wp\/v2\/faq?<code>orderby=menu_order<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sage 10: In filters.php add: Now you can use SITEURL\/wp-json\/wp\/v2\/faq?orderby=menu_order<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[17],"tags":[735,351],"acf":[],"_links":{"self":[{"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/posts\/14638"}],"collection":[{"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/comments?post=14638"}],"version-history":[{"count":1,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/posts\/14638\/revisions"}],"predecessor-version":[{"id":14639,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/posts\/14638\/revisions\/14639"}],"wp:attachment":[{"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/media?parent=14638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/categories?post=14638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hesmid.nl\/test\/wp-json\/wp\/v2\/tags?post=14638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}