mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Revisions: Correct the function name for retrieving the last revision ID and total count.
Includes: * Renaming the function to `wp_get_last_revision_id_and_total_count()`. * Making the default value for `$post` consistent with `wp_get_post_revisions()`. * Making `WP_Error` codes more specific and using them in test assertions. * Adjusting the function description per the documentation standards. Follow-up to [53759]. Props JustinSainton, SergeyBiryukov. See #55857. git-svn-id: https://develop.svn.wordpress.org/trunk@53769 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
a560641179
commit
7e8feefd44
@ -2026,7 +2026,7 @@ class WP_REST_Posts_Controller extends WP_REST_Controller {
|
||||
}
|
||||
|
||||
if ( in_array( $post->post_type, array( 'post', 'page' ), true ) || post_type_supports( $post->post_type, 'revisions' ) ) {
|
||||
$revision = wp_get_lastest_revision_id_and_total_count( $post->ID );
|
||||
$revision = wp_get_last_revision_id_and_total_count( $post->ID );
|
||||
$revisions_count = ! is_wp_error( $revision ) ? $revision['count'] : 0;
|
||||
|
||||
$links['version-history'] = array(
|
||||
@ -2035,7 +2035,8 @@ class WP_REST_Posts_Controller extends WP_REST_Controller {
|
||||
);
|
||||
|
||||
if ( $revisions_count > 0 ) {
|
||||
$last_revision = $revision['revision'];
|
||||
$last_revision = $revision['revision'];
|
||||
|
||||
$links['predecessor-version'] = array(
|
||||
'href' => rest_url( trailingslashit( $base ) . $post->ID . '/revisions/' . $last_revision ),
|
||||
'id' => $last_revision,
|
||||
|
||||
@ -528,27 +528,27 @@ function wp_get_post_revisions( $post = 0, $args = null ) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get latest revision and count of revisions for a post.
|
||||
* Returns the latest revision ID and count of revisions for a post.
|
||||
*
|
||||
* @since 6.1.0
|
||||
*
|
||||
* @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global $post.
|
||||
* @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
|
||||
* @return WP_Error|array {
|
||||
* Returns associative array with last revision and total count.
|
||||
* Returns associative array with last revision ID and total count.
|
||||
*
|
||||
* @type int $revision The last revision post id or 0 if non existing.
|
||||
* @type int $count The total count of revisions for $post_id.
|
||||
* @type int $revision The last revision post ID or 0 if no revisions exist.
|
||||
* @type int $count The total count of revisions for the given post.
|
||||
* }
|
||||
*/
|
||||
function wp_get_lastest_revision_id_and_total_count( $post = null ) {
|
||||
function wp_get_last_revision_id_and_total_count( $post = 0 ) {
|
||||
$post = get_post( $post );
|
||||
|
||||
if ( ! $post ) {
|
||||
return new WP_Error( 'revision_error', __( 'Invalid post.' ) );
|
||||
return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
|
||||
}
|
||||
|
||||
if ( ! wp_revisions_enabled( $post ) ) {
|
||||
return new WP_Error( 'revision_error', __( 'Revisions not enabled.' ) );
|
||||
return new WP_Error( 'revisions_not_enabled', __( 'Revisions not enabled.' ) );
|
||||
}
|
||||
|
||||
$args = array(
|
||||
|
||||
@ -656,7 +656,7 @@ class Tests_Post_Revisions extends WP_UnitTestCase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that wp_get_lastest_revision_id_and_total_count() returns last revision id and total count.
|
||||
* Tests that wp_get_last_revision_id_and_total_count() returns the last revision ID and total count.
|
||||
*
|
||||
* @ticket 55857
|
||||
* @dataProvider data_wp_get_post_revisions_url
|
||||
@ -674,36 +674,38 @@ class Tests_Post_Revisions extends WP_UnitTestCase {
|
||||
|
||||
$post_revisions = wp_get_post_revisions( $post_id );
|
||||
$last_post_revision = current( $post_revisions );
|
||||
$revision = wp_get_lastest_revision_id_and_total_count( $post_id );
|
||||
$revision = wp_get_last_revision_id_and_total_count( $post_id );
|
||||
|
||||
$this->assertSame(
|
||||
$last_post_revision->ID,
|
||||
$revision['revision'],
|
||||
'Failed asserting latest revision id.'
|
||||
'The last revision ID does not match.'
|
||||
);
|
||||
|
||||
$this->assertSame(
|
||||
count( $post_revisions ),
|
||||
$revision['count'],
|
||||
'Failed asserting total count of revision.'
|
||||
'The total count of revisions does not match.'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that wp_get_lastest_revision_id_and_total_count() when no revisions.
|
||||
* Tests that wp_get_last_revision_id_and_total_count() returns a WP_Error when no revisions exist.
|
||||
*
|
||||
* @ticket 55857
|
||||
*/
|
||||
public function test_wp_get_last_revision_id_and_total_count_no_revisions() {
|
||||
$revision = wp_get_lastest_revision_id_and_total_count( null );
|
||||
$this->assertWPError( $revision, 'Invalid Post, non existing revisions.' );
|
||||
$this->assertSame( $revision->get_error_message(), 'Invalid post.' );
|
||||
$revision = wp_get_last_revision_id_and_total_count( null );
|
||||
|
||||
$this->assertWPError( $revision, 'Invalid post, no revisions should exist.' );
|
||||
$this->assertSame( $revision->get_error_code(), 'invalid_post' );
|
||||
|
||||
add_filter( 'wp_revisions_to_keep', '__return_zero' );
|
||||
$post_id = self::factory()->post->create();
|
||||
$revision = wp_get_lastest_revision_id_and_total_count( $post_id );
|
||||
$this->assertWPError( $revision, 'Revisions should be not enabled.' );
|
||||
$this->assertSame( $revision->get_error_message(), 'Revisions not enabled.' );
|
||||
$revision = wp_get_last_revision_id_and_total_count( $post_id );
|
||||
|
||||
$this->assertWPError( $revision, 'Revisions should not be enabled.' );
|
||||
$this->assertSame( $revision->get_error_code(), 'revisions_not_enabled' );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user