WordPress.org

Make WordPress Core

Ticket #14981: 14981.1.patch

File 14981.1.patch, 12.2 KB (added by rockwell15, 4 years ago)

Added post statuses, nav menu filters, & table view labels to get_post_type_labels()

  • wp-admin/includes/ajax-actions.php

     
    17621762                $title = trim( $post->post_title ) ? $post->post_title : __( '(no title)' );
    17631763                $alt = ( 'alternate' == $alt ) ? '' : 'alternate';
    17641764
    1765                 switch ( $post->post_status ) {
    1766                         case 'publish' :
    1767                         case 'private' :
    1768                                 $stat = __('Published');
    1769                                 break;
    1770                         case 'future' :
    1771                                 $stat = __('Scheduled');
    1772                                 break;
    1773                         case 'pending' :
    1774                                 $stat = __('Pending Review');
    1775                                 break;
    1776                         case 'draft' :
    1777                                 $stat = __('Draft');
    1778                                 break;
     1765                $post_type_labels = get_post_type_labels( get_post_type_object( $post->post_type ) );
     1766                $stat = $post_type_labels->{$post->post_status};
     1767                if( 'private' == $post->post_status ) {
     1768                        $stat = $post_type_labels->publish;
    17791769                }
    17801770
    17811771                if ( '0000-00-00 00:00:00' == $post->post_date ) {
  • wp-admin/includes/class-wp-posts-list-table.php

     
    278278                $all_args = array( 'post_type' => $post_type );
    279279                $mine = '';
    280280
     281                $post_type_labels = get_post_type_labels( get_post_type_object( $post_type ) );
     282
    281283                // Subtract post types that are not included in the admin all list.
    282284                foreach ( get_post_stati( array( 'show_in_admin_all_list' => false ) ) as $state ) {
    283285                        $total_posts -= $num_posts->$state;
     
    295297
    296298                        $mine_inner_html = sprintf(
    297299                                _nx(
    298                                         'Mine <span class="count">(%s)</span>',
    299                                         'Mine <span class="count">(%s)</span>',
     300                                        $post_type_labels->mine_singular . ' <span class="count">(%s)</span>',
     301                                        $post_type_labels->mine_plural . ' <span class="count">(%s)</span>',
    300302                                        $this->user_posts_count,
    301303                                        'posts'
    302304                                ),
     
    315317
    316318                $all_inner_html = sprintf(
    317319                        _nx(
    318                                 'All <span class="count">(%s)</span>',
    319                                 'All <span class="count">(%s)</span>',
     320                                $post_type_labels->all_singular . ' <span class="count">(%s)</span>',
     321                                $post_type_labels->all_plural . ' <span class="count">(%s)</span>',
    320322                                $total_posts,
    321323                                'posts'
    322324                        ),
     
    364366
    365367                        $sticky_inner_html = sprintf(
    366368                                _nx(
    367                                         'Sticky <span class="count">(%s)</span>',
    368                                         'Sticky <span class="count">(%s)</span>',
     369                                        $post_type_labels->sticky_singular . ' <span class="count">(%s)</span>',
     370                                        $post_type_labels->sticky_plural . ' <span class="count">(%s)</span>',
    369371                                        $this->sticky_posts_count,
    370372                                        'posts'
    371373                                ),
     
    941943                        }
    942944                }
    943945
     946                $post_type_labels = get_post_type_labels( get_post_type_object( $post->post_type ) );
    944947                if ( 'publish' === $post->post_status ) {
    945                         _e( 'Published' );
     948                        echo $post_type_labels->publish;
    946949                } elseif ( 'future' === $post->post_status ) {
    947950                        if ( $time_diff > 0 ) {
    948951                                echo '<strong class="error-message">' . __( 'Missed schedule' ) . '</strong>';
    949952                        } else {
    950                                 _e( 'Scheduled' );
     953                                echo $post_type_labels->future;
    951954                        }
    952955                } else {
    953956                        _e( 'Last Modified' );
     
    15261529                        <?php endif; ?>
    15271530                        </div>
    15281531
    1529         <?php endif; // $bulk
    1530         endif; // post_type_supports comments or pings ?>
     1532        <?php
     1533                endif; // $bulk
     1534        endif; // post_type_supports comments or pings
     1535        $post_type_labels = get_post_type_labels( get_post_type_object( $post->post_type ) );
     1536        ?>
    15311537
    15321538                        <div class="inline-edit-group">
    15331539                                <label class="inline-edit-status alignleft">
     
    15371543                                                <option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
    15381544        <?php endif; // $bulk ?>
    15391545                                        <?php if ( $can_publish ) : // Contributors only get "Unpublished" and "Pending Review" ?>
    1540                                                 <option value="publish"><?php _e( 'Published' ); ?></option>
    1541                                                 <option value="future"><?php _e( 'Scheduled' ); ?></option>
     1546                                                <option value="publish"><?php echo $post_type_labels->publish; ?></option>
     1547                                                <option value="future"><?php echo $post_type_labels->future; ?></option>
    15421548        <?php if ( $bulk ) : ?>
    1543                                                 <option value="private"><?php _e( 'Private' ) ?></option>
     1549                                                <option value="private"><?php echo $post_type_labels->private; ?></option>
    15441550        <?php endif; // $bulk ?>
    15451551                                        <?php endif; ?>
    1546                                                 <option value="pending"><?php _e( 'Pending Review' ); ?></option>
    1547                                                 <option value="draft"><?php _e( 'Draft' ); ?></option>
     1552                                                <option value="pending"><?php echo $post_type_labels->pending; ?></option>
     1553                                                <option value="draft"><?php echo $post_type_labels->draft; ?></option>
    15481554                                        </select>
    15491555                                </label>
    15501556
  • wp-admin/includes/meta-boxes.php

     
    7777<div class="misc-pub-section misc-pub-post-status"><label for="post_status"><?php _e('Status:') ?></label>
    7878<span id="post-status-display">
    7979<?php
    80 switch ( $post->post_status ) {
    81         case 'private':
    82                 _e('Privately Published');
    83                 break;
    84         case 'publish':
    85                 _e('Published');
    86                 break;
    87         case 'future':
    88                 _e('Scheduled');
    89                 break;
    90         case 'pending':
    91                 _e('Pending Review');
    92                 break;
    93         case 'draft':
    94         case 'auto-draft':
    95                 _e('Draft');
    96                 break;
     80$post_type_labels = get_post_type_labels( get_post_type_object( $post->post_type ) );
     81if( 'auto-draft' == $post->post_status ) {
     82        echo $post_type_labels->publish;
     83} else {
     84        echo $post_type_labels->{$post->post_status};
    9785}
    9886?>
    9987</span>
     
    10492<input type="hidden" name="hidden_post_status" id="hidden_post_status" value="<?php echo esc_attr( ('auto-draft' == $post->post_status ) ? 'draft' : $post->post_status); ?>" />
    10593<select name='post_status' id='post_status'>
    10694<?php if ( 'publish' == $post->post_status ) : ?>
    107 <option<?php selected( $post->post_status, 'publish' ); ?> value='publish'><?php _e('Published') ?></option>
     95<option<?php selected( $post->post_status, 'publish' ); ?> value='publish'><?php echo $post_type_labels->publish; ?></option>
    10896<?php elseif ( 'private' == $post->post_status ) : ?>
    109 <option<?php selected( $post->post_status, 'private' ); ?> value='publish'><?php _e('Privately Published') ?></option>
     97<option<?php selected( $post->post_status, 'private' ); ?> value='publish'><?php echo $post_type_labels->private; ?></option>
    11098<?php elseif ( 'future' == $post->post_status ) : ?>
    111 <option<?php selected( $post->post_status, 'future' ); ?> value='future'><?php _e('Scheduled') ?></option>
     99<option<?php selected( $post->post_status, 'future' ); ?> value='future'><?php echo $post_type_labels->future; ?></option>
    112100<?php endif; ?>
    113 <option<?php selected( $post->post_status, 'pending' ); ?> value='pending'><?php _e('Pending Review') ?></option>
     101<option<?php selected( $post->post_status, 'pending' ); ?> value='pending'><?php echo $post_type_labels->pending; ?></option>
    114102<?php if ( 'auto-draft' == $post->post_status ) : ?>
    115 <option<?php selected( $post->post_status, 'auto-draft' ); ?> value='draft'><?php _e('Draft') ?></option>
     103<option<?php selected( $post->post_status, 'auto-draft' ); ?> value='draft'><?php echo $post_type_labels->draft; ?></option>
    116104<?php else : ?>
    117 <option<?php selected( $post->post_status, 'draft' ); ?> value='draft'><?php _e('Draft') ?></option>
     105<option<?php selected( $post->post_status, 'draft' ); ?> value='draft'><?php echo $post_type_labels->draft; ?></option>
    118106<?php endif; ?>
    119107</select>
    120108 <a href="#post_status" class="save-post-status hide-if-no-js button"><?php _e('OK'); ?></a>
  • wp-admin/includes/nav-menu.php

     
    374374                '_wpnonce',
    375375        );
    376376
     377        $post_type_labels = get_post_type_labels( get_post_type_object( $post_type_name ) );
     378
    377379        ?>
    378380        <div id="posttype-<?php echo $post_type_name; ?>" class="posttypediv">
    379381                <ul id="posttype-<?php echo $post_type_name; ?>-tabs" class="posttype-tabs add-menu-item-tabs">
    380382                        <li <?php echo ( 'most-recent' == $current_tab ? ' class="tabs"' : '' ); ?>>
    381383                                <a class="nav-tab-link" data-type="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-most-recent" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'most-recent', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent">
    382                                         <?php _e( 'Most Recent' ); ?>
     384                                        <?php echo $post_type_labels->most_recent; ?>
    383385                                </a>
    384386                        </li>
    385387                        <li <?php echo ( 'all' == $current_tab ? ' class="tabs"' : '' ); ?>>
    386388                                <a class="nav-tab-link" data-type="<?php echo esc_attr( $post_type_name ); ?>-all" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'all', remove_query_arg($removed_args))); ?>#<?php echo $post_type_name; ?>-all">
    387                                         <?php _e( 'View All' ); ?>
     389                                        <?php echo $post_type_labels->view_all; ?>
    388390                                </a>
    389391                        </li>
    390392                        <li <?php echo ( 'search' == $current_tab ? ' class="tabs"' : '' ); ?>>
    391393                                <a class="nav-tab-link" data-type="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-search" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'search', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-search">
    392                                         <?php _e( 'Search'); ?>
     394                                        <?php echo $post_type_labels->search; ?>
    393395                                </a>
    394396                        </li>
    395397                </ul><!-- .posttype-tabs -->
  • wp-includes/post.php

     
    13891389        }
    13901390}
    13911391
     1392
    13921393/**
    13931394 * Build an object with all post type labels out of a post type object
    13941395 *
     
    14221423 * - filter_items_list - String for the table views hidden heading.
    14231424 * - items_list_navigation - String for the table pagination hidden heading.
    14241425 * - items_list - String for the table hidden heading.
     1426 * - publish - Post Status. Default is Published.
     1427 * - future - Post Status. Default is Scheduled.
     1428 * - draft - Post Status. Default is Draft.
     1429 * - pending - Post Status. Default is Pending Review.
     1430 * - private - Post Status. Default is Privately Published.
     1431 * - trash - Post Status. Default is Trash.
     1432 * - auto_draft - Post Status. Default is Auto-Draft.
     1433 * - most_recent - String for menu filters.
     1434 * - view_all - String for menu filters.
     1435 * - search - String for menu filters.
     1436 * - mine_singular - String for single user owned post.
     1437 * - mine_plural - String for multiple user owned posts.
     1438 * - all_singular - String for single all inclusive post.
     1439 * - all_plural - String for multiple all inclusive posts.
     1440 * - sticky_singular - String for single sticky post.
     1441 * - sticky_plural - String for multiple sticky posts.
    14251442 *
    14261443 * Above, the first default value is for non-hierarchical post types (like posts)
    14271444 * and the second one is for hierarchical post types (like pages).
     
    14611478                'filter_items_list' => array( __( 'Filter posts list' ), __( 'Filter pages list' ) ),
    14621479                'items_list_navigation' => array( __( 'Posts list navigation' ), __( 'Pages list navigation' ) ),
    14631480                'items_list' => array( __( 'Posts list' ), __( 'Pages list' ) ),
     1481                'publish' => array( _x('Published', 'post'), _x('Published', 'page') ),
     1482                'future' => array( _x('Scheduled', 'post'), _x('Scheduled', 'page') ),
     1483                'draft' => array( _x('Draft', 'post'), _x('Draft', 'page') ),
     1484                'pending' => array( _x('Pending Review', 'post'), _x('Pending Review', 'page') ),
     1485                'private' => array( _x('Privately Published', 'post'), _x('Privately Published', 'page') ),
     1486                'trash' => array( _x('Trash', 'post'), _x('Trash', 'page') ),
     1487                'auto_draft' => array( _x('Auto-Draft', 'post'), _x('Auto-Draft', 'page') ),
     1488                'most_recent' => array( _x('Most Recent', 'post'), _x('Most Recent', 'page') ),
     1489                'view_all' => array( _x('View All', 'post'), _x('View All', 'page') ),
     1490                'mine_singular' => array( _x('Mine', 'post'), null ),
     1491                'mine_plural' => array( _x('Mine', 'post'), null ),
     1492                'all_singular' => array( _x('All', 'post'), null ),
     1493                'all_plural' => array( _x('All', 'post'), null ),
     1494                'sticky_singular' => array( _x('Sticky', 'post'), null ),
     1495                'sticky_plural' => array( _x('Sticky', 'post'), null ),
    14641496        );
    14651497        $nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
    14661498