会員制サイトを手軽に作れるWordpressのプラグインWP-Members。
個人やごく小さなコミュニティでは有効的なプラグインです。
特殊なプラグインの為、カスタマイズ方法の情報も多くはありません。
当ブログ及び関連ブログでも会員制にしているブログがあります。
場合によってはカスタマイズする事があります。
このブログは会員制にする必要性は僅かですが、テスト的にも採用している記事があります。
この記事も同様で、カスタマイズした部分の備忘録になります。
主なカスタマイズはラベルの変更になりますが、ラベルの変更は検索すれば容易に探せます。
この記事はさほど重要な内容ではありませんが、テストケースとして登録者のみ閲覧できる記事になっています。
Contents
WP-Members
WP-Membersは手軽に会員制のブログやサイトが構築できるWordpressのプラグインです。
WordPressの特性上、大規模な企業のサイトには向いていませんが、個人や小規模の店舗等には便利なプラグイン。
WP-Membersカスタマイズ
1)会員には内部を見せない
2)ログインした時に氏名を表示させる
3)オリジナルの「名・氏」の順を「氏・名」に逆転させる
4)ログイン等各所ラベルの変更
以下、functions.phpに追記の事
///////////////////////////////////////////////
//wp-membersカスタマイズ ここから
///////////////////////////////////////////////
//会員がログイン時に内部を表示させない
function my_function_admin_bar($content) {
return ( current_user_can("administrator") ) ? $content : false;
}
add_filter( 'show_admin_bar' , 'my_function_admin_bar');
//サイドバーの表示をdisplay_nameにする
function my_sidebar_status_args( $args ) {
$current_user = wp_get_current_user();
$args['status_text'] = " $current_user->display_name <br />";
return $args;
}
add_filter( 'wpmem_sidebar_status_args', 'my_sidebar_status_args' );
// ユーザー登録時にlast_nameとfirst_nameをdisplay_nameにセットする
function set_display_name( $inputs ) {
$inputs['display_name'] = $inputs['last_name'].$inputs['first_name'];
return $inputs;
}
add_filter( 'wpmem_register_data', 'set_display_name', 2 );
// ユーザーの姓名の順序を逆にする
function user_name_revert() {
?>
<script async>
(function($) {
var last_name = $('#last_name');
var first_name = $('#first_name');
var last_name_tr = last_name.parents('tr');
var first_name_tr = last_name_tr.prev('tr');
var last_name_input = last_name.parent('td').html();
var first_name_input = first_name.parent('td').html();
last_name_tr.after(first_name_tr);
last_name.parent('td').html(first_name_input);
first_name.parent('td').html(last_name_input);
})(jQuery);
</script>
<?php
}
add_action('admin_print_footer_scripts', 'user_name_revert');
//以下文言変更
function my_default_text($text) {
$current_user = wp_get_current_user();
// ログインフォーム(共通)
$text['login_username'] = 'メールアドレスを入力';
// ログインフォームの「既存ユーザのログイン」
$text['login_heading'] = 'ログイン';
// ログインフォームの「ログイン情報を保存」
$text['remember_me'] = 'ログイン情報を記憶';
// ログインフォームの「はじめての方はこちら」
$text['register_link_before'] = '';
// ログインフォームの「新規ユーザー登録」
$text['register_link'] = '新規会員登録';
// ログインフォームの「パスワードをお忘れですか?」
$text['forgot_link_before'] = '';
// ログインフォームの「パスワードリセット」
$text['forgot_link'] = 'パスワードを忘れた場合';
// ウィジェットの「こんにちは {ユーザー名} さん」
$text['sb_status'] = "ごゆっくり! $current_user->display_name さん";
// ログインページの「こんにちは {ユーザー名} さん」
$text['login_welcome'] = "ようこそ! $current_user->display_name さん";
// ウィジェットの「パスワードをお忘れですか?」
$text['sb_login_forgot'] = 'パスワードを忘れた場合';
// ウィジェットの「登録」
$text['sb_login_register'] = '新規会員登録';
// 登録フォームの「新規ユーザー登録」
$text['register_heading'] = '';
// 登録フォームの「Terms of Service」
$text['register_tos'] = '利用規約をお読みいただき、チェックしてください。';
// メンバーシップの「このコンテントにアクセスする権限がありません。」
$text['product_restricted'] = 'このページは会員のみ閲覧できます。';
return $text;
}
add_filter('wpmem_default_text', 'my_default_text');
///////////////////////////////////////////////
//wp-membersカスタマイズ ここまで
///////////////////////////////////////////////
WP-Membersショートコード
WP-Membershで使用できるショートコードは多く、使い分ける事ができます。
[[wpmem_form login]]
//ログインフォームを出力
[[wpmem_form register]]
//新規登録フォームを出力
[[wpmem_profile]]
//ユーザープロフィールを出力
[[wpmem_form user_edit]]
//ユーザープロフィールの編集フォームを出力
[[wpmem_logout]]
//ログアウトページの出力
[[wpmem_form password]]
//パスワードの変更・リセット
[[wpmem_form forgot_username]]
//ユーザー名を忘れた場合の回復するためのEメール入力フォーム
[[wpmem_logged_in]]ログインユーザーのみ[[/wpmem_logged_in]]
//ショートコードで囲んだテキストがログインユーザーのみに表示
[[wpmem_logged_out]]ログアウトユーザーのみ[[/wpmem_logged_out]]
//ショートコードで囲んだテキストがログアウトユーザーのみに表示
[[wpmem_field user_login]]
//ユーザー名を表示
[[wpmem_avatar]]
//プロフィール画像を表示
[[wpmem_field user_email]]
//Eメールアドレスを表示
[[wpmem_login_link]]ログイン[[/wpmem_login_link]]
//ログインページへのリンクとショートコードで囲んだリンクテキスト
[[wpmem_reg_link]]新規登録[[/wpmem_reg_link]]
//新規登録ページへのリンクとショートコードで囲んだリンクテキスト
