關(guān)于 PHP、wordpress 和 CRONE 的問題。我無法通過小部件調(diào)用的函數(shù)中的 CRON 過程更改全局變量。$containerregister_activation_hook(__FILE__, 'activate_my_plugin');function activate_my_plugin() { wp_clear_scheduled_hook('update_container'); wp_schedule_event( time(), 'hourly', 'update_container');}add_action('update_container', 'update_container');function update_container() { global $container; // updating container}function use_container() { global $container; // !And here we have undefined $container}class acw_widget extends WP_Widget{ // ... public function widget( $args, $instance ) { use_container(); }}我正在嘗試在 WP 站點(diǎn)上緩存對(duì) DB 的請(qǐng)求。因此,我決定使用 CRON 來安排請(qǐng)求并將結(jié)果存儲(chǔ)在某個(gè)全局容器中。假設(shè)小部件會(huì)出于其目的從容器中獲取數(shù)據(jù),但我遇到了看起來像“未定義容器”的問題。因此,我激活插件,wp-cron.php 顯示,該容器已更新(在“update_container”處),但在“use_container”中獲取容器顯示,$container 未定義且未更新。請(qǐng)你解釋一下,為什么會(huì)這樣?如何跟蹤初始化/更新全局容器的正確順序?代碼是真實(shí)代碼的簡(jiǎn)化版。也許這很尷尬,但我是 PHP 和 wordpress 的新手,所以這是我找到的解決方案。
通過 CRON 更改 PHP 全局變量
喵喵時(shí)光機(jī)
2021-12-24 10:19:22