WordPressでメールアドレスからユーザー名を取得する
カスタム投稿にカスタムフィールドで投稿されたメールアドレスからユーザー名を取得してFront End PMで作成したメッセージページにリンクさせるということをする必要があったので備忘録。
状況
カスタム投稿で作成したページが100ページ近くあるが、そのページに関係しているユーザー(1ページに1人)のメッセージページへのリンクが欲しい(日本語が難しい…)
流れ
まず、email_existsにカスタムフィールドの値を入れる。そしてget_userdataで呼び出す。
<?php
$email = get_field('e-mail');//ここでカスタムフィールドの値
$exists = email_exists($email);//上で取得したメールアドレスを入れる
$user_info = get_userdata( $exists );//ユーザーデータを呼び出す
if ( $exists )
echo 'ユーザーデータがある場合の表示';
else
echo 'ユーザーデータがなかった場合の表示';
?>
私の場合はユーザーデータがある場合はメッセージ画面へのリンク、ない場合はカスタムフィールドのメールアドレスの値を入れてメールを送信できるようにしました。get_user_id_from_stringからだと上手く取得できなかったんですよね。なんでだろう。そしてGutenbergでコードを表示させるの難しい。。。