类别导航:
通知:目前网站正常哦!
你的位置:首页 >> 编程技术 >> wordpress定时任务之三:主题中控制WP-Cron任务

wordpress定时任务之三:主题中控制WP-Cron任务

发表日期:2011-05-21 作者:DH分类:编程技术 标签: wordpress php
上一篇文章讲到如何插件中控制WP-Cron任务,在插件代码里面自己使用WP-Cron。但是代码中的register_activation_hook无法在主题中,使用 使用WP-Cron要解决的几个要点: (1)如何定义时间间隔 (2)如何在插件启动的时候创建hook (3)如何在插件停止的时候删除hook 如何在主题中实现的呢? 本文用以下的代码举例,说明如何在主题中使用WP-Cron,希望给在主题中直接使用定时功能的coder起到抛砖引玉的作用。 将以下代码添加到主题中的functions.php中即可,但是需要修改dh_task_function中wp_mail函数参数中的邮件名。 使用时注意使用 wp-crontrol来查看是否已经成功添加hook和schedule。
//增加schedule,自定义的时间间隔循环的时间间隔 每周一次和每两周一次
function dh_more_reccurences() 
{
	return array(
		'weekly' => array('interval' => 604800, 'display' => 'Once Weekly'),
		'fortnightly' => array('interval' => 1209600, 'display' => 'Once Fortnightly'),
	);
}
add_filter('cron_schedules', 'dh_more_reccurences');

//看有没有定义hook,没有就定义
if (!wp_next_scheduled('dh_task_hook')) {
	wp_schedule_event( time(), 'fortnightly', 'dh_task_hook' );
}
//在主题被切换的时候,清除hook
function dh_theme_switch(){
    if (wp_next_scheduled('dh_task_hook'))
	wp_clear_scheduled_hook('dh_task_hook');
    //由于在dh_task_function更新,这里需要删除
    delete_option('dh_last_check');
}
add_action('switch_theme',dh_theme_switch);

//函数dh_task_function向某个邮箱发个信,其内容可以中添加自己要执行东西
function dh_task_function() {
	//这里运行你定时执行的代码,我这里将option里面dh_last_check更改为执行此操作的时间
	update_option('dh_last_check', $now);
}
add_action( 'dh_task_weekly', 'dh_task_function' );
注:如果在使用的过程中发现任何bug,真心希望您能留言告诉我,谢谢你的试用和分享!让我们更加熟悉wordpress!

除非注明,文章均为灯火部落原创,转载请注明出处:wordpress定时任务之三:主题中控制WP-Cron任务-灯火部落
相关文章:
  • wordpress定时任务之四:页面访问触发执行(插件篇)
  • wordpress定时任务之二:插件中控制WP-Cron任务
  • wordpress定时任务之五:页面访问触发执行(主题篇)
  • wordpress定时任务之一:利用wp-crontrol控制WP-Cron任务
  • 首次接触拿福能(感受篇)
  • 域名申请攻略(以godaddy+支付宝为例)
  • ∧回到顶部∧