自动为每个用户创建一个帖子,并为其分配一个模板


Automatically create a post for every user and assign a template to it

我正在尝试让wordpress为每个用户创建新的页面或帖子,并为其分配一个给定的模板。它按预期创建帖子/页面,但不匹配任何模板。关于如何帮助它的任何想法。我的代码如下所示。

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_status'] = 'publish';
    $my_post['post_theme'] = 'user-profile';
    wp_insert_post( $my_post );
}
add_action('user_register', 'my_create_page', 'user-profile.php');

您只缺少一行:

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_status'] = 'publish';
    $my_post['post_theme'] = 'user-profile';
    $my_post['page_template'] = 'name-of-template.php';
 wp_insert_post( $my_post );
}
add_action('user_register', 'my_create_page', 'user-profile.php'); 

Codex:wp_insert_post