mysql
  • wordpress
  • plugins
  • modified-date
  • 2014-12-05 107 views 0 likes 
    0

    我有一個想法來更改post_modified的值,因此該值將與post_date具有相同的值。wordpress更改發佈日期的最後修改日期(預定發佈)

    但是Wordpress有一個修訂版系統,所以我想修改post_modified以使其與post_date具有相同的值。

    這裏是我的查詢,更改:

    $query = "UPDATE $wpdb->posts 
          SET 
           post_modified = '$recent->post_date', 
           post_modified_gmt = '$recent->post_date_gmt' 
          WHERE 
           ID = '$update->ID'"; 
    
    $wpdb->query($query); 
    
    
    $recent->post_date is the post_date (scheduled time/time where our post will appear in the website) 
    
    $recent->post_date_gmt is post_date_gmt 
    

    $update->ID是職位表修訂ID。

    但是當我運行查詢時,它不會更改該值並停止我的插件。

    有什麼我錯過了嗎?或者說,Wordpress本身不允許我們更改post_modified

    +1

    你有這個'全球WPDB $;在'$ query'變量之前'行? – 2014-12-05 04:22:03

    +0

    是的。我把它添加到函數的第一行 – 2014-12-05 06:19:27

    +0

    你可以'回聲'你的'$查詢'並粘貼在這裏? – 2014-12-05 07:04:49

    回答

    0

    當我嘗試更新post_date時,我遇到了類似這樣的問題。最後,我使用「`」標記來包裝列名。完全如下。

    $postID = $update->ID; 
    $datetime = date("Y-m-d H:i:s"); 
    
    
    
    $wpdb->query("UPDATE `$wpdb->posts` SET 
                `post_date` = '".$datetime."' 
                WHERE `ID` = '".$postID."'"); 
    

    記住,$日期時間是一個有效的日期,像2015-01-04或2015-01-04 23:59:59

    希望這將幫助。 感謝

    2

    您可以使用正常的wp_update_post功能

    $args = new stdClass; 
        $args->ID = $yourPostIdVal; 
        $args->post_modified = $yourDateString; 
        $args->post_modified_gmt = $yourGmDateString; 
        wp_update_post($args); 
    
    相關問題