У меня есть ситуация, когда мне нужно создавать нового пользователя каждый раз, когда создается сообщение CPT.
CPT имеет следующие поля, которые можно заполнить при создании сообщения: $user_name
и $user_email
Вот то, что я пытаюсь, но это не работает:
function register_new_user( $new_status, $old_status, $post ) {
if ( ( 'publish' === $new_status && 'publish' !== $old_status )
&& 'cpt' === $post->post_type
) {
$user_name = get_post_meta($post_id, 'user_name', true);
$user_email = get_post_meta($post_id, 'user_email', true);
function wp_create_user( $username, $password, $email = '' ) {
$user_login = wp_slash( $user_name );
$user_email = wp_slash( $user_email );
$user_pass = $user_login;
$userdata = compact( $user_login, $user_email, $user_pass );
return wp_insert_user( $userdata );
};
};
};
add_action( 'transition_post_status', 'register_new_user', 10, 3 );
Любая помощь в этом, как всегда, очень ценится.