이전 대행 서비스의 숏코드 정리 옵션을 사용하면, WordPress에서 Shopify로 임포트할 때 게시물 내에 포함된 숏코드가 Shopify 테마에서도 적절하게 표시되는 형식으로 자동 변환됩니다. 이 페이지에서는 각 숏코드의 구체적인 동작과 의도치 않은 텍스트 수정을 방지하기 위한 안전 기능에 대해 설명합니다.
1. 자동 변환되는 주요 숏코드
다음 숏코드들은 Shopify 본문(body_html) 내에서 작동하는 HTML 태그나 임베드 플레이어로 자동 교체됩니다.
[gallery] (이미지 갤러리)
여러 이미지를 나열하여 표시하는 숏코드입니다.
- 사양:
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)에서 관리되며, 필요에 따라 특정 태그를 삭제 대상으로 추가할 수 있습니다.