• 28-03-2019, 00:53:29
    #1
    Wordpress'de paylaşıma/ürüne gelen yorumların tarihini random yapmak istiyorum. İnternette biraz araştırdım ama bulabildiğim en benzer örnek post tarihlerini random yapan bir eklenti, o da şöyle;

    <?php
    /**
     * Plugin Name: WP Post Random Dates
     * Description: On activation, change the dates of all posts to random dates
     */
    
    //* We want to do this only once, so add hook to plugin activation
    register_activation_hook( __FILE__ , 'wpse_259750_activation' );
    function wpse_259750_activation() {
    
      //* Get all the posts
      $posts = get_posts( array( 'numberposts' => -1, 'post_status' => 'any' ) );
      foreach( $posts as $post ) {
    
        //* Generate a random date between January 1st, 2015 and now
        $random_date = mt_rand( strtotime( '1 January 2018' ), time() );
        $date_format = 'Y-m-d H:i:s';
    
        //* Format the date that WordPress likes
        $post_date = date( $date_format, $random_date );
    
        //* We only want to update the post date
        $update = array(
          'ID' => $post->ID,
          'post_date' => $post_date,
          'post_date_gmt' => null,
        );
    
        //* Update the post
        wp_update_post( $update );
      }
    }
    Ben bunu yorumları randomlamak için kullanmak istiyorum, ne yapabilirim? Hem tarihi hem de saati randomlaması gerekiyor.
  • 28-03-2019, 02:07:08
    #2
    Mesela aşağıda id'si 1 olan posta ait yorumların tarihini random olarak güncelledim, mantık bu şekilde..

    <?php
    $random_date = mt_rand( strtotime( '1 January 2018' ), time() );
    $date_format = 'Y-m-d H:i:s';
    $post_date = date( $date_format, $random_date );
    
    $yorumlar = get_comments( array( 'post_id' => 1 ) );
     
    foreach ( $yorumlar as $yorum ) :
     
      $zzz = array(
         'comment_ID' => $yorum->comment_ID,
         'comment_date' => $random_date;
      );
      wp_update_comment( $zzz );
    
    endforeach;
    ?>