포스트 타입에 동영상 형식을 추가하고 보여주기

구현의 의도

사실 유튜브, 비메도 등 범용적인 동영상 서비스는 워드프레스에서 자동 임베드를 제공하기 때문에 그냥 URL을 삽입하면 자동으로 동영상이 삽입됩니다. 하지만, 이렇게 삽입될 경우 워드프레스나 다른 플러그 등에서 해당 포스트가 동영상인지 알 수 없어 다양하게 활용기 어렵습니다. 여기서는 이를 구조적으로 처리하는 방법을 알려 드립니다.

1. 비디오 글 형식 지원하기

먼저, 해당 포스트가 동영상이라는 걸 지정합니다. 택소노미나 커스텀 필드를 이용할 수도 있지만, 보다 구조적인 방식인 워드프레스 코어의 글 형식(Post Formats)을 사용합니다. 예전에는 많은 테마들이 글 형식을 기본 지원했으나, 최신 테마들을 이를 지원하지 않는 추세입니다. 만약에 글 형시기 없다면 글 형식을 지원하도록 합니다.

방법1. 코드로 글 형식 지원하기

<?php
// 글 형식 추가하기
add_theme_support("post-formats", ["video", "standard"]);

// 글 형식을 추가할 포스트 타입 지정하기
function danbi_add_post_formats()
{
    add_post_type_support("post", "post-formats");
}
add_action("init", "danbi_add_post_formats");
위 코드를 통해 글 형식치 추가된 편집 화면

방법 2. ACF로 글 형식 지원하기

만약에 ACF로 만든 커스텀 포스트 타입이라면, 해당 포스트 타입의 설정에서 이를 지원하도록 활성화합니다. 글 형식이 비디오일 경우에만 해당 필드가 보이도록 설정하는 것이 UI상 좋습니다.

2. 동영상 필드 추가하기

ACF를 이용해 해당 포스트 타입 오임베드(oEmbed)로 동영상 필드를 추가합니다.

3. 동영상 보여주기

ACF 숏코드를 이용해 동영상 필드에 입력된 동영상 URL의 영상을 보여주면 됩니다. 예를 들어 해당 필드 이름이 ‘post-video-url’이라면 아래 숏코드를 해당 포스트 타입 템플릿에 삽입합니다.

[acf field="post-video-url"]