ThemeForge マークアップ
ThemeForge は、静的なHTMLからクラシックなWordPressテーマを構築します。編集可能な部分をHTML属性でマークします:fld-*(ページのフィールド)、opt-*(サイト全体の設定)、tax-*(カテゴリのフィールド)、wp-*(WordPress自体:投稿、メニュー、製品)。ジェネレーターはこれらを管理フィールド、ページテンプレート、そしてサイト所有者が編集する管理画面に変換します。デザインはその人のものに残ります。
ルールは https://themeforge.pro/ai にあり、ジェネレーターとともに変更されます。 記憶やこのファイルからマークアップしないでください:セッションごとにルールを取得してください。このスキルは作業の順序のみを指示します。
1. 最初にサイトマップを合意する
マークアップを書く前に、サイトマップを返信し、確認を待ってください:
- 各ページファイルとそのスラッグ(
index.html、menu.html、contacts.html…) — ファイル名がWordPressテンプレートを決定するため、blog.htmlはブログフィードではなく、ブログという名前のページになります。 - コンテンツタイプ:ブログ投稿、製品、独自のタイプとそのカテゴリ。
- サイト全体のもの(ヘッダー、フッター、連絡先) — これらは
theme-options.htmlに入ります。 - 言語。
2. 必要なルールを取得する
GET https://themeforge.pro/ai エントリページ:最初に読む
GET https://themeforge.pro/ai?m=core マークアップの前に必ず取得
GET https://themeforge.pro/ai?m=build サイトを注釈する代わりに生成する場合に取得
GET https://themeforge.pro/ai?m=<module> ページ · ブログ · カスタム投稿タイプ · WooCommerce · デプロイ · レガシー
このサイトが必要とするモジュールのみをロードします:ショップのないカフェは woocommerce を読み込みません。
3. 進みながらマークアップする
各セクションを、2回目のパスで行うのではなく、書きながらまたは読みながら属性を付けます。最も多くの間違いを捉えるチェックポイント(ルールの文言):
- 各ページの
<body>にwp-fields-groupがあること。ないとフィールドは取得されません。 - すべてのフィールドに名前があること。リンクとそのキャプションには異なる名前を付けること(
Button/Button text)。 - リスト(
fld-loop)では、最初のカードだけでなく、すべてのカードに属性が含まれていること。 - サイト全体のフィールドは
theme-options.htmlで宣言されていること。
4. 無料でアカウント不要でチェックする
すべてのページセットを1つのリクエストで送信し、"ok": true が返るまで繰り返します:
POST https://themeforge.pro/api/validate-markup
Content-Type: application/json
{"pages":[{"name":"index.html","html":"…"},{"name":"theme-options.html","html":"…"}]}
または、このキットから node scripts/validate.mjs <site-folder> を実行します。error はテーマを破壊し、warning は何かが静かにドロップされることを意味し、hint は知っておく価値があります。何も保存されません。
5. 引き継ぎ
?m=deploy に従います:サイトの内容の1つのZIP(index.html がルートにあること)。ユーザーはそれを https://themeforge.pro のプロジェクトにアップロードし、ブラウザでテーマのWordPress管理画面を無料で開き、サブスクリプションでテーマをダウンロードします。ユーザーがプロジェクトIDとトークンを提供した場合、deploy モジュールはHTTP経由で自分でテーマをビルドする方法を示します。
参考資料
- ユーザー向け属性リファレンス:https://themeforge.pro/docs
- マークアップガイド:https://themeforge.pro/docs/ai-guide
- JSON形式の属性辞書:https://themeforge.pro/api/attributes
- 完全なマークアップ例:このキットの
examples/warm-corner/