はじめに
さまざまな事情などある場合で、Welcartをバージョンアップできない、Wordpressはバージョンアップして使うケースで、
新規会員登録ページが表示できないということがあるようで、対処方法を共有します。
要するにはWelcartを1系のまま使いたい時ですかね。
コードの変更箇所
いろいろ調べてみると、どうやらGETパラメータの?page=XXXが使えなくなっているようでした。
変更箇所は以下のファイルで変更を余儀なくされるところを変更する事で対処できました。
プラグイン/usc-e-shop/classes/usceshop.class.php
function make_url()に記述されている、定数で以下の記述されている箇所をすべて
USCES_MEMBER_NUMBER
USCES_LOSTMEMBERPASSWORD_URL
USCES_LOGIN_URL
USCES_LOGOUT_URL
★変更前
&page=xxxx
↓変更後
&usces_page=xxx
20ヶ所ほどあるかと思います。
function make_url(){
//テンプレートで使われているURL定数の定義を変更してやる
//例 &page=newmember → &usces_page=newmember
if( ! defined('USCES_NEWMEMBER_URL') )
define('USCES_NEWMEMBER_URL', $this->options['ssl_url'] . '/index.php?page_id=' . USCES_MEMBER_NUMBER . '&uscesid=' . $this->get_uscesid() . '&usces_page=newmember');
function regist_action(){
// 上に元の記述があり・・・
//以下を追記 getでusces_pageがあったら、それに沿った処理をさせる記述
usces_register_action('page_login', 'get', 'usces_page', 'login', 'member_login_page');
usces_register_action('page_logout', 'get', 'usces_page', 'logout', 'page_logout');
usces_register_action('page_lostmemberpassword', 'get', 'usces_page', 'lostmemberpassword', 'page_lostmemberpassword');
usces_register_action('page_newmember', 'get', 'usces_page', 'newmember', 'page_newmember');
usces_register_action('page_search_item', 'get', 'usces_page', 'search_item', 'page_search_item');
}
これだけの変更で、Welcartの新規会員登録ページが表示できないは解決。
新規会員登録ページ
パスワード変更ページ
ログアウトページ、これらが問題なく動作するようになりました。
アップデートできるなら、こんな事を調べる必要もないのですが、世の中にはいろんな事情があるので、
そんな時はやはり、あくまで自己責任でコードを見て対処する他ありませんね。