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

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

萨龙龙萨龙龙
WordPress
6年前
0
0
1.85W
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.18M456.62W3.85W
分享:
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器上一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章下一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章
相关文章
总数:107

WordPress 主题 Slearn Pro 课程插件之编辑课程选项

课程插件功能已经能满足绝大多数在线教育培训课程网站的需求,选项功能也众多,「即将推出」功能还在开发中。…
萨龙龙萨龙龙
WordPress
3年前
0
0
2.13W
0

Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化

萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛,因为www.gravatar.com头…
萨龙龙萨龙龙
Bbpress, Buddypress, WooCommerce, WordPress
10年前
0
0
1.71W
0

WordPress添加 span 标签到分类目录和文章归档文章数量上

WordPress默认提供了分类目录,文章归档等小工具,在前台开发中,由于分类目录和文章归档显示的文章数量没有添加标签,导致写样式比较麻烦,如…
萨龙龙萨龙龙
WordPress
5年前
0
0
1.37W
0

WordPress 出现 Allowed memory size of 134217728 bytes exhausted 错误如何修复

当出现"Allowedmemorysizeof134217728bytesexhausted"错误时,意味着PHP内存限制被…
萨龙龙萨龙龙
WordPress
2年前
0
0
2.33W
0

修改Buddypress中管理员的显示名与用户名区别开提高账户安全

Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…
萨龙龙萨龙龙
Buddypress, WordPress
10年前
0
0
1.61W
0

禁用管理员通知『连接您的店铺到 WooCommerce.com 接受扩展更新和支持』

WooCommerce后台对管理员的通知『连接您的店铺到WooCommerce.com接受扩展更新和支持』,是3.3.1版本后出来了,新的…
萨龙龙萨龙龙
WooCommerce
7年前
0
0
1.11W
0

移除 WooCommerce 商城插件中我的帐户相关页面

WooCommerce插件默认为我的帐户页面提供了:仪表盘、订单、下载、地址、帐户详情几个页面,以及一个退出登录的按钮,如果出售的是实物或者没…
萨龙龙萨龙龙
WooCommerce
7年前
0
0
1.42W
0

自定义WooCommerce产品文章hook顺序

最近在做一款企业产品展示的商城网站,设计WooCommerce产品文章的布局与默认的布局有很大的不同,所以其中的一些模块都需要重新调整。WooC…
萨龙龙萨龙龙
WooCommerce
9年前
0
0
1.41W
0

WordPress MU多站点网络克隆新站点插件Multisite Cloner

WordpressMU多站点已经使用很久,在本地测试和主机上安装的都是多站点,极大的方便网站搭建以及主题开发。当我们有多个站点,需要创建的新站…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.91W
0

WooCommerce 商城首页排除指定分类

WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…
萨龙龙萨龙龙
WooCommerce
6年前
0
0
1.02W
0

WordPress批量替换自定义域名称

WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…
萨龙龙萨龙龙
WordPress
9年前
0
0
9.01K
0

WordPress MU多站点设置子站点上传路径和文件的URL地址

为了提高网站的访问速度,萨龙网络也将所有的媒体文件放置在二级域名下,WordPress3.5以上的版本,隐藏了后台的媒体(Media)设置页面…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.52W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 0
评论列表
总数:0
萨龙网络
没有相关内容