WordPress.org

Make WordPress Core

Ticket #37684: 37684.2.diff

File 37684.2.diff, 2.8 KB (added by jeremyfelt, 3 years ago)
  • src/wp-admin/includes/class-wp-ms-sites-list-table.php

     
    310310                global $mode;
    311311
    312312                $blogname    = untrailingslashit( $blog['domain'] . $blog['path'] );
    313                 $blog_states = array();
    314                 reset( $this->status_list );
    315 
    316                 foreach ( $this->status_list as $status => $col ) {
    317                         if ( $blog[ $status ] == 1 ) {
    318                                 $blog_states[] = $col[1];
    319                         }
    320                 }
    321                 $blog_state = '';
    322                 if ( ! empty( $blog_states ) ) {
    323                         $state_count = count( $blog_states );
    324                         $i           = 0;
    325                         $blog_state .= ' — ';
    326                         foreach ( $blog_states as $state ) {
    327                                 ++$i;
    328                                 $sep         = ( $i == $state_count ) ? '' : ', ';
    329                                 $blog_state .= "<span class='post-state'>$state$sep</span>";
    330                         }
    331                 }
    332 
    333313                ?>
    334314                <strong>
    335315                        <a href="<?php echo esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ); ?>" class="edit"><?php echo $blogname; ?></a>
    336                         <?php echo $blog_state; ?>
    337316                </strong>
    338317                <?php
     318
     319                $this->site_states( $blog );
     320
    339321                if ( 'list' !== $mode ) {
    340322                        switch_to_blog( $blog['blog_id'] );
    341323                        echo '<p>';
     
    343325                                /* translators: 1: site name, 2: site tagline. */
    344326                                __( '%1$s &#8211; %2$s' ),
    345327                                get_option( 'blogname' ),
    346                                 '<em>' . get_option( 'blogdescription ' ) . '</em>'
     328                                '<em>' . get_option( 'blogdescription' ) . '</em>'
    347329                        );
    348330                        echo '</p>';
    349331                        restore_current_blog();
     
    490472        }
    491473
    492474        /**
     475         * Maybe output comma-separated site states
     476         *
     477         * @since 4.7.0
     478         *
     479         * @param array $site
     480         */
     481        protected function site_states( $site ) {
     482                $site_states = array();
     483
     484                // $site is still an array, so get the object
     485                $_site = WP_Site::get_instance( $site['blog_id'] );
     486
     487                if ( is_main_site( $_site->id ) ) {
     488                        $site_states['deleted'] = __( 'Main' );
     489                }
     490
     491                reset( $this->status_list );
     492
     493                foreach ( $this->status_list as $status => $col ) {
     494                        if ( $_site->{$status} == 1 ) {
     495                                $site_states[] = $col[1];
     496                        }
     497                }
     498
     499                /**
     500                 * Filter the default site display states for items in the Sites list table.
     501                 *
     502                 * @since 4.7.0
     503                 *
     504                 * @param array $site_states An array of site states. Default 'Main',
     505                 *                            'Archived', 'Mature', 'Spam', 'Deleted'.
     506                 */
     507                $site_states = apply_filters( 'display_site_states', $site_states );
     508
     509                if ( ! empty( $site_states ) ) {
     510                        $state_count = count( $site_states );
     511                        $i = 0;
     512                        echo ' &mdash; ';
     513                        foreach ( $site_states as $state ) {
     514                                ++$i;
     515                                ( $i == $state_count ) ? $sep = '' : $sep = ', ';
     516                                echo "<span class='post-state'>{$state}{$sep}</span>";
     517                        }
     518                }
     519        }
     520
     521        /**
    493522         * Gets the name of the default primary column.
    494523         *
    495524         * @since 4.3.0