WordPress,  未分類

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でコードを表示させるの難しい。。。