WordPress检查修改后的日期是否超过1周前

时间:2017-04-12 02:27:10

标签: php wordpress datetime

好的,所以我有这个代码,我不确定如何检查修改后的日期是否超过一周前。

因此,如果帖子在一个多星期前被修改,则应该回复修改。

代码:

$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回显“修改”。

干杯

2 个答案:

答案 0 :(得分: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'; }

这应该可以帮助你

答案 1 :(得分:0)

好的,这就是我解决问题的方法。 在循环中使用此代码:

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

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

代码将检查修改后的日期是否超过一周,并解开帖子。

希望这有助于某人:)