すべての投稿を特定の作者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 );
少し混乱しています。 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と同じパラメータを取ります)。
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);
現在のユーザーの投稿をループするだけです
その作品(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>' );