为 wordpress 站点上的每个用户自动创建一个 post
Automatically create a post for each user on wordpress site
我正在尝试在向我的网站注册新用户时自动设置自定义 post (users
)。我只是不太熟悉 php,但我一直在解决来自 Whosebug 的另一个问题:
理想情况下,我希望在注册或更新携带自定义字段的用户信息时创建一个页面。我使用 ACF 创建与用户关联的自定义字段(在代码中列为小写变量)和与要创建的自定义关联的自定义字段 posts(在代码中列为大写变量)。
感谢您提供的任何帮助!
function create_authors_page( $user_id ) {
$the_user = get_userdata( $user_id );
$new_user_name = $the_user->user_login;
$PostSlug = $user_id;
$PostGuid = home_url() . "/" . $PostSlug;
$member_bio = get_field('member_bio');
$contact_info = get_field('contact_info');
$member_affiliation = get_field('member_affiliation');
$my_post = array( 'post_title' => $new_user_name,
'post_type' => 'users',
'post_content' => '',
'post_status' => 'publish',
'post_theme' => 'user-profile',
'guid' => $PostGuid );
$NewPostID = wp_insert_post( $my_post );
$Member_Bio = $member_bio;
$Contact_Info = $contact_info;
$Member_Affiliation = $member_affiliation;
update_post_meta( $NewPostID, $Member_Bio, $Contact_Info, $Member_Affiliation );
return $NewPostID;
}
add_action('publish_members', 'create_authors_page');
您的挂钩不正确,请使用 user_register 动作挂钩,该挂钩在用户注册后触发并将 $user_id
作为变量传递:
add_action('user_register', 'create_authors_page');
function create_authors_page( $user_id ) {
// do your stuff
}
您还可以使用 profile_update 挂钩,该挂钩会在每次用户更新个人资料时触发。
我正在尝试在向我的网站注册新用户时自动设置自定义 post (users
)。我只是不太熟悉 php,但我一直在解决来自 Whosebug 的另一个问题:
理想情况下,我希望在注册或更新携带自定义字段的用户信息时创建一个页面。我使用 ACF 创建与用户关联的自定义字段(在代码中列为小写变量)和与要创建的自定义关联的自定义字段 posts(在代码中列为大写变量)。
感谢您提供的任何帮助!
function create_authors_page( $user_id ) {
$the_user = get_userdata( $user_id );
$new_user_name = $the_user->user_login;
$PostSlug = $user_id;
$PostGuid = home_url() . "/" . $PostSlug;
$member_bio = get_field('member_bio');
$contact_info = get_field('contact_info');
$member_affiliation = get_field('member_affiliation');
$my_post = array( 'post_title' => $new_user_name,
'post_type' => 'users',
'post_content' => '',
'post_status' => 'publish',
'post_theme' => 'user-profile',
'guid' => $PostGuid );
$NewPostID = wp_insert_post( $my_post );
$Member_Bio = $member_bio;
$Contact_Info = $contact_info;
$Member_Affiliation = $member_affiliation;
update_post_meta( $NewPostID, $Member_Bio, $Contact_Info, $Member_Affiliation );
return $NewPostID;
}
add_action('publish_members', 'create_authors_page');
您的挂钩不正确,请使用 user_register 动作挂钩,该挂钩在用户注册后触发并将 $user_id
作为变量传递:
add_action('user_register', 'create_authors_page');
function create_authors_page( $user_id ) {
// do your stuff
}
您还可以使用 profile_update 挂钩,该挂钩会在每次用户更新个人资料时触发。