get_posts - dapatkan semua posting berdasarkan id penulis


11

Saya ingin mendapatkan semua posting oleh id penulis tertentu (pengguna saat ini). Kemudian, saya ingin memilih posting pertama yang dibuat oleh pengguna ini (ASC). Saya kira saya tidak menggunakan argumen yang benar di get_posts, kan? $ current_user_posts selalu berisi Array dengan semua posting blog di berbagai Objek 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 () sudah tidak digunakan lagi sejak versi 4.5.0. Ganti dengan:$current_user = wp_get_current_user();
Christian Lescuyer

Jawaban:


19

Saya sedikit bingung. Jika Anda ingin mendapatkan elemen onlya dari array posting Anda bisa mendapatkannya seperti ini:

  • reset ($ current_user_posts) - posting pertama
  • end ($ current_user_posts) - pos lat

Tetapi jika Anda ingin mendapatkan hanya satu posting dengan get_posts()Anda dapat menggunakan posts_per_pageargumen untuk membatasi hasil.

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

Info lebih lanjut tentang parameter dapat Anda peroleh di halaman Referensi Kelas WP Query ( get_posts()mengambil parameter yang sama dengan WP Query).


1
$ args Anda berfungsi dengan baik, tetapi saya tidak mendapatkan jawaban pertama Anda. Cara menggunakan $ current_user_posts. Dapatkah anda menunjukkan kepada saya?
kindo

Jika Anda ingin mencetak judul posting pertama Anda harus menggunakan: echo $current_user_posts[0]['title']. 'Judul' adalah kunci untuk apa yang Anda butuhkan dari array. Daftar lengkap kunci yang bisa Anda dapatkan print_r(array_keys($current_user_posts)). "Cara menggunakan" itu tergantung pada apa yang ingin Anda lakukan dengannya.
Marin Bînzari

dapatkan id posting pertama penulis
kindo

Anda bisa mendapatkan id dengan: $ current_user_posts [0] ['ID']
Marin Bînzari

@kindo, apakah itu membantu? Apakah ini jawaban yang Anda butuhkan?
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);

dan hanya loop posting pengguna saat ini


Dapatkah Anda juga menjelaskan apa kode di atas tidak selain produk posting kode tersebut, akan sangat membantu, terima kasih
bravokeyl

1

ini bekerja dengan (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>' );
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.