LoginSignup
0
0

Welcart(1系)の新規会員登録ページが表示できない

Last updated at Posted at 2023-06-05

はじめに

さまざまな事情などある場合で、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ヶ所ほどあるかと思います。

usceshop.class.php

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の新規会員登録ページが表示できないは解決。
新規会員登録ページ
パスワード変更ページ
ログアウトページ、これらが問題なく動作するようになりました。

アップデートできるなら、こんな事を調べる必要もないのですが、世の中にはいろんな事情があるので、
そんな時はやはり、あくまで自己責任でコードを見て対処する他ありませんね。

リンク

新規会員登録ページが表示できない (本家コミニティ)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0