MW WP Form で、ワードプレスにログイン中のユーザー情報を、 valueのデフォルト値として表示させる。
投稿: 更新:2017/11/07
ワードプレスでログインをしてフォームを表示させて場合、ログインしているユーザー情報を表示させたい・・・なるべく簡単に。。
と、こんな風に表示させたいなと思います。
ワードプレスのfunctions.php にフィルターフックの処理を追加
ワードプレスのfunctions.php に以下のように記述します。
※サンプルとして hoge に ユーザー情報のニックネーム(nickname)を設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//ログインしている場合 if ( is_user_logged_in() ){ function my_mwform_value( $value, $name ) { //項目追加: MW WP Form の name="hoge" の項目の初期値 value にニックネーム設定 ) if ( $name === 'hoge' ) { $current_user = wp_get_current_user(); $value = $current_user->nickname; //ニックネーム(プロパティ名) return $value; } return $value; } // フォーム識別子 フックで使用する修飾子 「mw-wp-form-xxx」 ※xxxは作成したフォームの番号に要変更。 add_filter( 'mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2 ); } |
以上で、上記で設定した項目(hoge)のデフォルト表示は、ログインしたユーザーのニックネームが表示されるようになります。
ユーザー情報の一部(プロパティ名)
この他、ユーザ情報に追加したカスタムフィールドの値も取り出せます。
プロパティ名 | 内容 |
---|---|
id | ユーザID |
first_name | 名前 |
last_name | 名字 |
user_login | ログイン名 |
user_pass | パスワード |
user_nicename | ナイスネーム |
user_email | メールアドレス |
display_name | ブログ上の表示名 |
nickname | ニックネーム |
user_firstname | 名前 |
user_lastname | 名字 |
user_description | プロフィール情報 |
参考までにと。
このフォーム、昔から好きです。
上記は、MW WP Form の公式マニュアルサイトのフィルターフックの説明を参考にしています。