移行代行サービスのショートコード整形オプションでは、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)で管理されており、必要に応じて特定のタグを削除対象に追加することが可能です。