From 1a0773a4b428c4c857ef12408a2ad0dd19d0993d Mon Sep 17 00:00:00 2001 From: Helen Hou-Sandi Date: Wed, 10 Jun 2015 14:58:42 +0000 Subject: [PATCH] List tables: Better primary column back-compat. Why are people manually setting `$_column_headers` other than because somebody else told them to? Maybe time will tell. props kovshenin. see #25408. git-svn-id: https://develop.svn.wordpress.org/trunk@32722 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-list-table.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/includes/class-wp-list-table.php b/src/wp-admin/includes/class-wp-list-table.php index 2e5c10df1c..641e863475 100644 --- a/src/wp-admin/includes/class-wp-list-table.php +++ b/src/wp-admin/includes/class-wp-list-table.php @@ -850,8 +850,16 @@ class WP_List_Table { * @return array */ protected function get_column_info() { - if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) && count( $this->_column_headers ) >= 4 ) { - return $this->_column_headers; + // $_column_headers is already set / cached + if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) ) { + // Back-compat for list tables that have been manually setting $_column_headers for horse reasons. + // In 4.3, we added a fourth argument for primary column. + $column_headers = array( array(), array(), array(), '' ); + foreach ( $this->_column_headers as $key => $value ) { + $column_headers[ $key ] = $value; + } + + return $column_headers; } $columns = get_column_headers( $this->screen );