Consultation Connector
相談会通知ネットワーク — 各団体WordPress向け連携プラグイン
by akashi-internet-powers · github.com/akashi-internet-powers/consultation-connector
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/akashi-internet-powers/consultation-connector/archive/refs/heads/main.zipReadme
consultation-connector
このリポジトリは「相談会通知ネットワーク」を構成する3リポジトリの1つです。 全体像は組織プロフィール(
.githubリポジトリのREADME)を参照してください。
相談会日程を管理し、REST API経由で consultation-app へ配信するWordPressプラグイン。 各団体のWordPressを通知ネットワークに「接続する」役割を持つことから、この名前にしています。 各団体(法人内の別事業、将来の他法人)は、このプラグインを導入するだけで通知ネットワークに参加できることを目指しています。
設計方針は CLAUDE.md を参照してください。 機能仕様の正本は docs/SPECIFICATION.md です。 Issue の作成・実装・コミット手順の正本は docs/DEVELOPMENT_WORKFLOW.md です。
開発フロー
Issue 起点で開発する場合は、Claude Code で次の形式を使用します。
/01 Issue のタイトル
/01 は関連するコードと仕様を確認して Issue 本文を作成し、重複確認後に GitHub CLI で Issue を登録します。登録には gh auth login による GitHub CLI の認証が必要です。Claude Code 用の定義は .claude/skills/01-create-issue/SKILL.md に置いています。
Issue の実装は次の形式で開始します。
/11 12
/11 #12 #15
/11 12,15
/11 は作業ツリーがクリーンであることを確認し、最新のデフォルトブランチから issue/<number>-<slug> ブランチを作成してから、指定した Issue のコードを修正します。既に対象Issue用ブランチにいる場合は再利用します。仕様書・関連実装・テストも確認し、検証まで行います。コミットと PR 作成は /11 では行いません。定義は .claude/skills/11-implement-issues/SKILL.md に置いています。
修正したコードのコミットは次の形式で行います。
/21 12
/21 #12 #15
/21 12,15
/21 は指定した Issue に関係するファイルだけをステージし、ステージ済み差分と検証結果を確認してからコミットします。無関係な変更、同一ファイル内で分離できない変更、Issue との対応が不明な変更がある場合はコミットせず停止します。定義は .claude/skills/21-commit-issue-changes/SKILL.md に置いています。
コミット済みの変更をPull Requestにする場合は、次の形式を使用します。
/31 12
/31 #12 #15
/31 12,15
/31 はIssue用ブランチ、未コミット変更、ベースブランチとの差分、既存PRを確認してからPull Requestを作成します。未コミット変更がある場合やデフォルトブランチ上では停止します。定義は .claude/skills/31-create-pull-request/SKILL.md に置いています。
使い方
インストール
Local で作成したサイトの app/public/wp-content/plugins/ に、このリポジトリのフォルダーを配置します。
フォルダー名は consultation-connector としてください。
- Local でサイトを起動する
- WordPress 管理画面の「プラグイン」を開く
- 「Consultation Connector」を有効化する
有効化すると、管理画面に「相談会日程」メニューが表示されます。ACF などの追加プラグインは必要ありません。
詳細画面の表示方式は「相談会日程」>「設定」で選択できます。初期値は「標準表示」です。「2ペイン表示」を選ぶと、デスクトップでは本文を左側、相談会の詳細情報を右側のカードに表示します。モバイル幅では自動的に1カラムへ切り替わります。
相談会日程を登録する
- 「相談会日程」>「新規追加」を開く
- タイトルに相談会の名称を入力する
- 必要に応じて本文に説明を入力する
- 「相談会 詳細情報」に次の項目を入力する
| 項目 | 入力内容 |
|---|---|
| 開催日・並び順 | 日付と同日内の並び順を日時ピッカーで入力します。時刻は表示には使用しません |
| 時間帯 | 表示用の自由記述。例: 10:00〜 / 13:00〜 / 15:00〜 |
| 場所の名称 | 会場名 |
| 住所 | 開催場所の住所 |
| 地図 | 住所から生成した Google マップへのリンク |
| ステータス | 受付中、満席、終了 のいずれか |
| 予約URL | 外部予約システムの URL |
- 「公開」をクリックする
複数の時間枠がある場合も、1つの相談会日程として登録し、「時間帯」にまとめて記載します。予約データや定員はこのプラグインでは管理しません。
日程一覧をWebページに表示する
ブロックテーマの場合
- 「外観」>「エディター」>「デザイン」>「テンプレート」または固定ページを開く
- ブロックを追加する場所で「相談会日程一覧」を検索する
- 「相談会日程一覧」ブロックを配置する
- 保存する
ブロックを選択した状態で設定パネルを開くと、次を設定できます。
| 設定 | 内容 |
|---|---|
| 表示形式: 一行表示 | 日程ごとにタイトル、開催日時、場所、ステータスを縦に表示します |
| 表示形式: 表形式 | 開催日、相談会名、場所、ステータスを表で表示します |
| 表示形式: カード形式 | 日付を左、相談会情報を中央、アイキャッチ画像を右に配置します |
| 日付表示 | 2026年9月6日(日)、2026/09/06(日)、9月6日(日) から選択できます。時間帯は「時間帯」項目を表示します |
| 詳細リンクを表示 | 相談会タイトルまたは「詳細を見る」から個別の日程ページへ移動できます |
| 予約URLリンクを表示 | 受付中の日程に予約 URL リンクを表示するか選択できます |
詳細リンクは初期状態で有効です。不要な場合は「詳細リンクを表示」をオフにします。 カード形式では、相談会日程の編集画面で設定したアイキャッチ画像が右側に表示されます。画像がない場合も、日付と相談会情報は表示されます。
クラシックテーマまたは通常の固定ページの場合
固定ページの編集画面で「相談会日程一覧」ブロックを追加して保存します。ブロックはサーバー側で日程を取得し、開催日時の昇順で表示します。
「受付中」の日程だけ、入力した予約URLへの「予約する」リンクが表示されます。「満席」と「終了」の日程には予約リンクは表示されません。
REST API を確認する
公開済みの日程は、次の標準 WordPress REST API から取得できます。
http://サイトのドメイン/wp-json/wp/v2/consultation_event
Local のサイト URL が http://consultation.local の場合は、次の URL です。
http://consultation.local/wp-json/wp/v2/consultation_event
ブラウザーで URL を開くと JSON を確認できます。個別の日程は、一覧の id を使って次のように取得します。
http://サイトのドメイン/wp-json/wp/v2/consultation_event/{id}
カスタム項目はレスポンスの meta に次のキーで含まれます。
meta.start_at
meta.time_note
meta.location_name
meta.location_address
meta.status
meta.reservation_url
公開済みのデータを取得するだけならログインは不要です。下書きの取得や REST API 経由の登録・更新には、WordPress の認証と権限が必要です。
動作確認のチェックリスト
- 管理画面に「相談会日程」が表示される
- 日程を公開できる
- 公開した日程が REST API の一覧に表示される
- 各カスタム項目が
metaに含まれる - 「相談会日程一覧」ブロックを配置できる
- 開催日時の昇順で表示される
- 「受付中」のときだけ予約リンクが表示される
- 「満席」「終了」では予約リンクが表示されない
Local での開発メモ
- Local のデータベースは MariaDB を使用します。
- プラグインの変更は
wp-content/plugins/consultation-connector/に配置したファイルへ反映されます。 - REST API の URL は Local のサイトドメインに合わせて読み替えてください。
- 外部の consultation-app から Local の REST API を直接参照することはできません。外部連携を確認する場合は、公開可能な検証環境またはトンネルを用意してください。
- 本番反映前に、本番と同じ PHP、WordPress、テーマ、パーマリンク設定で確認してください。
ライセンス
GPLv2 or later. LICENSE を参照。