EDIT:当我设置一个贴子并将其日期设置为2016年7月7日时,它目前正在工作。到目前为止,我的代码是:我添加了以下内容,以在帖子变粘时更改帖子的发布日期:
// Update post timestamp
$newdate = current_time(\'mysql\');
$my_post = array(
\'ID\' => $post_id,
\'post_date\' => $newdate
);
wp_update_post($my_post);
// Update post timestamp
如果帖子有粘性且超过7天,也可以使用此选项来解除帖子的粘贴:
function deleteOldStickies($post_id, $postDate) {
$postDate = strtotime($postDate);
$currentTime = strtotime(time());
$expire = $currentTime + strtotime(\'-1 day\');
if ($postDate < $expire && is_sticky()) {
unstick_post($post_id);
echo \'Обявата е изтекла!\';
}
}
在内容中。php我将函数调用为:
<?php echo deleteOldStickies($post->ID, $post->post_date); ?>
从上面的信息中,我进一步的问题是——我是否遗漏了一些重要的东西,它在生活环境中是否会起到良好的作用?
最合适的回答,由SO网友:knif3r 整理而成
好的,我成功了,这是我使用的代码,我不确定这是否是最佳实践,但它确实有效。
在函数中。php,我从前端使帖子具有粘性,我添加了以下内容以将post\\u日期更新到今天,这样我就可以控制粘性期:
$newdate = current_time(\'mysql\');
$my_post = array(
\'ID\' => $post_id,
\'post_date\' => $newdate
);
wp_update_post($my_post);
在函数中。php(我使用-1天进行测试,如果在$expire变量上键入-7天,它将取消粘贴超过7天的帖子。
//Delete Old Stickies START
function deleteOldStickies($post_id, $postDate) {
$postDate = strtotime($postDate);
$expire = strtotime(\'-1 day\') + get_option( \'gmt_offset\' ) * 3600;
if ($postDate < $expire && is_sticky()) {
unstick_post($post_id);
}
}
//Delete Old Stickies END
在循环中:
<?php echo deleteOldStickies($post->ID, $post->post_date); ?>