function rest_adjacent_posts( $response, $post, $request ) { global $post; $next = get_adjacent_post( false, '', false ); $previous = get_adjacent_post( false, '', true ); $response->data['next'] = ( is_a( $next, 'WP_Post') ) ? array( "id" => $next->ID, "slug" => $next->post_name, "title" => $next->post_title ) : null; $response->data['previous'] = ( is_a( $previous, 'WP_Post') ) ? array( "id" => $previous->ID, "slug" => $previous->post_name, "title" => $previous->post_title ) : null; return $response; } add_filter( 'rest_prepare_portfolio', 'rest_adjacent_posts', 10, 3 );
inline ad
wordpress rest api 에는 이전/다음(previous/next) 포스트로 이동하기 위한 데이터가 존재하지 않습니다. 그래서 위의 구문을 function.php 에 추가해주시면 아래와 같은 데이터를 rest api 로 확인할 수 있습니다.
add_filter(‘rest_prepare_portfolio’ 에서 portfolio 는 포스트타입이니 이점 참고해주세요.
add_filter( ‘rest_prepare_{post-type}’, ‘rest_adjacent_posts’, 10, 3 );
"next": { "id": 39, "slug": "cpt-next-previous", "title": "next/previous 포스트로 이동" }, "previous": { "id": 11, "slug": "wordpress-rest-api", "title": "wordpress rest api" },