1 回答
TA贡献1853条经验 获得超9个赞
为此,您可以使用 Wordpress 瞬态 API ( https://codex.wordpress.org/Transients_API )。瞬态是一段具有超时的临时键值数据。在每次页面加载时,您测试您的瞬态是否存在。如果不是,请将其设置为 x 分钟过期时间(或您想要的任何过期时间)并执行您的代码。如果另一个用户在过期时间内访问该页面,瞬态仍然存在,代码将不会执行:
define('TRANSIENT_MY_INTERVAL'); // 5 minute interval for expiration
add_action('wp_loaded', 'do_this_regularly');
function do_this_regularly()
{
$trans_timeout = 5 * MINUTE_IN_SECONDS; // define your timeout here
$trans_lock = get_transient('my_transient_lock');
if (! $trans_lock) { // will be false if expired or not set
set_transient('my_transient_lock', true, $trans_timeout); // set the lock
// <- perform your every x minutes action here!
}
}
此代码仅在人们实际访问该页面时才会执行,就像使用 WP cron ( https://developer.wordpress.org/plugins/cron )一样。这也可以用于相同的确切目的 - 只是使用哪个的偏好问题。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报