在wordpress中注册用户后创建帖子

在wordpress中注册用户后创建帖子,wordpress,wordpress-theming,wordpress-hook,Wordpress,Wordpress Theming,Wordpress Hook,我需要创建一个职位后,用户注册的一些角色在wordpress 我用了这个密码 add_action( 'user_register', 'create_resume', 10, 1 ); function create_resume( $user_id ) { // Get user info $user_info = get_userdata( $user_id ); $user_roles = $user_info->roles; // Ne

我需要创建一个职位后,用户注册的一些角色在wordpress

我用了这个密码

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

function create_resume( $user_id )
{
    // Get user info
    $user_info = get_userdata( $user_id );
    $user_roles = $user_info->roles;

    // New code added 
    $this_user_role = implode(', ', $user_roles );

    if ($this_user_role == 'candidate') {

        // Create a new post
        $user_post = array(
            'post_title'   => $user_info->username,
            'post_status'  => 'publish', // <- here is to publish
            'post_type'    => 'resume', // <- change to your cpt
            'post_author'  => '$Post_id',
        );
        // Insert the post into the database
        $post_id = wp_insert_post( $user_post );
    }
}
add_action('user_register','create_resume',10,1);
函数create\u resume($user\u id)
{
//获取用户信息
$user\u info=get\u userdata($user\u id);
$user\u roles=$user\u info->roles;
//新增代码
$this_user_role=内爆(“,”,$user_role);
if($this_user_role=='candidate'){
//创建新帖子
$user\u post=数组(
“post_title”=>$user_info->username,
“发布状态”=>“发布”、/“恢复”、/“$post\u id”,
);
//将帖子插入数据库
$post\u id=wp\u insert\u post($user\u post);
}
}
但是不起作用!:-(

有人能帮我吗?

试试这个:

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

function create_resume( $user_id )
{
    // Get user info
    $user_info = get_userdata( $user_id );
    $user_roles = $user_info->roles;

    // New code added 

    $has_candidate_role = in_array('candidate', $user_roles);

    if ($has_candidate_role) {

        // Create a new post
        $user_post = array(
            'post_title'   => $user_info->username,
            'post_status'  => 'publish', // <- here is to publish
            'post_type'    => 'resume', // <- change to your cpt
            'post_author'  => $user_id,
        );
        // Insert the post into the database
        $post_id = wp_insert_post( $user_post );
    }
}
add_action('user_register','create_resume',10,1);
函数create\u resume($user\u id)
{
//获取用户信息
$user\u info=get\u userdata($user\u id);
$user\u roles=$user\u info->roles;
//新增代码
$has_candidate_role=在_数组中('candidate',$user_roles);
如果($has\u candidate\u role){
//创建新帖子
$user\u post=数组(
“post_title”=>$user_info->username,
'发布状态'=>'发布',//'恢复',//$user\u id,
);
//将帖子插入数据库
$post\u id=wp\u insert\u post($user\u post);
}
}

我可以使用此代码[在用户注册后]创建帖子:

add_action('user_register', 'resume_create', 10, 1);
function resume_create($user_id)
{
    // Get user info
    $user_meta = get_userdata($user_name);

    // Create a new post
    $user_post = [
        'post_title' => $_POST['slug'],
        'post_type' => 'resume',
        'post_status' => 'publish',
        'post_author' => $post_ID,
    ];
    // Insert the post into the database
    $post_id = wp_insert_post($user_post);
}

但是,没有分配给当前用户和特殊角色。

您有任何错误吗?没有,但没有为新用户创建帖子!此代码在用户注册后无法创建帖子!有人可以帮助我吗?