ConferenceManager
Conference Manager is a WordPress plugin designed for academic societies and conference organizers. It provides end-to-end management of event registration, payments, and document generation.
Features:
- Member management (import/export via CSV/Excel)
- Event and session management
- Registration forms with group (team) registration support
- Bank transfer and Stripe credit card payment
- Automatic invoice and receipt PDF generation
- Participant list and MyPage (with Passkey/WebAuthn authentication)
- AES-256-GCM encryption for personal data
- Audit logging, rate limiting, and bot protection
- Transactional email notifications (OTP, confirmations)
- SNS share buttons (Twitter/X, Facebook, LINE)
- Full Japanese / English localization
External Services
This plugin connects to the following external services.
Stripe Payments (optional)
When the site administrator configures Stripe API keys (Secret and Publishable) under Conference → Setup, and a participant chooses Stripe at checkout, the plugin:
- Loads Stripe.js from
https://js.stripe.comon the registration page. - Creates a PaymentIntent on Stripe’s servers via the Stripe PHP SDK.
- Stripe Elements (an iframe hosted by Stripe) collects the card data directly; the card number never touches the WordPress server.
- Optionally receives webhook callbacks from Stripe to confirm payment status.
What data is sent to Stripe:
- Payment amount and currency.
- Participant email address (for Stripe receipts).
- Billing details if provided by the participant.
- Registration ID and registration number as metadata.
When:
- Only when a participant selects Stripe as the payment method and submits the registration form.
- When Stripe sends a webhook back to the site (server-to-server callback).
Links:
- Stripe Terms of Service: https://stripe.com/legal/ssa
- Stripe Privacy Policy: https://stripe.com/privacy
IPAex Font Download (PDF generation)
To render Japanese text in PDF documents (invoice, receipt), the plugin needs the open-source IPAex Gothic and IPAex Mincho fonts. From the admin Dashboard you can install them with one click; the plugin then downloads the font files (one-time, per font). No user data is transmitted — it is a file download only. If the server cannot reach the download host, you can instead upload the .ttf files directly from the Dashboard (no external connection required).
- Download host (mirror maintained by the plugin author): https://cs24.biz/conference/fonts/
- Data sent: none (file download only)
- The download URL can be overridden via the
conf_manager_font_source_urlfilter. - Original font source / IPAex Font License (IPA, Information-technology Promotion Agency): https://moji.or.jp/ipafont/license/
Development / Building from source
The admin and public interfaces are built with React (JSX). The human-readable
source for the compiled, minified bundles build/admin-app.js and
build/public-app.js is shipped inside this plugin under the src/ directory:
src/admin/— source forbuild/admin-app.js(admin dashboard app)src/public/— source forbuild/public-app.js(public registration / MyPage app)
Build toolchain: the project uses @wordpress/scripts
(a wrapper around webpack and Babel). The webpack configuration is included as
webpack.config.js, and all dependencies and build scripts are declared in
package.json (with package-lock.json for reproducible installs).
To rebuild the compiled assets from source:
- Install Node.js 18+ and npm.
- From the plugin directory, run
npm install. - Run
npm run build. This regeneratesbuild/admin-app.jsand build/public-app.js (and their*.asset.phpdependency manifests). Usenpm startfor an unminified development watch build.
Third-party libraries bundled into the compiled JavaScript (all open source,
installed from the public npm registry and declared in package.json):
@stripe/react-stripe-jsand@stripe/stripe-js— Stripe Elements payment UI (MIT)html5-qrcode— QR code scanner used for participant check-in (Apache-2.0)
WordPress-provided packages (wp-element, wp-components, wp-api-fetch,
wp-i18n, react, react-jsx-runtime) are declared as externals and are NOT
bundled — they are loaded from WordPress core at runtime.
