代码之家  ›  专栏  ›  技术社区  ›  lakewood

自定义帖子类型&作者不关联,用户帖子计数为0,api不在帖子对象中返回作者

  •  2
  • lakewood  · 技术社区  · 7 年前

    当用户创建自定义帖子类型时,作者字段似乎不会传递回WP posts函数。

    正如标题所说,我正在通过编程创建一个用户帐户,让该用户登录并编写一篇自定义帖子 post_type = 'job'

    这一切在数据库中看起来都很好——插入了用户和帖子。这个 post_author ID 创建它的用户的。

    但是,在用户帐户面板中,该用户post计数为0,API数据对象忽略了作者。我已经为附加的自定义post类型配置了API,端点可以返回除author之外的所有post数据。

    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);
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   lakewood    7 年前

    有一个与此相关的帖子阐明了这个答案。注册post类型时,我没有在的“supports”数组中设置足够的字段 register_post_type author ,whatdayaknow,提供了我正在寻找的数据点。

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

    注意:用户帐户页面中的Post计数仍然为0-但是,API正在返回我想要/需要的数据。