Welcartでオンラインショップを制作していて、「新規会員登録ページ」へのリンクを設置したのに、なぜか会員ページ(ログインページ)にリダイレクトされてしまい、新規登録ができない——原因が分かりづらい、やっかいなトラブルです。
結論から言うと、今回のケースの原因はWordPressとWelcartのバージョンの相性でした。WelcartのバージョンにWordPress側を合わせる(今回はWordPressをダウングレードする)ことで解決しています。この記事では、症状・試したこと・解決策を順に解説します。
コーポレートサイト+ショッピングサイトの制作でよく使うWelcart。今回つまずいたのは、「新規会員登録ページ」に飛ばない問題です。いつもと同じようにリンクを設置したのに、会員ページにリダイレクトされて新規会員登録ができませんでした。
《新規会員登録ページURL》
https://example.com/usces-member/?page=newmember
上記ページへのリンクをクリックすると、次の会員ページ(ログインページ)にリダイレクトされてしまう、という状態です。
《会員ページ/ログインページ》
https://example.com/usces-member/
今回はリニューアル案件で、既存システムの都合上、PHPのバージョンを5.6より上げられない状況でした。そのため、WordPressは新しいバージョンを、Welcartは少し古いバージョンをインストールしていました。
まず、定番の対処をひととおり試しましたが、いずれも解決しませんでした。
定番の対処で直らないことから、より根本的な問題が疑われました。引っかかっていたのは、WordPressとWelcartのバージョンの組み合わせです。
今回はPHPのバージョンの都合で、WordPressは新しいバージョン、Welcartは少し古いバージョン、という組み合わせになっていました。この相性が原因と考えられたため、WordPressのバージョンをダウングレードして、Welcart側に合わせることにしました。
WordPressのダウングレードは、FTPで直接ファイルを触らなくても、「WP Downgrade」というプラグインを使えば比較的簡単に行えます。作業前には必ずバックアップを取っておきましょう。

今回は、5.7.2から5.0.13までダウングレードしました。完了後、サイトの表示に問題がないことを確認し、あらためて新規会員登録ページのURLにアクセスしたところ、正しく新規会員登録ページに遷移するようになりました。
1点、注意しておきたいことがあります。WordPressコアのダウングレードは、セキュリティ更新から取り残されるリスクを伴うため、本来は最終手段です。可能であれば、環境(PHP)に対応したWelcartのバージョンを選び、WordPressは新しいまま揃えるほうが安全です。
今回はPHPを上げられない制約があったためダウングレードで対応しましたが、実行する際は必ずバックアップを取り、ステージング環境で確認してから本番に反映するようにしましょう。
いつもと同じように進めていても、案件ごとにPHPやプラグインのバージョンは異なります。今回のように、WordPressとWelcartのバージョンの相性が、思わぬ不具合の原因になることがあります。定番の対処で直らないときは、バージョンの組み合わせを疑ってみてください。