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

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

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

WordPress 简约实用的主题选项框架 Codestar Framework

CodestarFramework,一个轻量且易用的WordPress选项框架,在萨龙龙最新设计开发的企业教育培训类WordPress…
萨龙龙萨龙龙
WordPress
7年前
0
0
3.89W
0

WordPress获取当前分类的顶级分类ID

在开发吃货主题Chihuo时,要对产品和文章进行筛选,在一级分类下显示所有一级分类和当前一级分类下的所有二级分类,在二级分类下,显示所有一级分类…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.81W
0

WordPress 功能函数—— addslashes_gpc(添加斜杠以转义字符串)

描述 添加斜杠以转义字符串。 如果设置了magic_quotes_gpc,将首先删除斜杠。 用法 …
萨龙龙萨龙龙
WordPress Functions
7年前
0
0
8.58K
0

WordPress获取优酷视频缩略图

很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.26W
0

WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章

还是在开发导航类主题Slhao的时候遇到的问题,主题使用CodestarFramework专业版选项框架,文章的Metabox选项…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.25W
0

WordPress 一键数据库初始化重置插件:WordPress Reset

在开发WordPress主题中,需要N多次测试,这样就需要多次重装测试网站,这样相当的麻烦。今天了解到一款数据库初始化插件:WordPr…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.91W
0

WordPress 如何根据文章类型向编辑器添加 CSS

在WordPress中,我们可以通过向主题中添加CSS文件来为页面和文章添加样式。但是,如果您希望根据文章类型添加自定义样式,该怎么办呢…
萨龙龙萨龙龙
WordPress
3年前
0
0
2.16W
0

WordPress判断文章分页第一页和最后一页

Perimg主题,最近开发的一个图片主题,与之前开发的主题又有很多的进步,以及更多的、少见的实用功能。主题文章中如果是多页就会显示上下篇、上下页…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.18W
0

WooCommerce 通过woocommerce_cart_item_thumbnail钩子修改购物车缩略图

在开发基于WooCommerce的商城主题时,我们一般会将模板文件添加到主题中来进行修改,对于有钩子或接口的地方,就没有必要再修改模板代码了…
萨龙龙萨龙龙
WooCommerce
5年前
0
0
1.65W
0

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

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

使用 wp_add_inline_script 函数向 WordPress 站点输出脚本

前面我们介绍了wpadd_inline_style函数的使用,并为主题添加自定义样式切换功能,既然有函数可以向站点输出css样式,同时也可以…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.55W
0

WordPress 插入页面函数 wp_insert_post

萨龙网络已经开发了很多WordPress主题,LensNews主题要创建的页面较多,所以导致很多用户来咨询如何设置用户中心,在最新上线的…
萨龙龙萨龙龙
WordPress
8年前
0
0
2.16W
0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容