萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress使用WP-Cron函数定时执行任务

萨龙龙萨龙龙
WordPress
6年前
0
0
1.73W
WordPress 本身一直有 WP-Cron(计划任务)的功能,可以设置每隔一段时间来执行,不过 WP-Cron 功能是基于页面浏览的,所以时间上不会那么准确,会相差一些。通过 WP-Cron 我们就可以定期对 WordPress 定期执行一些任务,最近设计开发的导航类主题 Slhao,有一个图书模块, 通过豆瓣的 API 可获取图书信息,豆瓣评分会随着用户的评价一直在改变,如果保存在数据库,时间久了就不匹配,这时就需要让其自动执行,更新评分。

一、定义一个更新时间

// 代码1
add_filter( 'cron_schedules', 'salong_add_every_time' );
function salong_add_every_time( $schedules ) {
    $schedules['every_time'] = array(
        'interval'  => 60,
        'display'   => __( '每隔一分钟', 'salong' )
    );
    return $schedules;
}

二、安排当前任务

我们可以使用函数 wp_schedule_event() 来定义重复发生的时间,WordPress 默认已经内置了三种重复频率:每小时一次(hourly),每日两次(twicedaily)和每日一次(daily),函数打印输出为:
array(4) {
    ["hourly"]       =>array(2) {
        ["interval"] => int(3600)
        ["display"]  => string(15) "每小时一次"
    }
    ["twicedaily"]   => array(2) {
        ["interval"] => int(43200)
        ["display"]  => string(12) "每日两次"
    }
    ["daily"]        => array(2) {
        ["interval"] => int(86400)
        ["display"]  => string(12) "每日一次"
    }
}
默认的重复频率也许对于很多网站不够用,WP-Cron 也支持自定义事件频率类型,当我们把第一段代码添加到函数文件中,再打印输出 wp_schedule_event():
array(4) {
    ["every_time"]   => array(2) {
        ["interval"] => int(60)
        ["display"]  => string(15) "每隔一分钟"
    }
    ["hourly"]       =>array(2) {
        ["interval"] => int(3600)
        ["display"]  => string(15) "每小时一次"
    }
    ["twicedaily"]   => array(2) {
        ["interval"] => int(43200)
        ["display"]  => string(12) "每日两次"
    }
    ["daily"]        => array(2) {
        ["interval"] => int(86400)
        ["display"]  => string(12) "每日一次"
    }
}
// 代码2
if ( ! wp_next_scheduled( 'salong_add_every_time' ) ) {
    wp_schedule_event( time(), 'every_time', 'salong_add_every_time' );
}

三、需要执行的代码函数

// 代码3
add_action( 'salong_add_every_time', 'salong_every_time_update_douban_average' );
function salong_every_time_update_douban_average() {
    // 执行的代码
}
最后将代码1,2,3添加到主题 functions.php 文件中即可定时执行任务函数中的代码。
标签:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-wp-cron.html
萨龙龙

萨龙龙

侠客
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.13M456.44W3.62W
分享:
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器上一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章下一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章
相关文章
总数:107

WooCommerce商城首页获取自定义字段

WooCommerce商城首页默认被插件转换成归档页面archive-product.php,但是添加的依然是页面,所以通过get_post_m…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.15W
0

为woocommerce商城添加图片延迟(lazyload)加载功能

wordpress图片延迟加载已经不是稀奇的功能,网上有很多类似的文章,添加相当简单方便,woocommerce缩略图图片延迟加载也很方便的可以…
萨龙龙萨龙龙
WooCommerce
10年前
0
0
1.28W
0

WordPress MU多站点网络共享媒体插件Network Shared Media的使用包括特色图像

WordPressMU虽然是一个程序下可以创建多个站点,但每个站点下的文章、页面、媒体等还是独立的,MU也为不同的站点分配了不同的媒体目录。N…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.75W
0

WooCommerce 商城插件的条件式标签

可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…
萨龙龙萨龙龙
WooCommerce
8年前
0
0
1.24W
0

移除 WooCommerce 商城插件编辑产品中的产品数据相关 tabs

WooCommerce插件默认为编辑产品页面提供了产品数据TABS,默认包括:常规、库存、配送、联锁产品、属性、高级等模块,功能强大而实用。…
萨龙龙萨龙龙
WooCommerce
7年前
0
0
1.27W
0

WordPress循环中判断为每篇文章设计不同的样式

新闻视频类Yewan主题的首页文章布局是不规则,文章的布局多样化,这是如何实现的?其实是很简单的,我们在循环中进行判断,每一篇文章都可以输出不同…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.17W
0

萨龙网络站点群所有网站使用https访问

HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.38W
0

WordPress 主题获得评论深度的2种方法

一、通过使用全局变量获取评论深度 我相信您应该知道wp_list_comments()函数,它可以将评论打印在网站页面上。 为什么这个功…
萨龙龙萨龙龙
WordPress
4年前
0
0
2.18W
0

WordPress 自定义的评论查询类 WP_Comment_Query 参考文档和使用实例

WordPress获取评论所有主题都是使用wp_list_comments()函数,获取每篇文章的评论是相当的方便实用,唯一的不足是不能通过自…
萨龙龙萨龙龙
WordPress
6年前
0
0
1.58W
0

WordPress 限制上传媒体的文件类型

MNews和LensNews主题都有前台投稿的功能,用户可以上传图片等文件,管理员是不希望用户上传任意的媒体文件,这时我们可以对用户上传的…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.15W
0

在WooCommerce中添加“立即购买”按钮直接跳转到结算页面

MNews主题集成了WooCommerce商城插件,有些用户要求增加一个『立即购买』按钮,这篇文章介绍下如何在WooCommerce中添加…
萨龙龙萨龙龙
WooCommerce
7年前
0
0
3.03W
0

WordPress + 宝塔面板速度优化方案 Memcached + Redis

WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…
萨龙龙萨龙龙
WordPress, 建站技术
5年前
0
0
2.20W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 0
评论列表
总数:0
萨龙网络
没有相关内容