函数文档

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.

Return

WP_Post|false|null Null or false if error, deleted post object if success.

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.