List tables: Even more robust fallback for the primary column.

Since `WP_List_Table::get_default_primary_column()` can be overridden in a subclass and columns can be further filtered, it is possible to end up with a primary column that no longer exists. This is particularly evident in list tables for custom post types that have been altered via filter.

props ocean90.
fixes #32996.


git-svn-id: https://develop.svn.wordpress.org/trunk@33266 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Helen Hou-Sandi 2015-07-14 16:17:06 +00:00
parent f645e3767a
commit d651f599bf
2 changed files with 7 additions and 1 deletions

View File

@ -887,6 +887,12 @@ class WP_List_Table {
$columns = $this->get_columns();
$default = $this->get_default_primary_column_name();
// If the primary column doesn't exist fall back to the
// first non-checkbox column.
if ( ! isset( $columns[ $default ] ) ) {
$default = WP_List_Table::get_default_primary_column_name();
}
/**
* Filter the name of the primary column for the current list table.
*

View File

@ -1069,7 +1069,7 @@ class WP_Posts_List_Table extends WP_List_Table {
* @return string Name of the default primary column, in this case, 'title'.
*/
protected function get_default_primary_column_name() {
return( 'title' );
return 'title';
}
/**