WordPress.org

Make WordPress Core

Changeset 15892


Ignore:
Timestamp:
10/21/2010 03:05:10 PM (10 years ago)
Author:
nacin
Message:

Clean up get_post_type_capabilities. Don't bother with new capabilities for edit_others_posts and delete_others_posts if the post type does not support authors.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/post.php

    r15890 r15892  
    990990 */
    991991function get_post_type_capabilities( $args ) {
    992     global $_post_type_meta_capabilities;
    993 
    994992    $default_capabilities = array(
    995993        // Meta capabilities are generally mapped to primitive capabilities depending on the context
     
    10041002        'read_private_posts' => 'read_private_' . $args->capability_type . 's',
    10051003    );
     1004
    10061005    // Primitive capabilities that are used within map_meta_cap():
    10071006    if ( $args->map_meta_cap ) {
     
    10101009            'delete_posts'           => 'delete_'           . $args->capability_type . 's',
    10111010            'delete_private_posts'   => 'delete_private_'   . $args->capability_type . 's',
    1012             'delete_published_posts' => 'delete_published_' . $args->capability_type . 's', 
     1011            'delete_published_posts' => 'delete_published_' . $args->capability_type . 's',
    10131012            'delete_others_posts'    => 'delete_others_'    . $args->capability_type . 's',
    10141013            'edit_private_posts'     => 'edit_private_'     . $args->capability_type . 's',
     
    10171016        $default_capabilities = array_merge( $default_capabilities, $default_capabilities_for_mapping );
    10181017    }
     1018
     1019    if ( ! post_type_supports( $args->name, 'author' ) ) {
     1020        // While these may be checked in core, users/roles shouldn't need to be granted these.
     1021        $default_capabilities['edit_others_posts']   = $default_capabilities['edit_posts'];
     1022        $default_capabilities['delete_others_posts'] = $default_capabilities['delete_posts'];
     1023    }
     1024
    10191025    $capabilities = array_merge( $default_capabilities, $args->capabilities );
     1026
     1027    // Remember meta capabilities for future reference.
    10201028    if ( $args->map_meta_cap )
    10211029        _post_type_meta_capabilities( $capabilities );
     1030
    10221031    return (object) $capabilities;
    10231032}
Note: See TracChangeset for help on using the changeset viewer.