get_posts - obtém todas as postagens por autor id

8

Eu quero obter todas as postagens de certo id do autor (usuário atual). Mais tarde, quero escolher a primeira postagem feita por esse usuário (ASC). Eu acho que não uso os argumentos certos em get_posts, estou? $ current_user_posts sempre contém uma matriz com todas as postagens do blog em vários objetos WP_Post diferentes.

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 );
    
por kindo 12.08.2013 / 01:24

3 respostas

15

Estou um pouco confuso. Se você quiser obter apenas um elemento da matriz de posts, você pode obtê-lo assim:

  • reset ($ current_user_posts) - primeiro post
  • end ($ current_user_posts) - postagem posterior

Mas se você deseja obter apenas uma postagem com o get_posts() , pode usar o argumento posts_per_page para limitar os resultados.

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

Mais informações sobre os parâmetros que você pode obter na página Referência da classe de consulta WP ( get_posts() usa os mesmos parâmetros da consulta WP ).

    
por Marin Binzari 12.08.2013 / 09:22
3
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);

e apenas loop os posts atuais do usuário

    
por kdgilang 09.09.2016 / 05:46
0

seu trabalho por (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>' );
    
por sirmagid 08.07.2018 / 13:13

Tags