Advertisement
ssaidz

wp_update_post() random publish from draft by id

Jan 8th, 2024 (edited)
814
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.32 KB | None | 0 0
  1. <?php
  2.  
  3. /* Template Name: UPDATE POST 1.1 */
  4.  get_header(); ?>
  5.  
  6. <div class="">
  7. <?php
  8. // Buat query untuk mengambil semua post dengan status draft
  9. $draft_posts_query = new WP_Query(array(
  10.     'post_status' => 'draft',
  11.     'posts_per_page' => -1, // Mengambil semua post dengan status draft
  12. ));
  13.  
  14. // Cek apakah terdapat post dengan status draft
  15. if ($draft_posts_query->have_posts()) {
  16.     // Buat array untuk menyimpan ID dari semua post dengan status draft
  17.     $draft_post_ids = array();
  18.  
  19.     // Loop melalui setiap post dan simpan ID-nya ke dalam array
  20.     while ($draft_posts_query->have_posts()) {
  21.         $draft_posts_query->the_post();
  22.         $draft_post_ids[] = get_the_ID();
  23.     }
  24.  
  25.     // Pilih secara acak satu ID post dari array
  26.     $random_post_id = $draft_post_ids[array_rand($draft_post_ids)];
  27.  
  28. echo $random_post_id; echo '<br/>';
  29. echo '<a href="'.get_permalink($random_post_id).'">'.get_permalink($random_post_id).'</a><br/><b>';
  30. echo get_the_title($random_post_id); echo '</b><br/>';
  31.  
  32.     // Data post yang akan diupdate
  33.     $post_data = array(
  34.         'ID' => $random_post_id,
  35.         'post_status' => 'publish'
  36.     );
  37.  
  38.     // Update post menggunakan fungsi wp_update_post()
  39.     wp_update_post($post_data);
  40.  
  41.     // Reset query
  42.     wp_reset_postdata();
  43. } ?>
  44. <div>
  45.  
  46.  <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement