get_posts - obtiene todas las publicaciones por ID de autor

8

Quiero obtener todas las publicaciones por cierto ID de autor (usuario actual). Más tarde, quiero elegir la primera publicación realizada por este usuario (ASC). Supongo que no uso los argumentos correctos en get_posts, ¿verdad? $ current_user_posts siempre contiene una matriz con todas las publicaciones de blog en varios 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 );
    
pregunta kindo 12.08.2013 - 01:24

3 respuestas

15

Estoy un poco confundido. Si desea obtener solo un elemento de la matriz de publicaciones, puede obtenerlo así:

  • restablecer ($ current_user_posts) - primera publicación
  • end ($ current_user_posts) - publicación lat

Pero si desea obtener solo una publicación con el get_posts() , puede usar el argumento posts_per_page para limitar los resultados.

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

Más información sobre los parámetros que puede obtener en la página WP Query Class ( get_posts() toma los mismos parámetros que WP Query ).

    
respondido por el 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);

y simplemente coloca en bucle las publicaciones del usuario actual

    
respondido por el kdgilang 09.09.2016 - 05:46
0

su trabajo 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>' );
    
respondido por el sirmagid 08.07.2018 - 13:13

Lea otras preguntas en las etiquetas