diff --git a/src/wp-admin/includes/class-wp-list-table.php b/src/wp-admin/includes/class-wp-list-table.php
index 7a9d2ad01f..2f46591be5 100644
--- a/src/wp-admin/includes/class-wp-list-table.php
+++ b/src/wp-admin/includes/class-wp-list-table.php
@@ -64,6 +64,15 @@ class WP_List_Table {
*/
private $_pagination;
+ /**
+ * The view switcher modes
+ *
+ * @since 4.1.0
+ * @var array
+ * @access protected
+ */
+ protected $modes = array();
+
/**
* Constructor.
*
@@ -114,6 +123,13 @@ class WP_List_Table {
// wp_enqueue_script( 'list-table' );
add_action( 'admin_footer', array( $this, '_js_vars' ) );
}
+
+ if ( empty( $this->modes ) ) {
+ $this->modes = array(
+ 'list' => __( 'List View' ),
+ 'excerpt' => __( 'Excerpt View' )
+ );
+ }
}
/**
@@ -520,16 +536,11 @@ class WP_List_Table {
* @access protected
*/
protected function view_switcher( $current_mode ) {
- $modes = array(
- 'list' => __( 'List View' ),
- 'excerpt' => __( 'Excerpt View' )
- );
-
?>
$title ) {
+ foreach ( $this->modes as $mode => $title ) {
$classes = array( 'view-' . $mode );
if ( $current_mode == $mode )
$classes[] = 'current';
diff --git a/src/wp-admin/includes/class-wp-media-list-table.php b/src/wp-admin/includes/class-wp-media-list-table.php
index 688b7b8ae5..3629f25038 100644
--- a/src/wp-admin/includes/class-wp-media-list-table.php
+++ b/src/wp-admin/includes/class-wp-media-list-table.php
@@ -22,6 +22,11 @@ class WP_Media_List_Table extends WP_List_Table {
public function __construct( $args = array() ) {
$this->detached = ( isset( $_REQUEST['attachment-filter'] ) && 'detached' === $_REQUEST['attachment-filter'] );
+ $this->modes = array(
+ 'list' => __( 'List View' ),
+ 'grid' => __( 'Grid View' )
+ );
+
parent::__construct( array(
'plural' => 'media',
'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
@@ -147,38 +152,6 @@ class WP_Media_List_Table extends WP_List_Table {
parent::pagination( $which );
}
- /**
- * Display a view switcher
- *
- * @since 3.1.0
- * @access protected
- */
- protected function view_switcher( $current_mode ) {
- $modes = array(
- 'list' => __( 'List View' ),
- 'grid' => __( 'Grid View' )
- );
-
-?>
-
-
- $title ) {
- $classes = array( 'view-' . $mode );
- if ( $current_mode == $mode )
- $classes[] = 'current';
- printf(
- "
%s\n",
- esc_url( add_query_arg( 'mode', $mode ) ),
- implode( ' ', $classes ),
- $title
- );
- }
- ?>
-
-