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

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

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

WordPress桌面客户端无需浏览器管理多个站点及JetPack安装使用

WordPress推出已经十多年了,越来越多的个人与公司都是在使用其开发自己的网站,全球的开发者也都在为其提供程序。WordPress移动客户端…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.70W
0

WordPress 添加菜单项目描述

WordPress能够在自定义菜单中存储每个菜单项的描述,默认情况下,这些描述不会显示在前端菜单中,需要为相应的菜单增加显示描述的功能。 一…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.35W
0

WordPress禁用古腾堡(Gutenberg)使用经典的编辑器

很多人在使用WordPress最新的Gutenberg编辑器时都觉得并不适应,很难上手,毕竟新的事物要是需要时间才能熟悉。如果不想用还是…
萨龙龙萨龙龙
WordPress
7年前
0
0
9.42K
0

在 WordPress 主题中编辑器 WooCommerce 产品选项卡-tabs

WooCommerce产品页面默认有3个选项卡:描述,其它信息和评论,对于很多WordPress主题或许不太适合,需要修改或者添加选项卡。…
萨龙龙萨龙龙
WooCommerce, WordPress
4年前
0
0
3.13W
0

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

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

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

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

翻译WordPress强大实用的Redux框架选项

强大、实用的Redux框架我们已经在WordPress强大的开源后台框架ReduxFramework介绍与使用一文中介绍了,今天我们介绍下如何…
萨龙龙萨龙龙
WordPress, 软件系统
9年前
0
0
1.35W
0

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

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

使用WordPress MU一个程序创建多站点网络介绍与安装教程

经常折腾wp的人肯定不止一个博客,主题高产的WPER那就更不用说,所以我们不想重复地安装wordpress,通过WordPressMU只需要安…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.15W
2

WordPress强大的开源后台框架Redux Framework介绍与使用

开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.32W
0

WordPress MU多站点解决Timthumb.php不显示缩略图

最近在开发Perimg图片主题,用户想要用Timthumb.php插件来实现缩略图,缩略图的顺序是自定义域、文章第一张图片与默认缩略图,而萨龙龙…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.16W
0

WordPress 主题禁用古滕堡编辑器和小工具

WordPress4.9.8版本就发布了古滕堡编辑器,很好用,添加文章也比经典编辑器方便很多。在5.8版本后又在小工具中增加了古滕堡编辑…
萨龙龙萨龙龙
WordPress
4年前
0
0
1.50W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 0
评论列表
总数:0
萨龙网络
没有相关内容