이전 대행 서비스의 숏코드 정리 옵션을 사용하면, WordPress에서 Shopify로 임포트할 때 게시물 내에 포함된 숏코드가 Shopify 테마에서도 적절하게 표시되는 형식으로 자동 변환됩니다. 이 페이지에서는 각 숏코드의 구체적인 동작과 의도치 않은 텍스트 수정을 방지하기 위한 안전 기능에 대해 설명합니다.

1. 자동 변환되는 주요 숏코드

다음 숏코드들은 Shopify 본문(body_html) 내에서 작동하는 HTML 태그나 임베드 플레이어로 자동 교체됩니다.

여러 이미지를 나열하여 표시하는 숏코드입니다.

  • 사양: ids 속성에 포함된 ID를 실제 이미지 URL로 분석하고, columns(열 수) 설정에 따라 그리드 레이아웃으로 출력합니다.
  • 출력 예시: 각 이미지가 figure 태그로 감싸지고, 전체가 스타일 조정을 위한 클래스를 가진 div 컨테이너로 래핑됩니다.

[caption] (이미지 캡션)

이미지에 설명글(캡션)을 추가하는 숏코드입니다.

  • 사양: 이미지 태그와 텍스트를 분리하여 의미론적인 <figure><figcaption> 구조로 변환합니다.

[audio] / [video] (오디오 및 비디오 플레이어)

게시물 내에서 오디오 파일이나 비디오 파일을 재생하기 위한 숏코드입니다.

  • 사양: 브라우저 표준 <audio controls> 또는 <video controls> 태그로 변환됩니다. 비디오의 경우 poster(썸네일) 속성도 유지됩니다.

[embed] (외부 콘텐츠 임베드)

YouTube Vimeo와 같은 외부 사이트를 임베드하기 위한 숏코드입니다.

  • 사양: YouTube 또는 Vimeo URL을 자동으로 판별하여 임베드용 <iframe> 플레이어로 변환합니다. 그 외의 URL은 보안을 위해 외부 링크로 출력됩니다.

[playlist] (재생 목록)

여러 오디오/비디오 파일을 리스트로 표시하는 숏코드입니다.

  • 사양: 포함된 아이템들을 이미지나 파일 이름을 포함한 글머리 기호 리스트로 출력하여 링크 유실을 방지합니다.

2. 의도치 않은 변환을 방지하는 안전 기능

일반 문장 중에 포함된 대괄호 [...]가 실수로 삭제되거나 변환되지 않도록 다음과 같은 안전 사양을 채택하고 있습니다.

소문자 한정 판정 (대소문자 구분)

숏코드로 인식되는 것은 모두 소문자로 작성된 태그뿐입니다.

  • 변환 대상: [gallery], [audio]
  • 보호 대상: [Any], [This], [123] 등 대문자나 숫자를 포함한 서술은 텍스트로서 그대로 유지됩니다.

이중 대괄호를 이용한 이스케이프

WordPress 표준 사양과 마찬가지로 대괄호를 이중으로 작성하여 변환을 회피할 수 있습니다.

  • 입력: [[gallery]]
  • 출력: [gallery] (숏코드로 실행되지 않고 텍스트로 표시됩니다)

정의되지 않은 태그 보호

시스템에서 정의되지 않은 알려지지 않은 태그는 다음과 같이 처리됩니다.

  • 둘러싸기형 [tag]내용[/tag]: 태그 부분만 제거되고 ‘내용’은 반드시 유지됩니다.
  • 단독형 [tag]: 후술할 블랙리스트에 포함되지 않는 한, 텍스트로 간주하여 그대로 유지됩니다.

3. 불필요한 코드 자동 삭제 (블랙리스트)

Shopify 이전 시 불필요해지는 알려진 플러그인 유래 코드는 자동으로 삭제됩니다.

  • 대상 키워드: contact-form-7, mwform_formkey, gravityform, contact-form, rev_slider, layerslider, sitemap, addtoany, yoast_breadcrumb
  • 대상 접두사: vc_(WPBakery 제작), et_pb_(Divi 제작)로 시작하는 모든 태그

이러한 설정은 개발자용 설정 파일(shortcode-config.ts)에서 관리되며, 필요에 따라 특정 태그를 삭제 대상으로 추가할 수 있습니다.