我正在为一位在她的网站上列出名人的客户开发一个WordPress网站。每个名人档案都显示了一个社交媒体统计表,该表通过相关的API使用相应的用户句柄获取。
例如,Twitter的追随者数量是通过Twitter API检索的。
一切正常,但页面加载时间很痛苦。
我现在开始认为,服务器每周在后台进行一次API查询并相应地更新数据库会更有意义,这样我们就不会在每次页面加载时都查询API。
我该如何着手建造这样的东西?
我能够编写一个函数,在所有名人获取各种数据的过程中循环,但我如何自动化并确保数据输入数据库。
很明显,我并不是在寻找一个完整的答案,只是寻找一些关于方法的指导,因为这不是我以前做过的事情,而且在不知道相关术语/名称的情况下,我无法搜索到一些东西。这有点像鸡肉/鸡蛋。
安排一个cron事件!
一种可持续的方法是编写一个插件,在激活/停用cron时调度/clear_schedules。
这里有一个你可以使用的插件。
您需要将其放置在一个文件(如custom_cron_event.php(中并将其FTP到您的/plugins文件夹中,或者将其放置到一个文件中并压缩(ZIP(文件以通过/wp管理界面上传到您的网站。
您可以安装类似Cron Manager的插件来验证Cron事件是否已排定"customer_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' );
?>
我在这里回答了一个类似的问题。