2017-04-15 1 views
0

Ich muss das Datum und die Zeit aller zuletzt geänderten Blogposts in WordPress ändern. Bisher habe ich ....Ändern Datum und Uhrzeit der letzten WordPress-Posts mit WP-Abfrage

add_action('wp', 'asd'); 
function asd() 
{ 
    $post_list = get_posts(array(
    'post_per_page' => '-1' 
    )); 

    foreach ($post_list as $post) { 
    // $posts[] += $post->ID; 

    $postID = $post->ID; 
    $datetime = date('Y-m-d H:i:s', current_time('timestamp', 0)); 
    echo $postID . ' ||| ' . $datetime . '<br>'; 

global $wpdb; 
$wpdb->query("UPDATE `$wpdb->posts` SET `post_modified` = '" . $datetime . "' WHERE ID = " . $postID); 
} 
} 

ich keine Fehler bekommen oder was auch immer. Ich verwende "Echo" zu Debugging-Zwecken. Ich habe zwei Probleme.

  1. Ich habe 6 Beiträge und ich bekomme nur 5
  2. Es scheint, dass keine Aktualisierung in der Datenbank geschieht, für die letzte modifizierte Feld

Jede Hilfe würde geschätzt.

Antwort

1

Sie diesen Code verwenden. (Fügen Sie ihn in Ihrem Thema function.php)

add_action('init','change_mypost_date'); 
function change_mypost_date(){ 
    $args = array(
     'post_type' => 'property_listing', 
     'posts_per_page' => -1 
    ); 
    $the_query = new WP_Query($args); 
    if ($the_query->have_posts()) { 
     echo '<ul>'; 
     while ($the_query->have_posts()) { 
      $the_query->the_post(); 
      $datetime = date('Y-m-d H:i:s', current_time('timestamp', 0)); 
      $current_post = array(
        'ID'   => get_the_ID(), 
        'post_modified' => $datetime 
      ); 
      // Update the post into the database 
       wp_update_post($current_post); 
     } 
     wp_reset_postdata(); 
    } 
} 
+0

Arbeitete !!! Ich habe gerade "init" in "wp" geändert und es hat seinen Zweck erfüllt! Vielen Dank!!! – CDoc

+0

: D Großartig, habe eine schöne Reise. –