Отправить платежную компанию с уведомлением администратора по электронной почте - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь прикрепить платежную компанию к электронной почте администратора.Я использую этот сценарий

    add_action( 'user_register', array( $this, 'user_register' ) );
    function user_register( $user_id ) {
       // using this function to send the email
       $this->send_notification( 'admin-user', $user_id );
     }

     public function send_notification( $setting, $id ) {
     $user_company = get_user_meta($id, 'billing_company');
      wp_mail( $email, $subj, $msg.$user_company[0], $headers );
     }

. Проблема в том, что get_user_meta возвращает пустое значение, поскольку в соответствии с документом Wordpress при использовании действия user_register не все метаданные пользователя были сохранены.Таким образом, в основном, когда пользователь регистрирует таблицу usermeta, все еще пусто, потому что я попытался поместить существующий идентификатор пользователя, и он работал нормально.https://codex.wordpress.org/Plugin_API/Action_Reference/user_register.

Может кто-нибудь предложить способ отправить название компании в электронном уведомлении администратора?

1 Ответ

0 голосов
/ 20 сентября 2018

Если вы используете пользовательскую регистрационную форму, вы можете отправить электронное письмо до обновления базы данных.

 add_action( 'user_register', array( $this, 'user_register' ) );
    function user_register( $user_id ) {
       $billing_company = $_POST['billing_company'];
       wp_mail( $email, $subj, $billing_company, $headers );
    }

В качестве альтернативы, вы можете отложить выполнение функции с помощью сна:

add_action( 'user_register', array( $this, 'user_register' ) );
function user_register( $user_id ) {
  sleep(5);
  $this->send_notification( 'admin-user', $user_id );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...