web-dev-qa-db-ja.com

get_posts - 投稿者IDですべての投稿を取得

すべての投稿を特定の作者ID(現在のユーザー)で取得したいです。後で、このユーザーによって作成された最初の投稿(ASC)を選択します。 get_postsで正しい引数を使用していないのでしょうか。 $ current_user_postsは常に複数の異なるWP_Postオブジェクト内のすべてのブログ投稿を含む配列を含みます。

global $current_user;
get_currentuserinfo();                      

$args = array(
    'author'        =>  $current_user->ID, // I could also use $user_ID, right?
    'orderby'       =>  'post_date',
    'order'         =>  'ASC' 
    );

// get his posts 'ASC'
$current_user_posts = get_posts( $args );
8
kindo

少し混乱しています。 posts配列から要素だけを取得したい場合は、次のようにします。

  • reset($ current_user_posts) - 最初の投稿
  • end($ current_user_posts) - 緯度経度

しかし、get_posts()を1つだけ投稿したい場合は、posts_per_page引数を使用して結果を制限することができます。

$args = array(
    'author'        =>  $current_user->ID,
    'orderby'       =>  'post_date',
    'order'         =>  'ASC',
    'posts_per_page' => 1
    );

取得できるパラメータの詳細情報は WPクエリクラスリファレンス page(get_posts()はWP Queryと同じパラメータを取ります)。

15
Marin Bînzari
global $current_user;                     

$args = array(
  'author'        =>  $current_user->ID, 
  'orderby'       =>  'post_date',
  'order'         =>  'ASC',
  'posts_per_page' => -1 // no limit
);


$current_user_posts = get_posts( $args );
$total = count($current_user_posts);

現在のユーザーの投稿をループするだけです

3
kdgilang

その作品(wp4.9.7)

 $user_id = get_current_user_id();
 $args=array(
 'post_type' => 'POSTTYPE',
 'post_status' => 'publish',
 'posts_per_page' => 1,
 'author' => $user_id
  );

$current_user_posts = get_posts( $args );
$total = count($current_user_posts);
wp_die( '<pre>' .  $total . '</pre>' );
0
sirmagid