我有一个从json脚本输出数据的结果函数/短代码。这个json脚本每5分钟更新一次,所以我想为这个函数做一个cron任务,每5分钟自行更新一次它,而不复制页面上的内容。
如何在wordpress页面上做到这一点?
function resultpage() {
$output = '';
$output .= '<div id="content">';
$output .= '<div id="part-1">';
$output .= getgames("lol");
$output .= '</div>';
$output .= ' <div id="part-2">';
$output .= getgames("counterstrike");
$output .= ' </div>';
$output .= ' <div id="part-3">';
$output .= getgames("dota2");
$output .= ' </div>';
$output .= ' <div id="part-4">';
$output .= getgames("hearthstone");
$output .= ' </div>';
$output .= '</div>';
return $output;
}
add_shortcode('resultpage', 'resultpage');
add_filter( 'cron_schedules', 'cron_add_5min' );
function cron_add_5min( $schedules ) {
$schedules['5min'] = array(
'interval' => 5*60,
'display' => __( 'Once every five minutes' )
);
return $schedules;
}
add_action( 'init', 'register_result');
function register_result() {
// Make sure this event hasn't been scheduled
if( !wp_next_scheduled( 'resultpage' ) ) {
// Schedule the event
wp_schedule_event( time(), '5min', 'resultpage' );
}
}
您可以按照此说明自定义WP时间表事件。但是您可以手动添加cron选项卡。
- 创建一个编写函数的URL
- 运行命令
crontab -e
- 添加作业,示例如下:
*/5 * * * * curl http://your_domain.com/file_where_function_is_written.php