设置粘滞邮件计划(自动)

时间:2016-07-05 作者:knif3r

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); ?>
从上面的信息中,我进一步的问题是——我是否遗漏了一些重要的东西,它在生活环境中是否会起到良好的作用?

1 个回复
最合适的回答,由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); ?>

相关推荐