前回の投稿は、4.5.2をスルーして4.5.3へアップデートした話でしたが、
同じ9月に3度目のローンチとは忙しいですね。
まだこのサイトは4.5.3のままですが、現在進行形の案件では、すでに4.5.4を採用しています。
当サイトが得意とするカスタムに関わるファイルに変更はまったくなく、
4.5.3のカスタムファイルで上書き使用できることは確認済みです。
とはいえ、納品前にバージョンアップされるとキツいことは事実ですね。
今回は対応不要だったのでまだ良いですが、そうじゃなかったら悲惨でした。
やはり、作業開始前にきっちりバージョンを指定することが肝要です。
ところで、4.5.3の新機能である「Display the subscription payment cancellation status」ですが、
前回はイマイチとしたものの、やはりこれはこれで悪くないと感じ始めました。
現在進行形の案件でも不採用ではあるのですが、従来のカスタムを見直し、
「有効無効を問わず最新(最終)のサブスクリプション開始日を表示」
から、
「有効なサブスクリプションが存在する場合のみ、開始日を表示」
へ改めました。
いろいろあっての前者だったわけですが、やはり後者のほうが自然です。
もちろん、開始日ではなく満了日を表示することも可能です。
自動更新でない場合などには有効だと思います。
ただ、その場合はアカウントの有効期限(会員レベル表示)で示すことも可能なので、
どちらを採用するかは悩ましいところでもあります。
アカウントとしては無料会員へのダウングレードを含めれば「無期限」であり、
サブスクも解約するまで無期限の自動更新ながら、
「支払済みの」「現在の」サブスクの期限が表示されるというのは混乱を招く、
と考えることからの「開始日」であるわけです。

スクリーンショットでおわかりのように、現在進行形の案件は会員制システムの入れ替えです。
つまり、他の会員制システムから会員データのエクスポートをし、
それを加工してSWPMへインポートする作業も発生するわけですが、これがなかなか厄介です。
そもそもSWPMの管理画面では、エクスポートすらできない仕様のため、インポートなどあり得ません。
アドオンを使用すればできるのですが、3つのアドオンに分かれていて、戸惑います。
内、エクスポート用のひとつだけが有料なのですが、インポートはサポートしていない、と読めます。
(管理人もそう誤解していたクチです)
実はこれ、「単体ではできない」だけのことで、インポート用の無料アドオンを使えばインポート可能なのです。

「ダウンロードだけして満足できる人がどれほどいるのか謎ですが、
その機能で良ければ、$39.95(買い切り)で手に入りますが、いかが?」
と言われている気がして、せっかくの販売チャンスをみすみす潰している気がしますね。
実際は、3つのアドオンは以下のように分業しています。
- インポート(無料)
- エクスポート(有料)
- 内部移動(無料、WordPressユーザーからSWPMメンバーに同期)
3つインストールするのはスマートじゃないですし、
SWPMメンバーからWordPressユーザーへ同期できない時点で、なんだかなぁ、となります。
スキルある人なら、データベースを直接イジるからもうイイよ! 的な中途半端さなんです。
データベースレベルで移植できたとしても、
通常の手順で登録したSWPMメンバーはWordPressユーザーと自動同期(紐づけ)する仕様であることが、
移植のハードルを上げています。
データベースに直接追加したSWPMメンバーからは、自動でWordPressユーザーに追加されないんですね。
同期が取れていないと、正常動作しない機能がチラホラあるのです。
たとえばパスワードリセットは、送信メール内にリセットリンクが生成されません。
つまり、「相互同期」を必要なときにだけ実現してくれるアドオンが重要なのに、ないんですよ。
なので仕方なく、当サイトで作りました。
移植作業全体で見れば、CSVの加工の手間などもあり、
全自動ではないため、コードの商品化は考えていませんが、ですが、
上級者向けに販売することにしました(20,000円)。
純正のアドオンよりはるかに高額ですが、それだけの価値はあります(2024.10.4)。
一部の作業を時短できるので移植サービスのオールインワンツールとしてはアリだと思います。
(WordPressユーザーをインポート&エクスポートする無料プラグインは複数出回っています)
兎にも角にも、
「当サイトは、SWPMカスタムだけでなく、SWPMへの会員制システム入れ替えにも強い」
とご認識いただければ幸いです。

10/16追記
よくよく考えてみると、ステータスは常時表示のほうが親切であって、
サブスクリプション開始日表示は以下のように変更しています。
つまり、4.5.3の新機能である「Display the subscription payment cancellation status」と同じ位置に、
デフォルトの「キャンセル済みのユーザーにのみ」表示するのではなく、
「現在有効なサブスクリプションがあるユーザーにのみ」表示しています。
今回は見送りましたが、
「サブスクリプション開始日」の前に「現在有効な」を加えて表示することも、
もちろん可能です。

ピンバック: SWPM4.5.8について - SWPMデモ