WordPress.org

Make WordPress Core

Ticket #16714: add-new.diff

File add-new.diff, 3.3 KB (added by nacin, 6 years ago)
  • wp-includes/post.php

     
    12961296                'edit_others_posts'  => 'edit_others_'  . $plural_base,
    12971297                'publish_posts'      => 'publish_'      . $plural_base,
    12981298                'read_private_posts' => 'read_private_' . $plural_base,
    1299                 // Post creation capability simply maps to edit_posts by default:
    1300                 'create_posts'       => 'edit_'         . $plural_base,
    13011299        );
    13021300
     1301        // Post creation capability simply maps to edit_posts by default:
     1302        if ( ! isset( $args->capabilities['create_posts'] ) )
     1303                $default_capabilities['create_posts'] = 'edit_' . $plural_base;
     1304
    13031305        // Primitive capabilities used within map_meta_cap():
    13041306        if ( $args->map_meta_cap ) {
    13051307                $default_capabilities_for_mapping = array(
  • wp-admin/post-new.php

     
    3636
    3737$editing = true;
    3838
    39 if ( ! current_user_can( $post_type_object->cap->edit_posts ) )
     39if ( ! current_user_can( $post_type_object->cap->edit_posts ) || ! current_user_can( $post_type_object->cap->create_posts ) )
    4040        wp_die( __( 'Cheatin’ uh?' ) );
    4141
    4242// Schedule auto-draft cleanup
  • wp-admin/edit-form-advanced.php

     
    274274
    275275<div class="wrap">
    276276<?php screen_icon(); ?>
    277 <h2><?php echo esc_html( $title ); ?><?php if ( isset( $post_new_file ) ) : ?> <a href="<?php echo esc_url( $post_new_file ) ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a><?php endif; ?></h2>
     277<h2><?php
     278echo esc_html( $title );
     279if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) )
     280        echo ' <a href="' . esc_url( $post_new_file ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
     281?></h2>
    278282<?php if ( $notice ) : ?>
    279283<div id="notice" class="error"><p><?php echo $notice ?></p></div>
    280284<?php endif; ?>
  • wp-admin/edit.php

     
    221221?>
    222222<div class="wrap">
    223223<?php screen_icon(); ?>
    224 <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php
     224<h2><?php
     225echo esc_html( $post_type_object->labels->name );
     226if ( current_user_can( $post_type_object->cap->create_posts ) )
     227        echo ' <a href="' . esc_url( $post_new_file ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
    225228if ( ! empty( $_REQUEST['s'] ) )
    226         printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
    227 </h2>
     229        printf( ' <span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() );
     230?></h2>
    228231
    229232<?php if ( isset( $_REQUEST['locked'] ) || isset( $_REQUEST['updated'] ) || isset( $_REQUEST['deleted'] ) || isset( $_REQUEST['trashed'] ) || isset( $_REQUEST['untrashed'] ) ) {
    230233        $messages = array();