REST API: Do not include the password argument when getting media items

Currently, `attachment` is the only post type exposed via the REST API that
does not support password protection, but it's possible for other post types to
remove password support.

Props jnylen0.
Merges [39595] to the 4.7 branch.
Fixes #38977.

Built from https://develop.svn.wordpress.org/branches/4.7@39610


git-svn-id: http://core.svn.wordpress.org/branches/4.7@39550 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dion Hulse 2016-12-16 05:46:35 +00:00
parent 0b813f2544
commit 380cc5d7d6
2 changed files with 12 additions and 8 deletions

View File

@ -77,18 +77,22 @@ class WP_REST_Posts_Controller extends WP_REST_Controller {
'schema' => array( $this, 'get_public_item_schema' ),
) );
$schema = $this->get_item_schema();
$get_item_args = array(
'context' => $this->get_context_param( array( 'default' => 'view' ) ),
);
if ( isset( $schema['properties']['password'] ) ) {
$get_item_args['password'] = array(
'description' => __( 'The password for the post if it is password protected.' ),
'type' => 'string',
);
}
register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P<id>[\d]+)', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $this, 'get_item' ),
'permission_callback' => array( $this, 'get_item_permissions_check' ),
'args' => array(
'context' => $this->get_context_param( array( 'default' => 'view' ) ),
'password' => array(
'description' => __( 'The password for the post if it is password protected.' ),
'type' => 'string',
),
),
'args' => $get_item_args,
),
array(
'methods' => WP_REST_Server::EDITABLE,

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.7.1-alpha-39609';
$wp_version = '4.7.1-alpha-39610';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.