rest_delete_revision
云策文档标注
概述
rest_delete_revision 是一个 WordPress Hook,在通过 REST API 删除修订版本后触发。它提供删除操作的结果和请求信息,供开发者进行后续处理。
关键要点
- 触发时机:在通过 REST API 成功删除或移动修订版本到回收站后立即触发。
- 参数:$result 表示删除结果(成功时为 WP_Post 对象,失败时为 false 或 null),$request 为 WP_REST_Request 对象包含 API 请求详情。
- 用途:常用于日志记录、清理相关数据或执行自定义操作。
- 相关函数:由 WP_REST_Revisions_Controller::delete_item() 调用,用于删除单个修订版本。
- 版本历史:自 WordPress 4.7.0 版本引入。
代码示例
add_action( 'rest_delete_revision', 'my_custom_revision_delete_handler', 10, 2 );
function my_custom_revision_delete_handler( $result, $request ) {
if ( $result instanceof WP_Post ) {
// 修订版本已删除或移至回收站
error_log( 'Revision deleted: ' . $result->ID );
} else {
// 删除失败
error_log( 'Revision deletion failed' );
}
}注意事项
- 确保回调函数正确处理 $result 参数,因为它可能是 WP_Post 对象、false 或 null,需进行类型检查。
- 此 Hook 仅适用于通过 REST API 的删除操作,不适用于其他删除方式(如直接数据库操作)。
- 在插件或主题中使用时,注意避免与核心或其他插件冲突,建议添加唯一前缀。
原文内容
Fires after a revision is deleted via the REST API.
Parameters
$resultWP_Post|false|null-
The revision object (if it was deleted or moved to the Trash successfully) or false or null (failure). If the revision was moved to the Trash, $result represents its new state; if it was deleted, $result represents its state before deletion.
$requestWP_REST_Request-
The request sent to the API.
Source
do_action( 'rest_delete_revision', $result, $request );
Changelog
| Version | Description |
|---|---|
| 4.7.0 | Introduced. |