上一节我们讲了如何利用 WordPress API 开发 WordPress 插件。这一节我们继续讲解 WordPress API,涉及的主题是 WP-Cron,就是在 WordPress 中安排任务。 如何在 WordPress 中安排任务,这是在 WordPress 2.1 中就引入的功能。本人针对这个功能翻译过一篇文章:如何在 WordPress 安排任务,建议大家在继续之前,好好阅读下那篇文章。 前面我们通过把沙发排名信息保存到数据库中,再有留言之后再进行更新,这样的操作来提高沙发插件的执行效率,今天来谈谈另外一种提高插件执行效率的方法,定时去更新沙发沙发的排名信息到数据库中来提高效率。 下面我们来讲解如何实现: 首先注释掉 sofa_comment_post 和 add_action(‘comment_post’, ‘sofa_comment_post’);。 然后添加如下代码: //创建自定义的更新沙发排名信息的事件,调用更新沙发排名信息的函数add_action(‘update_sofa_event’, ‘update_sofa’); //定义任务,调用更新沙发排名信息的事件 if (!wp_next_scheduled(‘update_sofa_event’)) { wp_schedule_event( time(), ‘hourly’, ‘update_sofa_event’ ); } //当插件被停止时候,移除更新沙发排名信息的事件 function update_sofa_deactivation(){ wp_clear_scheduled_hook(‘update_sofa_event’); } register_deactivation_hook(basename(__FILE__),’ update_sofa_deactivation’); 上面的函数注视已经非常清楚了,这里不多讲了,这里是每个小时,更新一次,如果你觉得太频繁了,可以改成每天,把 wp_schedule_event 函数中 hourly 改成 daily 即可。 至于为什么要添加插件停止事件,是因为我们使用 wp_schedule_event […]