do_dismiss_core_update()
云策文档标注
概述
do_dismiss_core_update() 是一个用于在 WordPress 后台忽略核心更新的函数。它通过处理 POST 请求中的版本和区域设置参数,查找并标记特定更新为已忽略,然后重定向回更新页面。
关键要点
- 函数从 $_POST 中获取 'version' 和 'locale' 参数,默认区域设置为 'en_US'。
- 使用 find_core_update() 查找匹配的核心更新,如果未找到则直接返回。
- 调用 dismiss_core_update() 来忽略该更新。
- 通过 wp_redirect() 重定向到带有 nonce 的 update-core.php 页面,确保操作安全。
- 该函数自 WordPress 2.7.0 版本引入。
代码示例
function do_dismiss_core_update() {
$version = isset( $_POST['version'] ) ? $_POST['version'] : false;
$locale = isset( $_POST['locale'] ) ? $_POST['locale'] : 'en_US';
$update = find_core_update( $version, $locale );
if ( ! $update ) {
return;
}
dismiss_core_update( $update );
wp_redirect( wp_nonce_url( 'update-core.php?action=upgrade-core', 'upgrade-core' ) );
exit;
}注意事项
- 此函数依赖于 POST 请求,通常由后台管理界面触发,开发者应确保在安全上下文中使用。
- 重定向时使用了 wp_nonce_url() 来添加 nonce,防止 CSRF 攻击,是 WordPress 安全最佳实践的一部分。
- 如果未找到更新,函数会静默返回,不会执行任何操作,这有助于避免错误处理。
原文内容
Dismiss a core update.
Source
function do_dismiss_core_update() {
$version = isset( $_POST['version'] ) ? $_POST['version'] : false;
$locale = isset( $_POST['locale'] ) ? $_POST['locale'] : 'en_US';
$update = find_core_update( $version, $locale );
if ( ! $update ) {
return;
}
dismiss_core_update( $update );
wp_redirect( wp_nonce_url( 'update-core.php?action=upgrade-core', 'upgrade-core' ) );
exit;
}
Changelog
| Version | Description |
|---|---|
| 2.7.0 | Introduced. |