会員サイトプラグイン「Simple Membership」の日本語表記をいい感じにしよう!【WordPress】




こんにちは、プロクラスの中山です!

さて、今回の内容は「Simple Membership」というプラグインを使ったWordPressのカスタマイズです。
Webデザイナーとしてホームページを作る方やWordPressのプラグインを活用してサイトのプログラムを用意するプログラマーの方はぜひご覧ください!

Simple Membershipプラグインとは?

私は普段ホームページの作り方などの授業の講師だけではなく、Webデザイナー・ディレクターとしてホームページ制作をお仕事としてもやっているので、お客様のご要望に合わせたホームページの作成や修正などもいろいろとやっております。

今回の記事はプロクラスのWordPress講座を受けた方にとってはマニアックすぎる「プラグインをさらにカスタムする」内容となっております。
…なので、HTMLやプログラムはできるだけ触りたくない!という初心者の方には意味不明な内容となること、ご了承くださいませ 😳 

このWordPressプラグインは、WordPressの特定のページを会員登録した人にしか見れないようにする「会員プラグイン」というジャンルのものです。
無料でWordPress公式サイトからダウンロードできるのにかなり色々な機能がついております。
有料の読者会員を作って、サイト上で支払い(Paypal)をしてもらうことだって可能です!

WordPress.org Simple Membershipのページはこちら

プラグインだけでも十分なのですが、さらにアドオンを使うと様々な機能を追加することが可能です。
たとえば、WordPressのユーザーを会員としてインポートするアドオンや、ログインをした後に好きなページにリダイレクトさせるためのアドオン、迷惑メールを防ぐためのGoogleのツール「reCAPTCHA」を導入するためのアドオンなど。

アドオンの一覧はこちら(英語)
※ブラウザで日本語に翻訳していただくとなんとなく機能はわかると思います。

Simple Membershipプラグインの表記を日本語に直そう

このプラグインはもともと英語のものなので、時々細かい部分などで日本語がたどたどしいところがあります。
頑張って翻訳してくれているのですが、自分の好きな表記に調整したい!という部分が多々あります。

これらは面倒ですが、プラグインの中のファイルの記述を修正していきましょう。
(プラグインをアップデートすると消えてしまうので注意しましょう!また、プログラムの記述がおかしいとプラグイン自体が止まってしまうかもしれないので、バックアップを取るのも忘れずに。)

※Version: 3.9.6のプラグインでの内容です。バージョンによっては内容が異なりますのでご注意ください。

ログインフォームのバリデーションメッセージが英語!日本語に直したい!

「This field is required」

「This field is required」などの赤い吹き出しの部分は「この項目は必須です」「メールアドレスが正しくありません」などのフォームのエラーメッセージですが、こちらは英語で出てきてしまい、日本語に対応していないようです。

この項目を修正するには、「wp-content/plugins/simple-membership/classes」の中の「class.simple-wp-membership.php」というファイルを書き換えなくてはいけません。

classes/class.simple-wp-membership.php

※画像をクリックすると拡大してご覧いただけます。

こちらのコードは「//」で元の英語表記をコメントアウトして、次の行に日本語での表記の行を追加しています。
各項目で表示したい文章を入れましょう!

「Already taken」

続いて、ここ以外にもバリデーションメッセージの記述がありますのでもう1箇所直しましょう。
「すでにこのユーザーは登録されていますよ」という部分、「Already taken」です。

この部分は別のファイルに記述されています。
同じく「wp-content/plugins/simple-membership/classes」のフォルダの中ですが、「class.swpm-ajax.php」というファイルとなります。

classes/class.swpm-ajax.php

こちらも同じように、英語の行をコメントアウトしてその代わりに日本語の「すでに登録済みです」という文章に変えたものを追加しております。

ログインフォームのエラーメッセージとメールによるアカウント認証

会員登録をした後に、メールアドレス認証を設定した場合のエラーメッセージです。
新規会員登録をした後に届く認証メールのリンクをクリックしないとアカウントが有効化にならない「Email Activation」が設定されている場合は、認証をクリックせずにログインしようとすると下記のようなメッセージが表示されます。

「You need to activate your account.If you didn’t receive an email then click here to resend the activation email.」
⇒【直訳】あなたのアカウントを有効化する必要があります。もしメールが届いていない場合は、ここをクリックして認証メールを再送してください。

↓ 下記のように日本語に修正したい!↓

この部分を日本語化する場合は下記のファイルを編集しましょう。

classes/class.swpm-auth.php

今回の場合は、こちらの文章に差し替えました。
「ご登録いただいた際に確認メールをお送りいたしました。メールに記載されているURLをクリックしてアカウントを有効化してください。
確認メールを再送する場合はここをクリックしてください」

メールによるアカウント認証設定画面

「WP Membership」>「会員レベル」のところの「Email Activation」にチェックがついている場合は、会員登録された方がメールで届く認証URLをクリックしないとログインができません。

ちなみに、このアカウント有効化メールの本文も日本語で設定するように注意しましょう。
この部分を日本語化しておかないとメールが届いたユーザーの方が認証リンクをクリックしてくれませんね。

「WP Membership」>「設定」の中の「Email Settings」からメールを編集することが可能です。

メールアドレス認証後の画面も日本語化!

ユーザーがアカウント認証のためのURLをクリックしてくれた後に表示される画面、こちらも英語の表記となっております。
最初にしか目にすることはない画面ですが、これらのメッセージも日本語に変更しておきたいところです。

↓ 下記のように日本語に修正したい!↓

「Success!Your account has been activated successfully.」
⇒あなたのアカウントの有効化が成功しました。

「You will be automatically redirected in a few seconds.If not, please click here.」
⇒この後自動的にページが遷移いたします。もしページが切り替わらない場合は、ここをクリックしてください。

または、その後再びアカウント認証URLをクリックした時は下記のようなメッセージに変わります。

↓ 下記のように日本語に修正したい!↓

「Account already active.click here to login.」
⇒すでにアカウントは有効化されています。ここをクリックしてログインしてください。

classes/class.swpm-front-registration.php

classes/class.swpm-utils-misc.php

「この後自動的にページが遷移いたします。」の部分は違うファイルに書かれているようです。

ログインフォームの「Forgot Password?」などの表記の一部が英語のまま!

「パスワード」は日本語なのに、「Username or Email」は英語のままですね。
また、その下の「Forgot Password?」も日本語化したいところです。

↓ 下記のように日本語に修正したい!↓

views/login.php

こちらのファイルはここまでの編集したファイルと違うフォルダ「views」の中にあるのでご注意ください。

会員しか表示できないページへのメッセージを修正

日本語で表示されるこちらのメッセージですが、ちょっと変な感じですよね。
この表記を自然な文章に修正したいと思います。

classes/class.swpm-access-control.php

まずは文章を日本語に修正します。

続いて、後ろの「ログイン」や「会員について」の自動で生成されるリンクの位置が微妙なので、少しコードを修正してしまいましょう。
先ほど修正した文章の後ろに続けて全てのメッセージを記載し、48行目の最後の部分にセミコロンを追加します。
その後に続いていた部分はコメントアウトをしてしまいました。下記の場合は改行して49行目となっている部分です。

閲覧できる会員レベルが限られている時のエラーメッセージを修正

無料会員と有料会員があって、有料会員の人しか見れないようになっているページがあった場合、無料会員の人がそのページにアクセスすると「このコンテンツはあなたの会員レベルでは閲覧できません。」というメッセージが表示されます。
自動で日本語化されているのは嬉しいですし、確かに内容としてはその通りなのですが…ちょっと冷たい言い方ですよね。
もう少し言い方を変えたいのと、あわよくば有料会員にアップグレードしてもらえるようにご案内を追加しましょう。

↓ 下記のように日本語に修正したい!↓

classes/class.swpm-access-control.php

例えば、今回はこちらのように有料会員にアップグレードする方法を書いたページへのリンクを記載しておけば、無料会員の方が有料会員になってくれるかもしれません。

プラグイン内のファイルを編集する時の注意点

直接プラグインの中のファイルを編集する形で今回は表記を修正いたしました。
この場合の注意点は、「プラグインを更新したらせっかく修正した内容が元のファイルに置き換えられて消えてしまう」という点です。

このSimple Membershipのプラグインの更新情報が出た時はむやみに最新版にアップデートしてしまわないように気をつけましょう。
セキュリティなどを考慮すると新しいものに入れ替えたほうがいいので、必要な場合は再度今回編集したファイルを修正する必要があります。

または、翻訳ファイルを作成したり上書きするためのプログラムを作成するなど他にも対処法はありますので、今回の方法では対応したくないという方はいろいろ調べてみてください!

Simple Membershipは無料使えるのに便利でとても多機能なので、うまく活用すると心強い味方になります!
ぜひ使いこなして素敵なサイトを作ってくださいね。