WooCommerce で売るのをやめたら会員登録も止める:マイアカウント・チェックアウト・WordPress 本体の 3 か所

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

WooCommerce で商品を売るのをやめ、サイトを見本や紹介だけの形に変えたあと、ログインしていない状態で「マイアカウント」のページを開くと、会員登録のフォームが残っていました。サイトには「会員登録はいりません」と書いていたので、見た人が迷ううえに、使わないフォームから知らない人のアカウントが作られるおそれもあります。

会員登録のフォームは 3 か所から出る

止めるところは 3 つあります。WooCommerce の「マイアカウント」のページと、購入の画面(チェックアウト)、それから WordPress 本体の登録の画面です。WooCommerce の設定だけ見て安心すると、本体の登録の画面が開いたまま、ということがあります。

  • マイアカウント:WooCommerce → 設定 → アカウントとプライバシー →「アカウント作成」の「「マイアカウント」ページ上」
  • 購入手続き(チェックアウト):同じ「アカウント作成」の「購入手続き時」
  • WordPress 本体:設定 → 一般 →「メンバーシップ:だれでもユーザー登録ができるようにする」

3 つともチェックを外して保存します。ログインのフォームは残るので、管理者のログインには困りません。

設定を戻されないようにコードで止める

プラグインの更新や、ほかの人の操作で設定が戻ることが気になるなら、テーマの functions.php で値を決めてしまう方法もあります。pre_option_ のフィルターは、DB の値を読む前に返す値を決められるので、設定の画面で変えても効きません。

// WooCommerce の会員登録を止める(設定の画面の値より優先)
add_filter( 'pre_option_woocommerce_enable_myaccount_registration', function () {
	return 'no';
} );
add_filter( 'pre_option_woocommerce_enable_signup_and_login_from_checkout', function () {
	return 'no';
} );

// WordPress 本体の登録も止める
add_filter( 'pre_option_users_can_register', '__return_zero' );

コードで止めると、設定の画面のチェックを入れても登録は開きません。あとでまた売るときに戻し忘れないよう、コメントに理由を書いておきます。

止めたあとに確認すること

  • ログアウトした状態(またはシークレットウィンドウ)で「マイアカウント」のページを開き、登録のフォームが出ないこと
  • /wp-login.php?action=register を開くと、登録は無効という表示に移ること
  • ページのキャッシュを使っているなら、キャッシュを消してから見ること(前のページが出ることがあります)
  • プライバシーポリシーに「アカウントのパスワード」「購入履歴」などが残っていれば、今の形に書き直すこと

売るのをやめたサイトでは、返品のポリシーやお問い合わせのフォームも残りがちです。使わないものはページを下書きに戻し、来た人は案内のページへ 301 で移しておくと、古いリンクから来た人も迷いません。

SiteBeacon(サイトビーコン)

サイトが止まったら、すぐに気づける。

ホームページを 5 分ごとにチェックして、止まったとき・エラーが出たとき・SSL やドメインの期限が近いときに、メールでお知らせします。2 サイトまでは、ずっと無料で使えます。

SiteBeacon を見る サイトを直す相談をする

監視で気づいたあとの直す作業も、同じ担当がお受けします。