wordpress rest api 커스텀포스트타입에 이전/다음(previous/next) 포스트로 이동하기 위한 필터 추가방법

0
2519
wordpress thumbnail
wordpress thumbnail
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 );

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"
},