您需要设置cron job 每天检查一次,看看最新的帖子是否超过七天。
所以,有些地方在插件文件中。安排新活动。然后加入那个事件。获取发布日期,将其转换为unix时间戳,并将其与当前时间进行比较。
<?php
register_activation_hook( __FILE__, \'wpse29671_activation\' );
function wpse29671_activation()
{
wp_schedule_event( time(), \'daily\', \'wpse29671_cron\' );
}
add_action( \'wpse29671_cron\', \'wpse29671_maybe_send_email\' );
function wpse29671_maybe_send_email()
{
// get the latest post
$posts = get_posts( array( \'numberposts\' => 1 ) );
if( ! $posts ) return;
// Latest posts date as a unix timestamp
$latest = strtotime( $posts[0]->post_date );
// how long has it been?
$diff = ( time() - $latest ) / ( 60 * 60 * 24 );
// if it has been more than 7 days, send the email
if( $diff >= 7 )
{
wp_mail( \'[email protected]\', \'Better Write a Post!\', \'Hey, you should go write a blog post or something\' );
}
}
作为插件:
https://gist.github.com/1246814或者,您可以使用DateTime 要进行时间比较或仅使用的对象this plugin (只是说,你自己想出来更有趣)。