Я пытаюсь создать новый пост в моем пользовательском типе поста «vipmembers», как только пользователь купит подписку на членство в woocommerce (роль пользователя «подписчик»). Приведенный ниже код позволяет мне добавлять новые сообщения только в том случае, если пользователь является клиентом (т. Е. Когда пользователь регистрируется), но я хочу, чтобы публикация добавлялась только после того, как пользователь приобретает продукт подписки на членство в woocommerce (т. Е. Когда роль пользователя - Подписчик).
Любая помощь будет оценена.
add_action( 'user_register', 'membership_import', 10, 1 );
function membership_import( $user_id ) {
if($user_id){
$args = array(
'post_type' => 'vipmembers',
'meta_query' => array(
array(
'key' => 'user_id',
'value' => $user_id,
'compare' => '='
)
)
);
$users_exists = get_posts( $args );
$author_obj = get_user_by('id', $user_id);
$roles = $author_obj->roles;
$post = array(
'post_title' => wp_strip_all_tags($author_obj->user_login),
'post_status' => 'publish',
'post_type' => 'vipmembers'
);
if(empty($users_exists)){
$post_ID = wp_insert_post($post);
update_post_meta($post_ID, 'user_id',$user_id);
update_post_meta($post_ID, 'user_email',$author_obj->user_email);
}
}
}