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

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

萨龙龙萨龙龙
WordPress
7年前
0
0
2.18W
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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1402.36M457.16W4.42W
加载中…
分享:
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器
WordPress禁用古腾堡(Gutenberg)使用经典的编辑器上一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章下一篇
WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章
相关文章
总数:113

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

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

WordPress 获取用户 ID 的8种方法

在WordPress主题的开发过程中,获取用户ID的频率是很高的,可在WordPress中查看用户信息,也可以通过代码直接获取。 …
萨龙龙萨龙龙
WordPress
4年前
0
0
5.11W
0

WordPress 主题 MNews Pro 5.2 投稿新增可插入音视频功能

MNewsPro主题已经更新到5.2版本,功能已经很完善,且实用,在文章投稿编辑器有用户提出不能上传视频或者插入视频简码不方便的问题。 …
萨龙龙萨龙龙
WordPress
3年前
0
0
2.65W
0

修改Woocommerce商品固定链接其它自定义文章类型适用

在更新Concise主题时集成了前端用户中心和商城插件,发现插件中为商城产品文章设置好了固定链接,所以把萨龙网络的作品集与商城的两种自定义类型的…
萨龙龙萨龙龙
WooCommerce
11年前
0
0
1.46W
0

WordPress 功能函数—— add_comments_page(将子菜单页添加到评论主菜单上)

描述 此函数具有一个功能,该功能将用于确定菜单中是否包含页面。 连接到处理页面输出的函数也必须检查用户是否具有所需的…
萨龙龙萨龙龙
WordPress Functions
7年前
0
0
2.10W
0

WordPress Mega超级大菜单插件Ubermenu

Ubermenu是一个用户友好的、可高度定制响应式的Wordpress超级大菜单插件,工作原理与Wordpress3菜单系统类似,强大到可创建…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.76W
0

WordPress 判断是否在循环中的函数 in_the_loop

WordPress主题开发中,很多时间需要在文章与列表中进行判断从而输出不同的内容,比如文章分类,只想在列表中显示,文章中不显示。列表页面可直…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.11W
0

WordPress函数wp_nav_menu_items向菜单列表中添加搜索内容

Wordpress的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_men…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.06W
0

WordPress强大好用的分页插件WP-PageNavi使用

相信使用Wordpress的朋友都对WP-PageNavi分页插件不陌生,很多博客对它也有很多介绍,之前也使用过代码来实现分页,但不够人性化,使…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.55W
0

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

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

WordPress 主题选项框架 Codestar Framework Pro 2.0专业版使用

萨龙网络在2018年9月份就写了一篇《WordPress简约实用的主题选项框架CodestarFramework》文章来介绍Codest…
萨龙龙萨龙龙
WordPress
7年前
0
0
3.03W
0

解决网站嵌入优酷视频堆叠顺序的问题

很多网站都会插入优酷或其它网站的在线视频到自己的网站中,默认情况下优酷视频的堆叠顺序并不受CSS样式z-index属性的影响,在视频页面有滚动、…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.36W
0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容