この画面でできること
Noteカテゴリーは、会員に記入してもらう入力項目(フィールド)の定義です。ここで項目を定義してショートコードを発行し、固定ページに貼り付けると、会員が自分で記入・更新できるノート(自由入力フォーム)が公開できます。記入内容はユーザーメタとして保存されます。
画面の開き方
左メニューの「ねこすけCMS」→ 画面上部タブ「Note」をクリックすると「Note カテゴリー一覧」が開きます。一覧はプロジェクトで絞り込みでき、各行に「編集」「集計」「ユーザー」「削除」ボタンと記入済みユーザー数が表示されます。
操作手順
1. Noteカテゴリーを作成する
- 一覧右上の「新規追加」をクリックします。
- カテゴリー名(必須)を入力し、プロジェクトを選択します(特定プロジェクトに紐付けない場合は「0: 共通」)。
- スラッグ(必須)を半角英数字で入力します。このスラッグがそのままユーザーメタのキーとして使われます(プレフィックスは付きません)。
- フィールド設定で「フィールドを追加」し、各行のラベル・変数名 (name)・タイプ・必須を設定します。行はドラッグで並び替えできます。
- 「新規作成」(編集時は「更新する」)をクリックして保存します。
| フィールドのタイプ | 内容 |
|---|---|
| テキスト / メールアドレス / 電話番号 / 数値 / 日付 | 1行の入力欄(型に応じたブラウザ標準の検証・UI付き) |
| テキストエリア | 複数行の文章入力欄 |
| セレクト / ラジオ / チェック | 選択式。「詳細」の選択肢に key:ラベル,key2:ラベル2 形式で候補を定義 |
| 画像 / ファイル | 添付の表示用(後述の注意を参照) |
| 非表示 | 会員に見せず固定値を送る hidden フィールド |
各行の「詳細」ボタンで、プレースホルダー・初期値・CSSクラス・上のコメント / 下のコメント(説明文)・個別エラーメッセージ・ID属性・バリデーション正規表現を設定できます。
💡 ポイント: 各行の「連携メタキー」でユーザーメタ定義の既存項目を選ぶと、その項目は個別のユーザーメタとして保存され(save="individual")、CRMの項目と共通のデータになります。連携しない項目は、カテゴリーのスラッグをキーとする1つのJSONデータにまとめて保存されます(save="json")。検索・抽出条件に使いたい項目は個別保存にするのがおすすめです。
2. ショートコードを発行して固定ページに貼り付ける
- カテゴリー編集画面の「すべてのショートコード」をクリックすると、フォーム一式(start〜end)のコードが表示されるのでコピーします。1項目分だけ欲しい場合は各行の「コード」を使います。
- 固定ページを作成し、本文にコードを貼り付けて公開します。
- 固定ページ編集画面のサイドバーにある「Note 保存設定」ボックスで保存先Noteカテゴリーを選択して保存すると、ページとカテゴリーが関連付けられます(カテゴリー編集画面の「関連ページ一覧」に表示されます)。
フォームの基本形は次のとおりです。key を省略した場合は、そのページの「Note 保存設定」で選択したカテゴリーのスラッグが自動で使われます(どちらも無いと「Note 保存先が設定されていません」と表示されます)。
[necosuke_note start key="スラッグ"]
[necosuke_note type="text" name="company" label="会社名" save="json"]
[necosuke_note type="select" name="plan" label="プラン" options="a:Aプラン,b:Bプラン" save="json"]
[necosuke_note submit="保存する"]
[necosuke_note end]
| ショートコード | 役割 |
|---|---|
[necosuke_note start] | フォーム開始。key(保存先スラッグ)、mode(view / input / view_only)、monitor_key・on_change_action(変更時アクション)を指定可能 |
[necosuke_note type="..."] | 入力項目。save="json" でスラッグのJSON内に、省略時(individual)は name がそのままメタキーとして個別保存 |
[necosuke_note_master] | WordPressユーザー本体の display_name(お名前)・user_email(メールアドレス)を更新する特別な項目。入力は常に必須で、メールは他会員と重複すると更新されません |
[necosuke_note submit="保存する"] | 保存ボタン(編集モードのときだけ表示) |
[necosuke_note end] | フォーム終了 |
[necosuke_note_value key="..."] | 保存値の表示専用。JSON内のサブキーは subkey、特殊キー「氏名」「メールアドレス」や属性slug(subkey に start_date / end_date / value / memo)も表示可能 |
[necosuke_note_summary key="スラッグ"] | ログイン本人の記入内容をフィールド定義順に読み取り専用で一覧表示 |
3. 会員から見た動作を確認する
- 通常(mode="view")は保存済みの値が表示され、ログイン中の本人にだけ「編集」リンクが表示されます。未ログインの訪問者は閲覧のみです。
- 「編集」をクリックすると入力フォームに切り替わり、「保存する」を押すとページ遷移せず同じ位置に「更新しました」と表示されて表示モードに戻ります。
mode="input"で最初から入力フォームを、mode="view_only"で本人にも編集リンクを出さない閲覧専用にできます。URLに?necosuke_note_mode=editを付けるとショートコードの指定より優先してモードを切り替えられます。
4. 値の変更でアクションを実行する(応用)
[necosuke_note start] に on_change_action を指定すると、保存時に処理を実行できます。数値を指定すると、そのIDの属性付与ルール(アクション)が適用され、文字列を指定するとその名前のWordPressアクションフックが実行されます。monitor_key に項目名を指定した場合はその値が変化したときのみ、未指定の場合は保存のたびに実行されます。
注意点
⚠️ 注意: 画像・ファイル型のアップロード保存は、現在フロント側では機能しません。編集フォームにファイル選択欄は表示されますが、選択した内容は保存されません。画像・ファイルの値(添付IDまたはURL)は管理画面のNote編集から設定する運用にしてください。設定済みの値は、フロントでは画像プレビュー・PDF埋め込み・ダウンロードリンクとして表示されます。
- スラッグ・変数名はそのままメタキーになります(プレフィックスなし)。他のプラグインや既存のユーザーメタとキーが衝突しないよう、分かりやすく重複しない名前を付けてください。運用開始後にスラッグを変えると、それまでの記入データと切り離されます。
- JSON一括保存した値をテーマ等のPHPから使う場合、
get_user_metaはJSON文字列を返すためjson_decodeが必要です。 - 保存できるのはログイン中の本人のみです(nonceによるCSRF対策・入力のサニタイズ実施済み)。保存はアクションログに
note_updateとして記録されます。
