No registro do usuário, se o email de boas-vindas for enviado, adicione a postagem com o novo usuário como autor

Estou tentando criar uma nova postagem (depois o converteremos em tipo de publicação personalizado), sempre que um novo usuário se registrar no site e se o email de boas-vindas foi enviado com sucesso. O problema é que eu quero adicionar o novo usuário como o autor da nova postagem. Mais tarde, todos os e-mails de notificação serão acessíveis a partir de uma página especial.

Estou tentando usar o filtro wp_mail :

 add_filter( 'wp_mail', 'my_wp_mail_filter' ); function my_wp_mail_filter( $args ) { $new_wp_mail = array( 'to' => $args['to'], 'subject' => $args['subject'], 'message' => $args['message'], 'headers' => $args['headers'], 'attachments' => $args['attachments'], ); $new_post = array( 'post_title' => $args['subject'] . ' - ' . date('Ymd H:i:s'), 'post_content' => $new_wp_mail, 'post_status' => 'publish', 'post_date' => date('Ymd H:i:s'), 'post_author' => $user_id, 'post_type' => 'post', 'post_category' => array(0) ); $post_id = wp_insert_post( $new_post ); return $new_wp_mail; } 

Não sei como obter o ID do usuário.

Qualquer ideia?

Solutions Collecting From Web of "No registro do usuário, se o email de boas-vindas for enviado, adicione a postagem com o novo usuário como autor"

Em vez de usar o filtro wp_mail use a ação user_register :

 function fpw_new_user_post( $user_id ) { global $wpdb; update_user_meta( $user_id, $wpdb->base_prefix . 'capabilities', array( 'author' => TRUE ) ); $new_post = array ( 'post_title' => 'User ' . get_user_by( 'id', $user_id )->user_login . ' registered @ ' . date( 'Ymd H:i:s', current_time( 'timestamp' ) ), 'post_content' => 'This is my first post.', 'post_status' => 'publish', 'post_author' => $user_id, 'post_category' => array( 0 ) ); $post_id = wp_insert_post( $new_post ); if ( 0 == $post_id ) { // do some error action } } add_action( 'user_register', 'fpw_new_user_post', 10, 1 ); 

Com base na suposição de que você deseja que esse usuário publique outras postagens mais tarde, alterei sua function para author . Claro que você pode definir uma nova postagem para atender às suas necessidades.