2017-04-12 76 views
0

好的,我有這段代碼,我不知道如何去檢查修改後的日期是否超過一週前。WordPress檢查修改後的日期是否超過1周前

因此,如果帖子被修改超過一週前,它應該回聲修改。

代碼:

$sticky = get_option('sticky_posts'); 
      if (count($sticky) > 0) { 
       $stringSticky = implode(",", $sticky); 
       $postsModifiedCheck = $wpdb->get_results(
        "SELECT ID, post_modified 
        FROM `{$wpdb->prefix}posts` 
        WHERE post_status = 'publish' AND post_type = 'post' 
        AND ID IN ($stringSticky)" 
       ); 

       $now = new DateTime(); 
       $currentDateTime = $now->getTimestamp(); 

       foreach ($postsModifiedCheck as $post) { 
        if ($currentDateTime > $post->post_modified) { 
         echo "modified"; 
        } 
       } 
      } 

所以此刻卻會回聲「修改」,只是不知道如何修改日期回聲「修改」如果$post->post_modified一個多星期前。

乾杯

回答

0

好吧,這就是我解決問題的方法。 而在循環使用此代碼:

$weekAgo = strtotime('-1 week'); 

foreach ($postsModifiedCheck as $post) : 
    if (intval(strtotime($post->post_modified)) < intval($weekAgo)) unstick_post($post->ID); 
endforeach; 

的代碼將檢查後的修改日期是一個多星期以前,扯去崗位。

希望這可以幫助別人:)

0

檢查您的格式 -

var_dump($currentDateTime .' <- current date - modified date -> '.$post->post_modified); 

看看他們是相同的格式, 如果他們是不一樣的格式,迫使他們是同一like this 然後當你到這一點 - 只是創建一個變量,你檢查差異f.eks

if($currentDateTime - $post->post_modified >= 7){echo 'shiit, It has been modified over a week ago'; } 

這應該有助於y ou在你的路上