wp_delete_post_revision()
云策文档标注
概述
wp_delete_post_revision() 函数用于删除 WordPress 中的文章修订版本。它通过从 posts 表中删除指定修订版的行来实现,并返回操作结果。
关键要点
- 参数 $revision 接受修订版 ID 或 WP_Post 对象,为必需项。
- 返回值:成功时返回已删除的 WP_Post 对象,错误时返回 null 或 false。
- 函数内部调用 wp_delete_post() 执行删除,并在删除后触发 wp_delete_post_revision 钩子。
- 该函数自 WordPress 2.6.0 版本引入。
代码示例
function wp_delete_post_revision( $revision ) {
$revision = wp_get_post_revision( $revision );
if ( ! $revision ) {
return $revision;
}
$delete = wp_delete_post( $revision->ID );
if ( $delete ) {
do_action( 'wp_delete_post_revision', $revision->ID, $revision );
}
return $delete;
}注意事项
删除修订版时,会触发 wp_delete_post_revision 钩子,允许开发者执行自定义操作。
原文内容
Deletes a revision.
Description
Deletes the row from the posts table corresponding to the specified revision.
Parameters
$revisionint|WP_Postrequired-
Revision ID or revision object.
Source
function wp_delete_post_revision( $revision ) {
$revision = wp_get_post_revision( $revision );
if ( ! $revision ) {
return $revision;
}
$delete = wp_delete_post( $revision->ID );
if ( $delete ) {
/**
* Fires once a post revision has been deleted.
*
* @since 2.6.0
*
* @param int $revision_id Post revision ID.
* @param WP_Post $revision Post revision object.
*/
do_action( 'wp_delete_post_revision', $revision->ID, $revision );
}
return $delete;
}
Hooks
- do_action( ‘wp_delete_post_revision’, int $revision_id, WP_Post $revision )
-
Fires once a post revision has been deleted.
Changelog
| Version | Description |
|---|---|
| 2.6.0 | Introduced. |