在 WordPress 中自动化每周一次的后台功能
Automate a weekly background function in WordPress
我正在为一位在她的网站上列出名人的客户开发一个 WordPress 网站。每个名人个人资料都会显示 table 社交媒体统计数据,这些数据是通过使用相应用户句柄的相关 API 抓取的。
例如,通过 Twitter API.
检索 Twitter 关注者计数
一切正常,但页面加载时间很痛苦。
我现在开始认为服务器每周在后台进行一次 API 查询并相应地更新数据库会更有意义,这样我们就不会查询API 在每次页面加载时。
我将如何构建这样的东西?
我可以编写一个函数来循环遍历所有名人获取的各种数据,但我如何实现自动化并确保数据输入到数据库中。
我显然不是在寻找一个完整的答案,只是在寻找一些关于方法的指导,因为这不是我以前做过的事情,而且我无法在不了解相关内容的情况下搜索某些东西 terms/names。有点chicken/egg.
一个可持续的方法是编写一个插件,schedules/clear_schedules cron activated/deactivated。
这是您可以使用的插件。
您需要将其放入一个文件中(例如 custom_cron_event.php)并将其 FTP 放入您的 /plugins 文件夹中,或者将其放入一个文件中并压缩 (ZIP) 文件通过 /wp-admin 接口将其上传到您的网站。
您可以安装 Cron Manager 之类的插件来验证 cron 事件是否已安排。 “custom_cron_event”(或者你为你的函数选择的任何名称)应该被列为一个计划的 cron 如果你已经激活了插件并且它工作正常。
<?php
/*
Plugin Name: Custom Plugin
Plugin URI:
Description: Adds function on cron
Author:
Version: 1.0
*/
/*
* When this plugin is activated, schedule
*/
function activate_custom_cron(){
wp_schedule_event( time(), 'daily', 'do_custom_cron_event');
}
register_activation_hook(__FILE__, 'activate_custom_cron');
/*
* When this plugin is deactivated, clear_schedule cron
*/
function deactivate_custom_cron(){
wp_clear_scheduled_hook('do_custom_cron_event');
}
register_deactivation_hook(__FILE__, 'deactivate_custom_cron');
/*
* Function
*/
function custom_cron_event() {
/*
* This is where your function goes
*/
}
add_action( 'do_custom_cron_event', 'custom_cron_event' );
?>
我正在为一位在她的网站上列出名人的客户开发一个 WordPress 网站。每个名人个人资料都会显示 table 社交媒体统计数据,这些数据是通过使用相应用户句柄的相关 API 抓取的。
例如,通过 Twitter API.
检索 Twitter 关注者计数一切正常,但页面加载时间很痛苦。
我现在开始认为服务器每周在后台进行一次 API 查询并相应地更新数据库会更有意义,这样我们就不会查询API 在每次页面加载时。
我将如何构建这样的东西?
我可以编写一个函数来循环遍历所有名人获取的各种数据,但我如何实现自动化并确保数据输入到数据库中。
我显然不是在寻找一个完整的答案,只是在寻找一些关于方法的指导,因为这不是我以前做过的事情,而且我无法在不了解相关内容的情况下搜索某些东西 terms/names。有点chicken/egg.
一个可持续的方法是编写一个插件,schedules/clear_schedules cron activated/deactivated。
这是您可以使用的插件。
您需要将其放入一个文件中(例如 custom_cron_event.php)并将其 FTP 放入您的 /plugins 文件夹中,或者将其放入一个文件中并压缩 (ZIP) 文件通过 /wp-admin 接口将其上传到您的网站。
您可以安装 Cron Manager 之类的插件来验证 cron 事件是否已安排。 “custom_cron_event”(或者你为你的函数选择的任何名称)应该被列为一个计划的 cron 如果你已经激活了插件并且它工作正常。
<?php
/*
Plugin Name: Custom Plugin
Plugin URI:
Description: Adds function on cron
Author:
Version: 1.0
*/
/*
* When this plugin is activated, schedule
*/
function activate_custom_cron(){
wp_schedule_event( time(), 'daily', 'do_custom_cron_event');
}
register_activation_hook(__FILE__, 'activate_custom_cron');
/*
* When this plugin is deactivated, clear_schedule cron
*/
function deactivate_custom_cron(){
wp_clear_scheduled_hook('do_custom_cron_event');
}
register_deactivation_hook(__FILE__, 'deactivate_custom_cron');
/*
* Function
*/
function custom_cron_event() {
/*
* This is where your function goes
*/
}
add_action( 'do_custom_cron_event', 'custom_cron_event' );
?>