Create Custom REST API Endpoints in WordPress

WordPress REST API를 활용한 커스텀 엔드포인트 생성

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

웹 개발자 및 WordPress 사용자 (중간 난이도)

핵심 요약

  • 커스텀 엔드포인트 생성을 위해 플러그인을 생성하고 register_rest_route() 함수 사용
  • namespacepath 조합으로 유일한 엔드포인트 정의 (예: restplugin/v1/welcome-message)
  • GET 메서드를 통해 생성된 엔드포인트에 접근 가능 (URL: http://localhost/wp-json/restplugin/v1/welcome-message)

섹션별 세부 요약

1. 플러그인 생성 및 활성화

  • restPlugin 폴더 생성 후 restplugin.php 파일에 플러그인 메타데이터 추가
  • Plugins 메뉴에서 플러그인 활성화
  • register.php 파일을 restplugin.php에 포함하여 코드 연결

2. 커스텀 엔드포인트 정의

  • rch_handle_welcome_message() 함수로 요청 처리 로직 정의
  • register_rest_route() 함수 사용:
  • namespace: restplugin/v1 (엔드포인트 그룹핑)
  • path: /welcome-message (유일한 경로)
  • methods: GET
  • rest_api_init 훅을 통해 REST API 초기화 시점에 라우트 등록

3. 엔드포인트 테스트

  • 브라우저에서 http://localhost/wp-json/restplugin/v1/welcome-message 경로 접근
  • Welcome to the restplugin API 텍스트 반환 확인
  • index.php 경로 생략 시도 (예: http://localhost/wp-json/restplugin/v1/welcome-message)

결론

  • namespacepath의 유니크성 유지가 필수적 (다른 플러그인과 충돌 방지)
  • GET 메서드 사용 시 rest_ensure_response() 함수로 응답 포맷 강제 적용
  • 엔드포인트 테스트 시 index.php 경로 생략을 우선 시도 (WordPress URL 규칙에 따라)