워드프레스 REST API로 커스텀 메타 필드와 이미지, 카테고리, 태그를 포함한 포스트 등록하기

0

워드프레스는 강력한 REST API를 제공하여 외부 애플리케이션에서 데이터를 송수신할 수 있습니다. 이를 통해 워드프레스 포스트를 자동화하거나, 외부 서비스와 연동하여 콘텐츠를 관리할 수 있습니다. 이번 글에서는 REST API를 사용하여 카테고리, 태그, 썸네일 이미지, 그리고 커스텀 메타 필드를 포함한 포스트를 등록하는 방법을 단계별로 자세히 알아보겠습니다.

1. 워드프레스 API 사용 준비

먼저, 워드프레스 사이트가 최신 버전인지 확인하고, REST API가 활성화되어 있는지 확인합니다. 기본적으로 REST API는 활성화되어 있지만, 특정 호스팅 또는 보안 플러그인에서 API 사용을 제한하는 경우가 있습니다.

2. 인증 방법 선택

API 요청을 인증하는 방법은 여러 가지가 있습니다. 여기서는 간편한 기본 인증(Basic Auth) 방법을 설명하겠습니다. 하지만 보안이 중요한 운영 환경에서는 OAuth 인증 또는 응용 프로그램 비밀번호(Application Passwords)를 사용하는 것이 좋습니다.

3. 카테고리와 태그 ID 찾기

포스트에 카테고리와 태그를 추가하려면 해당 ID를 알아내야 합니다. 이를 위해 API를 통해 카테고리와 태그의 리스트를 조회합니다.

카테고리 조회

  curl https://yourwebsite.com/wp-json/wp/v2/categories

태그 조회

  curl https://yourwebsite.com/wp-json/wp/v2/tags

4. 썸네일 이미지 업로드

썸네일 이미지를 포스트에 추가하려면 먼저 이미지를 미디어 라이브러리에 업로드해야 합니다. 업로드 후 반환되는 이미지 ID를 사용하여 포스트를 생성합니다.

이미지 업로드

  curl -X POST https://yourwebsite.com/wp-json/wp/v2/media \
    -u "username:password" \
    -H "Content-Type: image/jpeg" \
    -H "Content-Disposition: attachment; filename=example.jpg" \
    --data-binary @/path/to/your/image.jpg

5. 커스텀 메타 필드 등록

커스텀 메타 필드는 추가적인 정보를 포스트에 저장하는 데 유용합니다. 먼저 `functions.php` 파일이나 플러그인에서 메타 필드를 등록합니다.

function register_post_meta() {
    register_post_meta('post', 'your_meta_key', array(
        'show_in_rest' => true,
        'single' => true,
        'type' => 'string',
    ));
}
add_action('init', 'register_post_meta');

6. 포스트 생성 요청

이제 카테고리 ID, 태그 ID, 이미지 ID, 그리고 커스텀 메타 필드 값을 포함하여 포스트를 생성할 수 있습니다.

포스트 생성 요청 예시

  curl -X POST https://yourwebsite.com/wp-json/wp/v2/posts \
    -u "username:password" \
    -H "Content-Type: application/json" \
    -d '{
      "title": "새 포스트 제목",
      "content": "여기에 내용을 입력하세요.",
      "status": "publish",
      "categories": [카테고리ID],
      "tags": [태그ID],
      "featured_media": 이미지ID,
      "meta": {"your_meta_key": "메타 필드 값"}
    }'

7. 여러 개의 메타 필드 추가

여러 개의 메타 필드를 추가하려면 `meta` 객체에 각 키와 값을 포함시켜 요청합니다.

여러 메타 필드 추가 요청

  curl -X POST https://yourwebsite.com/wp-json/wp/v2/posts \
    -u "username:password" \
    -H "Content-Type: application/json" \
    -d '{
      "title": "새 포스트 제목",
      "content": "포스트 내용",
      "status": "publish",
      "categories": [카테고리ID],
      "tags": [태그ID],
      "featured_media": 이미지ID,
      "meta": {
        "meta_key1": "값1",
        "meta_key2": 1234
      }
    }'

8. 포스트 업데이트

기존 포스트의 메타 필드를 업데이트하려면 PATCH 요청을 사용합니다.

포스트 업데이트 요청

  curl -X PATCH https://yourwebsite.com/wp-json/wp/v2/posts/{post_id} \
    -u "username:password" \
    -H "Content-Type: application/json" \
    -d '{
      "meta": {
        "meta_key1": "새 값",
        "meta_key2": 5678
      }
    }'

결론

워드프레스 REST API를 사용하면 외부 애플리케이션과의 연동이 매우 간편해집니다. 카테고리, 태그, 썸네일 이미지, 그리고 커스텀 메타 필드를 포함하여 포스트를 생성하고 업데이트하는 방법을 익히면, 워드프레스의 활용 가능성을 크게 확장할 수 있습니다. 이를 통해 콘텐츠 관리의 자동화와 효율성을 극대화할 수 있습니다. API 사용 시 보안에 주의하고, 인증 방식을 적절히 선택하여 안전한 환경에서 작업하세요.

Leave a Reply