ワードプレスで会員サイトを作るためのプラグイン『Simple Membership』は、無料で会員サイトが作れて非常に助かるプラグインなのですが、自動翻訳の性能がちょっとイマイチ…。
例えば、ログインしていない人が制限されたページにアクセスした時に表示されるメッセージは、
「このコンテンツを閲覧するにはログインが必要です。お願い ログイン。あなたは会員ですか?会員について」と、わからないわけじゃないんですが、ちょっと微妙。
そこで、このメッセージの編集方法をご案内いたします。
プラグインのメッセージ編集画面はこちら
ワードプレスにログインし、左側のメニューの『プラグイン』にカーソルを置き、表示されたサブメニューの『プラグインファイルエディター』をクリックします。
『プラグインを編集』画面になるので、右上の『編集するプラグインを選択』から『Simple WordPress Membership』を選択して、[選択]ボタンを押します。
すると、選択ボタンの下の『プラグインファイル』の部分が、『Simple WordPress Membership』のものに変わりますので、その中から編集対象のファイルを探して選択してください。
例えば、『classes』の中の『class.swpm-access-control.php』であれば、下図のとおりです。
ここからは変更したいメッセージに応じて、修正なさってください。
「このコンテンツを閲覧するにはログインが必要です。お願いログイン。あなたは会員ですか?会員について」を変更する
冒頭にも書いたとおり、ログインしていない人が制限されたページにアクセスした時に表示される「このコンテンツを閲覧するにはログインが必要です。お願い ログイン。あなたは会員ですか?会員について」という、ちょっと微妙なメッセージを修正します。
修正するファイルは『classes』-『class.swpm-access-control.php』
//Check if the user is logged in.
if(!$auth->is_logged_in()){
//This user is not logged into the site. No access to this protected post.
$text = SwpmUtils::_('You need to login to view this content. ') . SwpmMiscUtils::get_login_link();
$error_msg = '<div class="swpm-post-not-logged-in-msg">'.$text.'</div>';
$this->lastError = apply_filters('swpm_not_logged_in_post_msg', $error_msg);
return false;
}
上記の赤字にした行が制限されたページへログインを促すメッセージの内容です。これを、下記のように修正します。
//Check if the user is logged in.
if(!$auth->is_logged_in()){
//This user is not logged into the site. No access to this protected post.
$text = SwpmUtils::_('ここからは限定コンテンツです。会員の方は<a href="https://granvi.jp/login/">ログイン</a>してください。会員登録は<a href="https://granvi.jp/join/">こちら</a>をご覧ください。');
$error_msg = '<div class="swpm-post-not-logged-in-msg">'.$text.'</div>';
$this->lastError = apply_filters('swpm_not_logged_in_post_msg', $error_msg);
return false;
}
抜粋すると…
「//Check if the user is logged in.」と書かれた段落内の「$text =」から始まる行を修正します。
$text = SwpmUtils::_('You need to login to view this content. ') . SwpmMiscUtils::get_login_link();
この行を今回は下記のように変更しました。
$text = SwpmUtils::_('ここからは限定コンテンツです。会員の方は<a href="https://granvi.jp/login/">ログイン</a>してください。会員登録は<a href="https://granvi.jp/join/">こちら</a>をご覧ください。');
シングルクォーテーション『’』で囲まれた箇所が表示されるメッセージです。また、元の行にある「SwpmMiscUtils::get_login_link()」というのは、ログインページのURLを呼び出している文です。
修正文では、メッセージの合間に直接ログインページのURLを差し込みましたので、こちらは削除しています。
修正後は、「ここからは限定コンテンツです。会員の方はログインしてください。会員登録はこちらをご覧ください。」というメッセージ表示になりました。
修正後は、画面一番下にある「ファイルを更新」ボタンを押して変更を保存してください。
More タグ以下のコンテンツを限定公開している場合
なお、『More タグ以下のコンテンツを限定公開』(『続きを読む』以降をメンバーのみに表示させている)している場合、同ファイルをの別箇所の修正が必要です。
同じファイル内でスクロールし、「//More tag protection is enabled in this site. Need to check the post segments to see if there is content after more tag.」の下にある「//User is not logged-in. Need to show the login message after the more tag.」と書かれた段落内の「$text =」から始まる行を上記同様に修正してください。
//More tag protection is enabled in this site. Need to check the post segments to see if there is content after more tag.
$post_segments = explode( '<!--more-->', $post->post_content);
if (count($post_segments) >= 2){
//There is content after the more tag.
$auth = SwpmAuth::get_instance();
if(!$auth->is_logged_in()){
//User is not logged-in. Need to show the login message after the more tag.
$text = SwpmUtils::_('ここからは限定コンテンツです。会員の方は<a href="https://granvi.jp/login/">ログイン</a>してください。会員登録は<a href="https://granvi.jp/join/">こちら</a>をご覧ください。');
$error_msg = '<div class="swpm-more-tag-not-logged-in swpm-margin-top-10">' . $text . '</div>';
$more_tag_check_msg = apply_filters('swpm_not_logged_in_more_tag_msg', $error_msg);
ログインページの「パスワードをお忘れですか?」「会員について」を変更する
会員サイトのログインページの「Show password」と「パスワードをお忘れですか?」と「会員について」のメッセージを「パスワードを表示する」と「パスワードをお忘れの方はこちら」と「コミュニティのご案内はこちら」に変更してみます。
修正するファイルは『views』-『login.php』
<span class="swpm-password-toggle-label"> <?php _e('Show password', 'simple-membership') ?></span>
<div class="swpm-forgot-pass-link">
<a id="forgot_pass" class="swpm-login-form-pw-reset-link" href="<?php echo $password_reset_url; ?>"><?php echo SwpmUtils::_('Forgot Password?') ?></a>
</div>
<div class="swpm-join-us-link">
<a id="register" class="swpm-login-form-register-link" href="<?php echo $join_url; ?>"><?php echo SwpmUtils::_('Join Us') ?></a>
</div>
この行の部分がメッセージの内容を表しています。これを例えば、下記のように修正します。
<span class="swpm-password-toggle-label"> <?php _e('パスワードを表示する', 'simple-membership') ?></span>
<div class="swpm-forgot-pass-link">
<a id="forgot_pass" class="swpm-login-form-pw-reset-link" href="<?php echo $password_reset_url; ?>"><?php echo SwpmUtils::_('パスワードをお忘れの方はこちら') ?></a>
</div>
<div class="swpm-join-us-link">
<a id="register" class="swpm-login-form-register-link" href="<?php echo $join_url; ?>"><?php echo SwpmUtils::_('コミュニティのご案内はこちら') ?></a>
</div>
シングルクォーテーション『’』で囲まれた箇所が表示されるメッセージになるので、その内容をそれぞれ変更するかたちです。
修正後は、画面一番下にある「ファイルを更新」ボタンを押して変更を保存してください。
修正後はこのようなメッセージ表示になりました。
注意事項
変更の保存がうまくいかない
ファイルによっては「変更を保存」ボタンを押すと、エラーメッセージが出て変更できない場合があります。
その場合は、ワードプレスの管理画面での修正ではなく、修正ファイルをFTP(もしくはレンタルサーバー会社のファイルマネージャー機能)でダウンロードしてテキストエディターなどで修正後、FTPでアップロードなさってください。
いつのまにかメッセージが元に戻ってる!?
この方法は、直接プラグインのファイルを修正していますので、プラグインのアップデートがあった場合、元に戻ってしまう可能性があります。
その場合は、再度同じように修正してください。