Set map_meta_cap to true when capability_type = post and no custom caps are specified. see #14122.

git-svn-id: https://develop.svn.wordpress.org/trunk@16338 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin 2010-11-13 08:40:38 +00:00
parent a53b8ef117
commit 812c44072a
1 changed files with 8 additions and 1 deletions

View File

@ -883,7 +883,7 @@ function register_post_type($post_type, $args = array()) {
// Args prefixed with an underscore are reserved for internal use.
$defaults = array(
'labels' => array(), 'description' => '', 'publicly_queryable' => null, 'exclude_from_search' => null,
'capability_type' => 'post', 'capabilities' => array(), 'map_meta_cap' => false,
'capability_type' => 'post', 'capabilities' => array(), 'map_meta_cap' => null,
'_builtin' => false, '_edit_link' => 'post.php?post=%d', 'hierarchical' => false,
'public' => false, 'rewrite' => true, 'has_archive' => false, 'query_var' => true,
'supports' => array(), 'register_meta_box_cb' => null,
@ -916,6 +916,13 @@ function register_post_type($post_type, $args = array()) {
if ( null === $args->exclude_from_search )
$args->exclude_from_search = !$args->public;
// Back compat with quirky handling in version 3.0. #14122
if ( 'post' == $args->capability_type && null === $args->map_meta_cap && empty( $args->capabilities ) )
$args->map_meta_cap = true;
if ( null === $args->map_meta_cap )
$args->map_meta_cap = false;
$args->cap = get_post_type_capabilities( $args );
unset($args->capabilities);