説明
Conference Manager は、学会・研究会や大会運営者のために設計された WordPress プラグインです。イベントの参加登録・決済・帳票生成を一貫して管理できます。
主な機能:
- 会員管理(CSV/Excel でのインポート・エクスポート)
- イベント・セッション管理
- 団体(グループ)申込に対応した参加登録フォーム
- 銀行振込および Stripe クレジットカード決済
- 請求書・領収書 PDF の自動生成
- 参加者リストとマイページ(パスキー/WebAuthn 認証対応)
- 個人情報の AES-256-GCM 暗号化
- 操作ログ、レート制限、ボット対策
- トランザクションメール通知(ワンタイムパスワード、各種確認メール)
- SNS シェアボタン(Twitter/X、Facebook、LINE)
- 日本語/英語の完全ローカライズ
外部サービス
本プラグインは以下の外部サービスに接続します。
Stripe 決済(任意)
サイト管理者が Conference 初期設定 で Stripe API キー(シークレット/公開可能キー)を設定し、参加者が決済時に Stripe を選択すると、本プラグインは次の処理を行います:
- 参加登録ページで
https://js.stripe.comから Stripe.js を読み込みます。 - Stripe PHP SDK を介して Stripe のサーバー上に PaymentIntent を作成します。
- Stripe Elements(Stripe がホストする iframe)がカード情報を直接収集します。カード番号が WordPress サーバーを経由することはありません。
- 必要に応じて、決済状況を確認するために Stripe からの Webhook コールバックを受信します。
Stripe に送信されるデータ:
- 決済金額と通貨。
- 参加者のメールアドレス(Stripe の領収メール用)。
- 参加者が入力した場合の請求先情報。
- メタデータとしての登録 ID と受付番号。
通信が発生するタイミング:
- 参加者が決済方法として Stripe を選択し、参加登録フォームを送信したときのみ。
- Stripe がサイトに Webhook を送信するとき(サーバー間コールバック)。
リンク:
- Stripe 利用規約:https://stripe.com/legal/ssa
- Stripe プライバシーポリシー:https://stripe.com/privacy
IPAex フォントのダウンロード(PDF 生成)
PDF 文書(請求書・領収書)で日本語を表示するために、本プラグインはオープンソースの IPAex ゴシック・IPAex 明朝フォントを必要とします。管理ダッシュボードからワンクリックでインストールでき、その際にフォントファイルを(フォントごとに1回)ダウンロードします。送信されるユーザーデータはなく、ファイルのダウンロードのみです。サーバーがダウンロード先に接続できない場合は、代わりにダッシュボードから .ttf ファイルを直接アップロードできます(外部接続は不要です)。
- ダウンロード先(プラグイン作者が運用するミラー):https://cs24.biz/conference/fonts/
- 送信データ:なし(ファイルのダウンロードのみ)
- ダウンロード URL は
conf_manager_font_source_urlフィルターで変更できます。 - フォントの提供元/IPAex フォントライセンス(IPA:独立行政法人 情報処理推進機構):https://moji.or.jp/ipafont/license/
開発/ソースからのビルド
管理画面と公開画面は React(JSX)で構築されています。コンパイル・最小化されたバンドル build/admin-app.js と build/public-app.js の人間が読めるソースは、本プラグインの src/ ディレクトリに同梱されています:
src/admin/—build/admin-app.js(管理ダッシュボードアプリ)のソースsrc/public/—build/public-app.js(公開の参加登録/マイページアプリ)のソース
ビルドツールチェーン:本プロジェクトは @wordpress/scripts(webpack と Babel のラッパー)を使用します。webpack の設定は webpack.config.js として同梱され、すべての依存関係とビルドスクリプトは package.json に記載されています(再現可能なインストールのための package-lock.json を含みます)。
ソースからコンパイル済みアセットを再ビルドするには:
- Node.js 18 以降と npm をインストールします。
- プラグインディレクトリで
npm installを実行します。 npm run buildを実行します。これによりbuild/admin-app.jsと build/public-app.js(およびそれらの*.asset.php依存マニフェスト)が再生成されます。最小化しない開発用のウォッチビルドにはnpm startを使用します。
コンパイル済み JavaScript にバンドルされるサードパーティライブラリ(すべてオープンソースで、公開 npm レジストリからインストールし package.json に記載):
@stripe/react-stripe-jsおよび@stripe/stripe-js— Stripe Elements 決済 UI(MIT)html5-qrcode— 参加者の受付に使う QR コードスキャナー(Apache-2.0)
WordPress が提供するパッケージ(wp-element、wp-components、wp-api-fetch、wp-i18n、react、react-jsx-runtime)は externals として宣言され、バンドルされません。実行時に WordPress コアから読み込まれます。
インストール
- プラグインフォルダを
/wp-content/plugins/にアップロードします。 - WordPress の「プラグイン」メニューからプラグインを有効化します。
- 管理メニューの「Conference」を開き、イベントの設定を始めます。
- (任意)クレジットカード決済を受け付けるには、Stripe アカウントで API キーを取得し、Conference 初期設定 に入力してください。
FAQ
-
このプラグインに利用料はかかりますか?
-
いいえ。プラグイン自体は無料で、GPL ライセンスで提供されます。Stripe 決済を有効にした場合は Stripe 所定の決済手数料がかかりますが、入金はあなた自身の Stripe アカウントに直接行われ、本プラグインが手数料を差し引くことはありません。
-
このプラグインは日本語に対応していますか?
-
はい。本プラグインは完全に国際化対応しており、日本語翻訳を同梱しています。PDF 文書は日本語を正しく表示するために IPA フォントを使用します。
-
サーバー要件は何ですか?
-
WordPress 6.9 以降、PHP 8.4 以降、MariaDB 10.5 以降(または MySQL 8.0 以降)です。
-
個人情報はどのように保護されますか?
-
メールアドレス・電話番号・住所は、保存前に AES-256-GCM で暗号化されます。暗号化キーは
wp-config.phpに保存するか、初回有効化時に生成してwp_optionsに保存します。
評価
このプラグインにはレビューがありません。
貢献者と開発者
変更履歴
1.1.6
- Receipts: participants can now edit the addressee name and company/department of their receipt from My Page and have the PDF reissued under the same receipt number (so only one valid receipt ever exists). Useful when payment was made under a company, workplace or family name. Ownership is verified before editing, and the proviso text is unchanged.
- Registrations: added an optional bank-transfer name note field, so a participant paying by bank transfer under a different account name (for example a company or family member) can tell the organizer the name the transfer will arrive under. It is shown to administrators on the Participants and Payments screens and is never printed on the receipt.
- Updated the bundled Japanese translation for the new strings.
1.1.5
- Notifications: the recipient for the new-registration admin notice is now configurable on the Setup screen. You can enter one or more addresses (comma-separated); leaving it blank falls back to the WordPress admin email. The notice is enabled by default and includes a link to the admin dashboard while keeping personal contact details out of the email body.
- Participants: administrators can now correct a registration’s fee category and on-site/online participation type from the Participants screen. The fee, tax, label and status are recalculated automatically; a pending payment amount and any issued invoice are kept in sync. Editing is limited to unpaid (pending/confirmed) individual registrations.
- Fix: the admin screen no longer goes blank when publishing a newly created event (and similar actions). A display-error boundary now recovers gracefully with a reload prompt instead of a white screen.
- Updated the bundled Japanese translation for the new strings.
1.1.4
- Free events: registrations whose total is ¥0 are now confirmed automatically (no payment record is created, and the confirmation email omits the bank-transfer details). Applies to both individual and group registrations.
- Event editor: fee fields now accept and keep a value of 0 (previously 0 was cleared to blank), with a placeholder and a note clarifying that blank or 0 means free. Added a delete button for custom fee types in the on-site fee table.
- Safety: uninstall now keeps your data by default, and a duplicate-load guard prevents fatal errors when an older copy of the plugin remains installed in another folder.
1.1.3
- Internationalization: the plugin source language is now English. All user-facing strings in the PHP backend and the React admin/registration screens use English source text with
__()/_e()and theconferencemanagertext domain, so the plugin can be translated into any language via translate.wordpress.org. The bundled Japanese translation (languages/conferencemanager-ja.po/.moand the React translation JSON) provides the complete Japanese UI as before.
1.1.2
- Plugin Review feedback response (from the v1.1.1 submission):
- Trialware: removed all online-meeting (Zoom/Meet/Teams) and Peatix integration fields from the core plugin (database columns, admin UI, REST handling and documentation). These belong to separately distributed add-ons; the core plugin no longer ships any locked or skipped feature code. On-site/online participation fee tiers remain fully functional.
- Third-party libraries: removed the unused
chillerlan/php-qrcodeandweb-auth/webauthn-libdependencies (passkey support is implemented with native PHP), updatedstripe/stripe-phpto 20.2.0, and updated the bundledsetasign/fpdito 2.6.7 (security advisory CVE-2026-45802). - Writable data location: downloaded/uploaded PDF fonts are now stored under
wp-content/uploads/conf-manager/fonts/instead of inside the plugin folder, so plugin updates and read-only installs are unaffected. - REST API: the public fee-calculation endpoint (
/public/events/{id}/fee) now returns 404 for non-published events, matching the event-detail endpoint, so unpublished pricing is never exposed.
1.1.1
- Plugin Review feedback response (from the v1.1.0 submission):
- Source code: the React/JSX source for the compiled
build/admin-app.jsandbuild/public-app.jsbundles is now shipped inside the plugin (src/), together with the build configuration (webpack.config.js,package.json,package-lock.json). See the new “Development / Building from source” section. - Core files: moved
require_once ABSPATH . 'wp-admin/includes/file.php'so it immediately precedes thedownload_url()/wp_handle_upload()call that needs it. - REST API: token-authenticated public endpoints (MyPage, my registrations, group staff, email preferences, logout) now validate the CSRF token and session token in their
permission_callback. - Privacy: the public email-based member existence check no longer returns any personal data (name); it returns only an existence flag and non-identifying metadata, protected by combined IP + email rate limiting.
- Removed HEREDOC syntax: the default Terms-of-Service content is now rendered from a template partial via output buffering (
templates/default-terms-content.php).
- Source code: the React/JSX source for the compiled
- Fix: The “fonts not installed” admin notice linked to the wrong page slug, causing a “you do not have permission” error; it now opens the Dashboard correctly.
- Improvement: PDF fonts (IPAex Gothic / Mincho) are now downloaded from the plugin author’s own mirror (with automatic retry), and a manual
.ttfupload option was added to the Dashboard for servers that cannot reach the download host. The download URL is filterable viaconf_manager_font_source_url.
1.1.0
- Plugin Review feedback response (from the initial v1.0.3 submission):
- Removed optional paid add-on gating; all features included in this plugin are fully functional and free.
- Removed inline
<style>tags from PDF templates; PDF stylesheets are now loaded from dedicated CSS files. - Added Stripe payment integration (requires the site administrator’s own Stripe API keys).
- Documented all external services (Stripe, IPA fonts) in the External Services section below.
- Audited every REST API route to ensure
permission_callbackis set appropriately for the route’s access requirements. - Removed
load_plugin_textdomain()(translations are now loaded automatically by WordPress). - Added
composer.jsonto the distribution package.
- New: Email opt-in/opt-out feature for compliance with the Japanese Anti-Spam Email Act.
- New: “Email Preferences” tab in the member’s MyPage.
- New: RFC 8058 compliant List-Unsubscribe header linking to MyPage.
- Fix: Unified text domain to
conferencemanager; added translators comments andphpcs:ignorecomments for safe dynamic SQL queries. - Database: Schema upgraded to v3.0.0; unused add-on tables are no longer created.
1.0.3
- Initial submission to the WordPress.org plugin directory.



