ConferenceManager

説明

Conference Manager は、学会・研究会や大会運営者のために設計された WordPress プラグインです。イベントの参加登録・決済・帳票生成を一貫して管理できます。

主な機能:

  • 会員管理(CSV/Excel でのインポート・エクスポート)
  • イベント・セッション管理
  • 団体(グループ)申込に対応した参加登録フォーム
  • 銀行振込および Stripe クレジットカード決済
  • 請求書・領収書 PDF の自動生成
  • 参加者リストとマイページ(パスキー/WebAuthn 認証対応)
  • 個人情報の AES-256-GCM 暗号化
  • 操作ログ、レート制限、ボット対策
  • トランザクションメール通知(ワンタイムパスワード、各種確認メール)
  • SNS シェアボタン(Twitter/X、Facebook、LINE)
  • 日本語/英語の完全ローカライズ

別途配布している Pro 版 (Conference Manager Pro)では、演題投稿と査読、協賛企業管理、一斉メール配信など、大規模な学会向けの機能が追加されます。これは別のプラグインであり、必須ではありません。上記の機能はすべてこのプラグインだけで完全に動作し、ロックされた機能も試用期限もありません。全機能の一覧は管理メニューの「Conference > 新機能」をご覧ください。

外部サービス

本プラグインは以下の外部サービスに接続します。

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 を送信するとき(サーバー間コールバック)。

リンク:

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 を含みます)。

ソースからコンパイル済みアセットを再ビルドするには:

  1. Node.js 18 以降と npm をインストールします。
  2. プラグインディレクトリで npm install を実行します。
  3. 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-elementwp-componentswp-api-fetch、wp-i18n、reactreact-jsx-runtime)は externals として宣言され、バンドルされません。実行時に WordPress コアから読み込まれます。

スクリーンショット

インストール

  1. プラグインフォルダを /wp-content/plugins/ にアップロードします。
  2. WordPress の「プラグイン」メニューからプラグインを有効化します。
  3. 管理メニューの「Conference」を開き、イベントの設定を始めます。
  4. (任意)クレジットカード決済を受け付けるには、Stripe アカウントで API キーを取得し、Conference 初期設定 に入力してください。

FAQ

このプラグインに利用料はかかりますか?

いいえ。このプラグイン自体は無料で GPLライセンスであり、ロックされた機能・試用期限・支払いで解除される機能は一つもありません。Stripe決済を有効にした場合は Stripe の標準的な取引手数料がかかりますが、入金はご自身の Stripeアカウントへ直接行われ、このプラグインが手数料を受け取ることはありません。

有料版はありますか?

開発元は、大規模な学会向けの追加機能を備えた Pro 版を別途配布しています。これは WordPress.org の外で販売・更新している別のプラグインであり、このプラグインを使うために必要なものではありません。その一部がここに含まれることはなく、このプラグインの機能が更新を条件に制限されることもありません。このプラグインに何が含まれ、Pro 版で何が増えるのかは「Conference > 新機能」画面で一覧できます。

このプラグインは日本語に対応していますか?

はい。本プラグインは完全に国際化対応しており、日本語翻訳を同梱しています。PDF 文書は日本語を正しく表示するために IPA フォントを使用します。

サーバー要件は何ですか?

WordPress 6.9 以降、PHP 8.4 以降、MariaDB 10.5 以降(または MySQL 8.0 以降)です。

個人情報はどのように保護されますか?

メールアドレス・電話番号・住所は、データベースに書き込まれる前に AES-256-GCM で暗号化されます。

最も安全に運用するには、プラグインを有効化する前に wp-config.phpCONF_MANAGER_ENCRYPTION_KEY を定義してください (16 文字以上が必要です。それより短い値は無視され、下記のフォールバックが使われます)。この場合、暗号化キーはデータベースの外に置かれるため、データベースだけが漏えいする経路 — SQL インジェクションやバックアップの流出 — では、保護対象のデータと一緒にキーが漏れることはありません。

この定数が未定義の場合、プラグインは初回有効化時にランダムなキーを生成して wp_options に保存し、設定なしで暗号化が働くようにします。これが既定の動作です。ただしその場合、暗号化キーは暗号化対象のデータと同じデータベースに置かれる点にご注意ください。

現在どちらの方式で動作しているかは、Conference 初期設定で確認できます。

重要: プラグインがデータを保存した後に暗号化キーを追加・変更しないでください。復号には常に現在有効なキーが使われるため、キーを差し替えると既存の暗号化データは永久に読み取れなくなります。

評価

このプラグインにはレビューがありません。

貢献者と開発者

ConferenceManager はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“ConferenceManager” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“ConferenceManager” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.2.4

  • 修正: Pro 版にしか存在しない view を指定したショートコード — たとえば [conf_manager view=”reviewer-apply”] や view=”sponsors” — が、代わりに参加申込フォームを黙って表示していました。査読者応募や協賛企業一覧のつもりで開いたページから参加申込を送信でき、しかもそれが実際の申込として記録されていました。これらの view はフォールバックせずに処理を打ち切るようにし、ページを編集できる利用者にはその理由を説明する案内を表示します。view 名の打ち間違いは、従来どおり参加申込フォームにフォールバックします。
  • 修正: マイページのワンタイムコードが、IP アドレスあたり 1 時間に 3 回までに制限され、超過すると 1 時間ロックされていました。大学・企業・学会会場など、多数の利用者が 1 つのグローバル IP を共有する環境では、4 人目がコードを要求した時点で全員がロックされていました。送信自体が拒否されるため、コードは届かず、主催者側からは原因が見えませんでした。上限を 1 時間に 50 回・ロックを 10 分に変更しました。特定のメールアドレスを狙った濫用は、従来どおり 1 時間に 5 回までの制限で抑止されます。

1.2.3

  • 修正: 会員の CSV エクスポートが最大 100 件までしか出力されませんでした。エクスポートは最大 10,000 件を要求していましたが、内部の検索が 1 回のリクエストを 100 件に制限するため、ファイルは黙って短いまま — 完全なエクスポートに見えていました。該当するレコードをすべて頁送りして出力するようにしました。エクスポートが 20,000 件の安全上限に達した場合は、黙って終わるのではなく、ファイルの最終行にその旨を記載します。
  • 修正: レコードを頁送りする一覧が、重複しうる値(レコードの作成日、またはイベントの開始日)で並べ替えられていました。同じ値を持つ行はページ間で順序が保証されないため、あるレコードが 2 回現れたり、飛ばされたりすることがありました。頁送りするすべての一覧で、一意であるレコード ID を並べ替えの最後に加えるようにしました。
  • 修正: 暗号化キーのローテーションが成功した後も、以前のキーと比較し続けていたため、データを読み取れないという警告が出たままになっていました。ローテーションがエラーなく完了した時点で警告を解除するようにしました。いずれかのレコードが失敗した場合は、まさにその警告が必要な場面であるため、意図的に警告を残します。

1.2.2

  • 不具合を修正しました。暗号化キーの警告が、キーを wp-config.php に置いていないサイトにも「wp-config.php でキーを戻してください」と表示していました。既定の設定で導入したサイトでは、自動生成されたキーがデータベースに保存されるため、この案内では管理者が存在しないものを探すことになります。キーが実際にどこにあるかを表示するようにしました。
  • 不具合を修正しました。この警告が最も起きやすいのは、自動生成されたキーで動作していたサイトの wp-config.php に後から CONF_MANAGER_ENCRYPTION_KEY を追加した場合です。このとき以前のキーはデータベースに残っているため、警告でその旨と戻し方をお知らせするようにしました。この場合は 1 手順で完全に復旧できますが、以前はデータが失われたかのような表示になっていました。
  • セキュリティ: 暗号化キーの警告を消すには、フォームのボタンから送信する必要があるようにしました。以前はリンクでしたが、状態を変えるリンクはブラウザや拡張機能の先読みで開かれることがあり、誰も押していないのに基準値が進んで警告だけが消える — つまりキーが変更された唯一の手がかりが失われる — おそれがありました。フォームの送信以外のリクエストは受け付けません。
  • 不具合を修正しました。キーのローテーション処理が、レコードを更新しながら位置でページを送っていました。ページ間の順序は何も保証されないため、レコードが読み飛ばされて以前のキーで暗号化されたまま残るおそれがありました。レコード ID で進めるようにし、ページが進まない場合は処理を止めるようにしました。

1.2.1

  • セキュリティ: 暗号化キーが変更されたことを検知し、管理画面でお知らせするようになりました。以前のキーで暗号化された個人情報は、そのキーを戻すまで読み取れません。データ自体は失われていませんが、プラグイン側で自動的に復元する手段はないため、まだ簡単にやり直せるうちに警告を表示します。保存されるのはキーのハッシュだけで、キーそのものは保存されません。
  • 不具合を修正しました。キーのローテーション処理が「status」列を持たないテーブルを飛ばしたうえで成功を返しており、一部のレコードが古いキーでしか読み取れない状態になるおそれがありました。
  • 初期設定画面が、暗号化キーの保存先に関わらず「データベースが漏えいしても暗号化データは読み取れない」と表示していたのを修正しました。これが成り立つのはキーを wp-config.php で定義している場合だけです。既定の自動生成キーではキーがデータと同じデータベースに置かれるため、その旨を表示するようにしました。
  • 個人情報の保護に関する readme の説明を書き直し、どちらのキー保存先を推奨するかとその理由、16 文字未満のキーは無視されること、データを保存した後にキーを追加・変更すると既存データが永久に読み取れなくなることを明記しました。
  • 新しい暗号化キーを生成する未使用のコードを削除しました。このコードは実行される経路がありませんでしたが、もし画面に接続されていれば、既存の暗号化データを復元不能にしてしまうものでした。

1.2.0

  • 新機能: Conference メニュー配下に「新機能」画面を追加しました。このプラグインでできることを新しく追加された順に、それぞれがどのバージョンで入ったのかとあわせて一覧し、その下に別途配布している Pro 版で追加される機能を並べます。この画面は静的で、画像を表示せず、外部への通信も行わず、何も保存しません。
  • 別途配布している Pro 版が存在することを readme に明記しました。このプラグインの動作は変わりません。同梱しているすべての機能は完全に動作し、Pro 版のコードはこのパッケージに一切含まれていません。

1.1.12

  • 修正: データベースの更新を既にスキップしてしまっていたサイトを修復します。1.1.11 より前は、プラグインを有効化するとスキーマのバージョンだけが記録され、保留中の更新は実行されませんでした。そのため、記録上のバージョンは最新なのにデータは最新ではない状態になっていました。バージョンが最新に見えるため、1.1.11 だけではそうしたサイトを検出することも修復することもできません。このリリースでは 1.1.9 と 1.1.10 のデータ更新を一度だけ実行し直し、実際の入金額を補完するとともに、1.1.9 より前に行った返金を精算台帳へ移します。どちらの処理も未移行の行だけを対象とするため、既に正しい状態のサイトには影響しません。
  • データベーススキーマは v3.4.0 に自動更新されます。

1.1.11

  • 修正: プラグインを停止し、フォルダーを差し替えてから再度有効化する方法で更新した場合に、保留中のデータベース移行がスキップされていました。有効化時にスキーマのバージョンだけが記録され、移行が実行されなかったため、1.1.9 と 1.1.10 で導入した更新処理がそれらのサイトでは一度も実行されていませんでした。有効化時に移行を実行するようにしました。これにより同じ問題の再発は止まりますが、既に移行をスキップしてしまったサイトを復旧することはできません。復旧は 1.1.12 で行います。WordPress の通常のプラグイン更新機能で更新していたサイトは影響を受けていません。

1.1.10

  • 修正: 1.1.9 で精算台帳を導入する前に行った返金が集計されておらず、純入金額が返金額の分だけ過大になり、決済が精算済みと表示されることがありました。それらの返金は更新時に台帳へ移行されます。1.1.9 より前に記録された全額返金は税抜金額しか保持していないため、実際の入金額を基準に移行します。
  • 修正: 全額返金済みの決済が「要追加徴収」と表示されなくなりました。全額返金は申込のキャンセルを伴うため、請求額は未収ではなくなり、決済は精算済みとして扱われます。一部返金の扱いは変更なく、引き続き差額で精算されます。
  • 修正: イベント画面で演題テンプレートをアップロードまたは削除しても何も起きませんでした。スクリプトの読み込み漏れが原因です。
  • データベーススキーマは v3.3.0 に自動更新されます。

1.1.9

  • 決済管理: 請求額と実際の入金額を分けて管理するようにしました。入金を確認する際に、実際に受け取った金額(振込手数料が差し引かれた場合など)を、受付や経理への申し送りとあわせて記録できます。決済一覧に「請求額」「入金額」「差額」の列が加わり、対応が必要な行が強調表示されます。
  • 決済管理: 従来の返金ダイアログに代わる「精算」ダイアログを 1 つ用意し、差額の返金、追加徴収、全額返金と申込のキャンセル、誤って記録した入金額の訂正という 4 つのケースすべてに対応しました。返金と追加徴収は、方法と担当者を含む日付つきの台帳として保持され、イベントの集計にも反映されます。
  • 参加者リスト: 入金後でも申込の参加区分を修正できるようにしました。請求額のみを更新し、実際の入金額はそのまま保持するため、生じた差額は黙って失われるのではなく「要返金」または「要追加徴収」として表示されます。発行済みの領収書は同じ領収書番号で再発行されます。
  • 参加者リスト: 一覧を単一のイベント単位に絞り込むようにし(既定は直近のイベント)、ステータスと精算状況のバッジを表示し、参加区分の修正とステータス変更を 1 つの「修正 / 入金処理」ダイアログに集約しました。
  • 修正: 全額返金を、実際に受け取った税込金額で計算するようにしました。従来は税抜金額しか記録していなかったため、¥8,800 の入金に対して返金額が ¥8,000 と記録される一方、Stripe では ¥8,800 全額が返金されていました。
  • 修正: このリリースより前に消し込んだ決済には入金額が記録されていないため、更新時に請求額から補完します。これを行わないと、参加区分を修正した際に代わりの値が請求額と一緒に動いてしまい、必要な返金が検出されません。
  • CSV エクスポートに、入金額・返金額・追加徴収額・純入金額・差額・申し送りの各列を追加しました。また、数値をクォートしないようにしたため、Excel で数値として開けます。
  • 入金確認メールに、請求額と実際の入金額を並べて表示するようにしました。
  • データベーススキーマは v3.2.0 に自動更新されます。
  • 新しい文字列に合わせて、同梱の日本語翻訳を更新しました。

1.1.8

  • 改善: メールアドレス確認(ワンタイムコード)とマイページのログインコードのメールに、コードだけを記載するのではなく、差出人のサイト名・用途・連絡先のフッター(サイト設定から取得)を含めるようにしました。これにより、判定の厳しいメールサービス(Yahoo! JAPAN など)でフィッシングと判定されて拒否されたり、迷惑メールに振り分けられたりする可能性を減らせます。

1.1.7

  • 修正: 会員番号のない会員を編集して保存すると「会員を更新できませんでした。」と表示されて失敗する問題を修正しました。従来は、会員番号のない会員が 2 名以上いる場合、2 人目以降を保存すると空の会員番号で一意キーの衝突が起きていました。空の会員番号は NULL として保存するようにしたため(新規作成時と同じ扱い)、会員番号のない会員を何人でも保存できます。
  • 会員管理: 会員の新規作成・編集ダイアログで、各項目のラベルとその上のコントロールとの間隔を少し広げ、読みやすくしました。

1.1.6

  • 領収書: 参加者がマイページから領収書の宛名と会社名・部署名を編集し、同じ領収書番号で PDF を再発行できるようにしました(有効な領収書が常に 1 通だけになります)。会社名や勤務先、家族の名義で支払った場合に便利です。編集の前に所有者であることを検証し、但し書きの文言は変更されません。
  • 参加申込: 振込名義の申し送り欄(任意)を追加しました。本人と異なる名義(会社名や家族名など)で振り込む参加者が、実際に届く振込名義を主催者に伝えられます。この内容は参加者リストと決済管理の画面で管理者に表示され、領収書には印字されません。
  • 新しい文字列に合わせて、同梱の日本語翻訳を更新しました。

1.1.5

  • 通知: 新規申込を知らせる管理者向け通知の宛先を、初期設定画面で指定できるようにしました。カンマ区切りで複数のアドレスを入力できます。空欄の場合は WordPress の管理者メールアドレスが使われます。この通知は既定で有効で、管理画面へのリンクを含みますが、個人の連絡先はメール本文に含めません。
  • 参加者リスト: 管理者が参加者リストから、申込の参加区分と現地/オンラインの参加形態を修正できるようにしました。参加費・税・表示名・ステータスは自動的に再計算され、未処理の請求金額や発行済みの請求書も整合が保たれます。編集できるのは、未入金(保留中・確定済み)の個人申込に限られます。
  • 修正: 新規作成したイベントを公開したとき(および同様の操作を行ったとき)に、管理画面が白紙にならないようにしました。表示エラーの境界処理により、白い画面ではなく再読み込みを促す表示で復帰します。
  • 新しい文字列に合わせて、同梱の日本語翻訳を更新しました。

1.1.4

  • 無料イベント: 合計が ¥0 の申込を自動的に確定するようにしました(決済レコードは作成されず、確認メールにも振込先を記載しません)。個人申込と団体申込の両方に適用されます。
  • イベント編集: 参加費の入力欄で 0 を入力し、そのまま保持できるようにしました(従来は 0 が空欄に戻されていました)。空欄または 0 は無料を意味することを、プレースホルダーと注記で示します。また、当日料金の表にカスタム料金区分を削除するボタンを追加しました。
  • 安全性: アンインストール時に、既定でデータを保持するようにしました。また、古いプラグインが別のフォルダーに残っている場合に致命的なエラーが起きないよう、二重読み込みを防ぐガードを追加しました。

1.1.3

  • 国際化: プラグインのソース言語を英語にしました。PHP のバックエンドと React の管理画面・申込画面にあるすべての表示文字列は、英語の原文と __()_e()、テキストドメイン conferencemanager を使用しています。これにより、translate.wordpress.org を通じて任意の言語へ翻訳できます。同梱の日本語翻訳(languages/conferencemanager-ja.po.mo と React 用の翻訳 JSON)により、日本語 UI は従来どおり完全に利用できます。

1.1.2

  • プラグインレビューのフィードバックへの対応(v1.1.1 の申請分):
    • Trialware: オンライン会議(Zoom/Meet/Teams)と Peatix 連携に関する項目を、コアプラグインからすべて削除しました(データベースの列、管理画面、REST の処理、ドキュメントを含みます)。これらは別途配布するアドオンで提供するものであり、コアプラグインはロックされた機能やスキップされる機能のコードを一切同梱しません。現地/オンラインの参加費区分は、引き続き完全に利用できます。
    • サードパーティライブラリ: 使用していない chillerlan/php-qrcodeweb-auth/webauthn-lib への依存を削除し(パスキー対応は PHP の標準機能で実装しています)、stripe/stripe-php を 20.2.0 に、同梱の setasign/fpdi を 2.6.7 に更新しました(セキュリティアドバイザリ CVE-2026-45802 への対応)。
    • 書き込み先の変更: ダウンロードまたはアップロードした PDF 用フォントを、プラグインフォルダー内ではなく wp-content/uploads/conf-manager/fonts/ の下に保存するようにしました。これにより、プラグインの更新や読み取り専用の環境でも影響を受けません。
    • REST API: 参加費を計算する公開エンドポイント(/public/events/{id}/fee)が、未公開のイベントに対して 404 を返すようにしました。イベント詳細のエンドポイントと挙動を揃えたもので、未公開の価格情報が漏れることはありません。

1.1.1

  • プラグインレビューのフィードバックへの対応(v1.1.0 の申請分):
    • ソースコード: コンパイル済みの build/admin-app.jsbuild/public-app.js の元となる React/JSX のソースを、ビルド設定(webpack.config.jspackage.jsonpackage-lock.json)とあわせてプラグイン内(src/)に同梱しました。新設した「Development / Building from source」の節をご覧ください。
    • コアファイル: require_once ABSPATH . 'wp-admin/includes/file.php' を、それを必要とする download_url()wp_handle_upload() の呼び出しの直前に移動しました。
    • REST API: トークン認証を用いる公開エンドポイント(マイページ、申込履歴、団体申込の担当者、配信設定、ログアウト)で、permission_callback 内で CSRF トークンとセッショントークンを検証するようにしました。
    • プライバシー: メールアドレスによる会員の存在確認を行う公開エンドポイントが、個人情報(氏名)を一切返さないようにしました。返すのは存在の有無と、個人を特定しないメタデータのみで、IP とメールアドレスを組み合わせたレート制限で保護されています。
    • HEREDOC 構文を削除しました。既定の利用規約の本文は、出力バッファリングを用いてテンプレートの部分ファイル(templates/default-terms-content.php)から出力するようになりました。
  • 修正: 「フォントが未インストールです」の管理画面通知が誤ったページスラッグを指しており、「権限がありません」というエラーになっていました。正しくダッシュボードが開くようにしました。
  • 改善: PDF 用フォント(IPAex ゴシック/明朝)を、開発元自身のミラーからダウンロードするようにしました(自動リトライ付き)。また、ダウンロード先へ接続できないサーバー向けに、ダッシュボードから .ttf を手動でアップロードする方法を追加しました。ダウンロード URL は conf_manager_font_source_url フィルターで変更できます。

1.1.0

  • プラグインレビューのフィードバックへの対応(v1.0.3 の初回申請分):
    • 任意の有料アドオンによる機能制限を撤廃しました。このプラグインに含まれるすべての機能は完全に動作し、無料で利用できます。
    • PDF テンプレートからインラインの <style> タグを削除しました。PDF 用のスタイルシートは、専用の CSS ファイルから読み込むようになりました。
    • Stripe 決済との連携を追加しました(サイト管理者ご自身の Stripe API キーが必要です)。
    • 利用しているすべての外部サービス(Stripe、IPA フォント)を、下記の外部サービスの節に明記しました。
    • すべての REST API ルートを見直し、そのルートに求められるアクセス要件に応じて permission_callback が適切に設定されていることを確認しました。
    • load_plugin_textdomain() を削除しました(翻訳は WordPress が自動的に読み込みます)。
    • 配布パッケージに composer.json を追加しました。
  • 新機能: 特定電子メール法に対応するため、メール配信のオプトイン/オプトアウト機能を追加しました。
  • 新機能: 会員のマイページに「配信設定」タブを追加しました。
  • 新機能: マイページへリンクする、RFC 8058 準拠の List-Unsubscribe ヘッダーに対応しました。
  • 修正: テキストドメインを conferencemanager に統一しました。また、translators コメントと、安全な動的 SQL クエリに対する phpcs:ignore コメントを追加しました。
  • データベース: スキーマを v3.0.0 に更新しました。使用しないアドオン用のテーブルは作成されなくなりました。

1.0.3

  • WordPress.org プラグインディレクトリへの初回申請。