在订阅者角色中添加新的Wordpress用户,并自动为该用户创建页面

时间:2015-11-03 16:20:57

标签: wordpress

我正在使用以下代码,这些代码允许我在添加新用户时自动为新用户创建页面。我想知道如何仅为添加到订阅者角色的用户创建新页面。

感谢任何帮助或链接。

/* Create New page for New User */

/* CREATE NEW POST WITH USER, GIVE POST USER'S NAME*/
function my_create_page($user_id){
$the_user = get_userdata($user_id);
$new_user_name = $the_user->user_login;
$my_post = array();
$my_post['post_title'] = $new_user_name;
$my_post['post_type'] = 'page';
$my_post['post_content'] = '';
$my_post['post_parent'] = '1569';
$my_post['post_status'] = 'publish';
wp_insert_post( $my_post );
}
add_action('user_register', 'my_create_page');

1 个答案:

答案 0 :(得分:2)

你可以使用动作' profile_update'在更改用户角色时创建页面。

<?php

    add_action( 'profile_update', 'my_profile_update', 10, 2 );

    function my_profile_update( $user_id, $old_user_data ) {
        // get user data
        $user_info = get_userdata($user_id);
        $roles = $user_info->roles;
        if(in_array('subscriber', $roles)) {
          //create your page.
        }
    }
?>

如果您需要对用户注册执行操作,您可以执行以下操作:

<?php

    add_action( 'user_register', 'myplugin_registration_save', 10, 1 );

    function myplugin_registration_save( $user_id) {
        // get user data
        $user_info = get_userdata($user_id);
        $roles = $user_info->roles;
        if(in_array('subscriber', $roles)) {
          //create your page.
        }
    }
?>