自定义 Post 类型和作者未关联,用户 post 计数为 0,api 没有 return post objects 中的作者

Custom Post Type & Author not associating, user post count is 0, api doesn't return author in post objects

当用户创建自定义 post 类型时,作者字段似乎没有传回 WP post 的函数。

正如标题所说,我正在以编程方式创建一个用户帐户,并让该用户 log-in 并编写自定义 post_type = 'job'.

的 post

这一切在数据库中看起来都很好 - 用户和 post 被插入。 post_author确实与创建它的用户的ID相同。

但是,在“用户帐户”面板中,该用户 post 计数为 0,并且 API 数据 object 省略了作者。我已经为额外的自定义 post 类型配置了 API,端点适用于 return 除作者之外的所有 post 数据。

我也尝试从 CMS 中为这些用户创建 post,同样,即使我授予他们管理员权限,他们的计数也是 0 post - posts 归因于他们的作者 ID。我还尝试使用 wp_update_post();

强制更新

这是创建用户的代码,然后是 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);

与此相关的 post 阐明了这个答案。注册 post 类型时,我没有在 register_post_type 的 'supports' 数组中设置足够的字段。添加 author,whatdayaknow,给了我正在寻找的数据点。

register_post_type(self::POST_TYPE,
  array(
   'labels' => $labels,
   'public' => true,
   'has_archive' => true,
    'description' => __(""),
       'supports' => array(
          'title', 'author'
    ),
  )
)

注意:Post 用户帐户页面中的计数仍然为 0 - 但是,API 正在返回我 want/need.

的数据