웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdevetc

워드프레스 resp api 사용하기

Last Modified : 2020-05-30 / Created : 2020-05-30
9,783
View Count
워드프레스(Wordpress)에서 REST API를 만들어야 하는 경우 방법에 대하여 알아봅니다.

워드프레스라면 당연히 REST API를 만들 수 있는 플러그인이 존재합니다. 하지만 그 전에 워드프레스 버전에 따라 현재 웹어플리케이션에서 REST API를 기본으로 이미 제공할 수 있습니다. 아래는 이 방법에 대하여 알아보고 어떻게 사용하는지 자세히 확인해봅니다.




# 워드프레스 REST API 사용하기


워드프레스는 REST API를 제공하며 이를 사용해 현재 콘텐츠를 JSON 형태로 받을 수 있습니다. 그래서 간단한 형태의 API를 만들어야 한다면 이를 사용해도 충분합니다.

(만약 커스텀해야 할 필요가  있거나 더 복잡한 API가 필요한 경우 직접 만들거나 플러그인 등을 사용해야 겠죠.)

그럼 어떻게 사용하는지 아래에서 자세히 알아봅니다.


! 워드프레스 REST API 사용방법


먼저 REST API 기본 주소입니다. 워드프레스는 아래의 주소로 API를 사용합니다.

사이트주소/wp-json/wp/v2/


만약 웹이즈프리인 경우 아래와 같이 사용할 수 있겠죠.
https://webisfree.com/wp-json/wp/v2/

이제 사용 가능한 url을 알았으니 실제로 json 데이터를 가져오려고 합니다. 기본적으로 포스팅과 미디어 데이터를 불러오기 위해서 아래처럼 url에 정보를 추가합니다.
/wp-json/wp/v2/posts
// 포스트 데이터 가져오기

/wp-json/wp/v2/media
// 미디어 데이터 가져오기

데이터는 기본으로 10개의 데이터를 불러옵니다. 물론 몇 개를 불러올 것인지 어디서 부터 불러올 것인지 선택할 수 있습니다. 그 전에 기본적인 사용 방법은 아래와 같습니다.

!! API 상세 페이지 정보
아래는 ID를 추가하여 상세 정보를 가져옵니다.
/wp-json/wp/v2/posts/{postID}
/wp-json/wp/v2/media/{mediaID}
/wp-json/wp/v2/posts/?search=검색어
/wp-json/wp/v2/media/?search=검색어

추가로 선택 가능한 옵션으로 아래의 파라미터를 추가할 수 있습니다. 아래는 가장 기본적인 파라미터들 입니다.
search // [String] 제목 및 본문 검색어 찾기
author // [String] 작성자
page // [Number] 페이지
per_page // [Number] 한 페이지에 가져올 개수
offset // [Number] 시작할 위치를 결정
link // [String] 링크 주소
order // [String] 순서 (asc, desc)
orderby // [String] 순서를 어떤 필드값으로 정렬할 것인지 결정

이제 소팅(sorting) 또는 순서 등도 설정해 정보를 가져올 수 있겠죠. 실제로 데이터를 불러오면 매우 많은 필드값들이 포함되어 있습니다. 꼭 필요한 필드(컬럼)만 가져오기 위해서 _fields 키워드를 사용합니다.

?_fields=필드1,필드2,필드3


콤마를 사용해서 여러개의 필드를 복수개로 설정 가져올 수 있습니다. 아래는 포스팅에서 id값, 생성일, 수정일, 제목, 본문, 카테고리, 태그정보 그리고 링크 정보만 가져오기 위한 예제입니다.
/wp-json/wp/v2/posts_fields=id,date,modified,title,content,categories,tags,_links

이처럼 사용 방법은 간단합니다. 여기까지 가장 기본적인 방법과 예제에 대하여 알아보았습니다.

추가적으로 인증을 추가할 수도 있고 GET이 아닌 DELETE 등의 다른 메서드 등도 사용할 수 있습니다. 더 많은 정보는 아래의 워드프레스 공식 웹페이지에서 확인해보세요.

링크 바로가기 >
https://developer.wordpress.org/rest-api/
https://developer.wordpress.org/rest-api/using-the-rest-api/

Previous

윈도우즈에서 특정 ip, 포트 외부 및 사내 접근 허용 방법, 방화벽 인바운드 설정하기

Previous

Putty connection 시간이 짧은 경우 timeout 안되도록 시간 늘리기