好的,所以我有这个代码,我不确定如何检查修改后的日期是否超过一周前。
因此,如果帖子在一个多星期前被修改,则应该回复修改。
代码:
$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 :(得分: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;
代码将检查修改后的日期是否超过一周,并解开帖子。
希望这有助于某人:)