get_posts-작성자 ID별로 모든 게시물 가져 오기


11

특정 작성자 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 );

1
get_currentuserinfo ()는 버전 4.5.0부터 더 이상 사용되지 않습니다. 다음으로 교체하십시오 :$current_user = wp_get_current_user();
Christian Lescuyer

답변:


19

조금 혼란 스러워요. 게시물 배열에서 요소 만 가져 오려면 다음과 같이 얻을 수 있습니다.

  • 재설정 ($ current_user_posts)-첫 번째 게시물
  • 끝 ($ current_user_posts)-위도 게시물

그러나 게시물이 하나만 get_posts()있는 경우 posts_per_page인수를 사용 하여 결과를 제한 할 수 있습니다 .

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

WP Query Class Reference 페이지 에서 얻을 수있는 매개 변수에 대한 자세한 정보는 WP Queryget_posts() 와 동일한 매개 변수를 사용합니다.


1
귀하의 $ args는 잘 작동하지만 첫 번째 답변을 얻지 못했습니다. $ current_user_posts를 사용하는 방법. 보여줄 수있어?
kindo

첫 번째 게시물의 제목을 인쇄하려면 다음을 사용해야합니다 echo $current_user_posts[0]['title'].. '제목'은 배열에서 필요한 것의 핵심입니다. 사용할 수있는 키의 전체 목록입니다 print_r(array_keys($current_user_posts)). "사용 방법"은 원하는 작업에 따라 다릅니다.
Marin Bînzari

작성자의 첫 번째 게시물의 ID를
얻습니다

$ current_user_posts [0] [ 'ID']
Marin Bînzari

@ Kindo, 도움이 되었습니까? 이것이 당신이 필요로하는 대답입니까?
Marin Bînzari

6
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);

현재 사용자 게시물을 반복


위 코드가 코드를 게시하는 것
외에 어떤 역할을하는지 설명해 주시면

1

(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>' );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.