この画面でできること

Noteカテゴリーは、会員に記入してもらう入力項目(フィールド)の定義です。ここで項目を定義してショートコードを発行し、固定ページに貼り付けると、会員が自分で記入・更新できるノート(自由入力フォーム)が公開できます。記入内容はユーザーメタとして保存されます。

画面の開き方

左メニューの「ねこすけCMS」→ 画面上部タブ「Note」をクリックすると「Note カテゴリー一覧」が開きます。一覧はプロジェクトで絞り込みでき、各行に「編集」「集計」「ユーザー」「削除」ボタンと記入済みユーザー数が表示されます。

操作手順

1. Noteカテゴリーを作成する

  1. 一覧右上の「新規追加」をクリックします。
  2. カテゴリー名(必須)を入力し、プロジェクトを選択します(特定プロジェクトに紐付けない場合は「0: 共通」)。
  3. スラッグ(必須)を半角英数字で入力します。このスラッグがそのままユーザーメタのキーとして使われます(プレフィックスは付きません)。
  4. フィールド設定で「フィールドを追加」し、各行のラベル変数名 (name)タイプ必須を設定します。行はドラッグで並び替えできます。
  5. 新規作成」(編集時は「更新する」)をクリックして保存します。
フィールドのタイプ内容
テキスト / メールアドレス / 電話番号 / 数値 / 日付1行の入力欄(型に応じたブラウザ標準の検証・UI付き)
テキストエリア複数行の文章入力欄
セレクト / ラジオ / チェック選択式。「詳細」の選択肢key:ラベル,key2:ラベル2 形式で候補を定義
画像 / ファイル添付の表示用(後述の注意を参照)
非表示会員に見せず固定値を送る hidden フィールド

各行の「詳細」ボタンで、プレースホルダー初期値CSSクラス上のコメント / 下のコメント(説明文)・個別エラーメッセージID属性バリデーション正規表現を設定できます。

💡 ポイント: 各行の「連携メタキー」でユーザーメタ定義の既存項目を選ぶと、その項目は個別のユーザーメタとして保存され(save="individual")、CRMの項目と共通のデータになります。連携しない項目は、カテゴリーのスラッグをキーとする1つのJSONデータにまとめて保存されます(save="json")。検索・抽出条件に使いたい項目は個別保存にするのがおすすめです。

2. ショートコードを発行して固定ページに貼り付ける

  1. カテゴリー編集画面の「すべてのショートコード」をクリックすると、フォーム一式(start〜end)のコードが表示されるのでコピーします。1項目分だけ欲しい場合は各行の「コード」を使います。
  2. 固定ページを作成し、本文にコードを貼り付けて公開します。
  3. 固定ページ編集画面のサイドバーにある「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_keyon_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 として記録されます。