1

ユーザーがカスタム投稿タイプを作成すると、投稿者フィールドはWP投稿機能に返されません。カスタム投稿タイプと作成者が関連付けられていない、ユーザー投稿数が0、apiが投稿オブジェクトに投稿者を返しません。

タイトルには、プログラマチックにユーザーアカウントを作成し、そのユーザーにログインしてカスタムの投稿post_type = 'job'を書きます。

これは、データベースとユーザーと投稿のすべてが良好なLOOKSが挿入されています。 post_authorは実際にそれを作成したユーザーのIDと同じです。

しかし、[ユーザーアカウント]パネルでは、そのユーザーの投稿数は0で、APIデータオブジェクトは作成者を省略しています。追加のカスタム投稿タイプのAPIを設定しました。エンドポイントは投稿者以外のすべての投稿データを返すように動作します。

これらのユーザーとCMSから投稿を作成しようとしました。同様に、管理者権限を与えても投稿数は0です。投稿は投稿者IDに帰属します。

// 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

この回答に光を当てる、これと関連した記事がありました。私もここでユーザーを作成するためのコード、およびその後のポストだwp_update_post();

を使用して強制的に更新しようとしました。投稿タイプを登録するときに、register_post_typeの「サポート」配列に十分なフィールドを設定していませんでした。 author、whatdayaknowを追加すると、私が探しているデータポイントが得られます。

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

注:[ユーザーアカウント]ページの投稿数はまだ0ですが、APIは必要なデータを返しています。

関連する問題