当用户创建自定义帖子类型时,作者字段似乎不会传递回WP帖子功能。
正如标题所说,我是以编程方式创建用户帐户,并让该用户登录并撰写自定义post_type = 'job'
的帖子。
这对数据库中的所有LOOKS都很好 - 用户和帖子都插入了。 post_author
确实与创建它的用户的ID
相同。
但是,在“用户帐户”面板中,该用户帖子计数为0,并且API数据对象省略了作者。我已为其他自定义帖子类型配置了API,并且端点用于返回除作者之外的所有帖子数据。
我已尝试使用这些用户从CMS创建帖子,同样,即使我授予他们管理员权限,他们也有0个帖子计数 - 帖子归因于他们的作者ID。我还尝试使用wp_update_post();
这里是创建用户的代码,然后是帖子:
// Generate the password and create the user
$password = wp_generate_password( 12, false );
$user_id = wp_create_user( $email_address, $password, $email_address );
//login
wp_clear_auth_cookie();
wp_set_current_user ( $user_id );
wp_set_auth_cookie ( $user_id );
// Set the role
$user = new WP_User( $user_id );
$user->set_role( 'subscriber' );
//Ready data for linked post type creation
$new_post = array(
'post_content' => $email_address,
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_id,
'post_title' => $post_name,
'post_name' => $post_name,
'post_type' => $user_type
);
//Create the post
$account_link_post_id = wp_insert_post($new_post);
答案 0 :(得分:1)
这个帖子有一个相关的帖子,阐明了这个答案。注册帖子类型时,我没有在Message
的“支持”数组中设置足够的字段。添加MessageQueue
,whatdayaknow,给了我正在寻找的数据点。
register_post_type
注意:“用户帐户”页面中的帖子计数仍为0 - 但是,API正在返回我想要/需要的数据。