使用管理员通知电子邮件发送帐单公司

时间:2018-09-20 14:53:08

标签: wordpress woocommerce

我正在尝试将帐单公司附加到管理员电子邮件中。我正在使用此脚本

    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 doc,当您使用“ user_register”操作时,并非所有用户元数据都已存储。因此,基本上,当用户注册时,usermeta表仍然为空,因为我尝试放置一个现有的用户ID,并且工作正常。   https://codex.wordpress.org/Plugin_API/Action_Reference/user_register

有人可以在管理员通知电子邮件中建议发送公司名称的方法吗?

1 个答案:

答案 0 :(得分:1)

如果使用的是自定义注册表格,则可以在更新数据库之前发送电子邮件。

 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 );
}