Make match day column sortable in admin

This commit is contained in:
Brian Miyaji
2017-11-05 22:59:57 +11:00
parent 0efd3b591b
commit a7911215c6

View File

@@ -37,6 +37,8 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT {
// Admin Columns
add_filter( 'manage_edit-sp_event_columns', array( $this, 'edit_columns' ) );
add_filter( 'manage_edit-sp_event_sortable_columns', array( $this, 'sortable_columns' ) );
add_action( 'pre_get_posts', array( $this, 'orderby_columns' ) );
add_action( 'manage_sp_event_posts_custom_column', array( $this, 'custom_columns' ), 2, 2 );
// Filtering
@@ -129,6 +131,28 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT {
return apply_filters( 'sportspress_event_admin_columns', $columns );
}
/**
* Change the sortable columns in admin.
*/
public function sortable_columns( $columns ) {
$columns['sp_day'] = 'sp_day';
return $columns;
}
/**
* Define the sortable columns in admin.
*/
public function orderby_columns( $query ) {
if ( ! is_admin() ) return;
$orderby = $query->get( 'orderby');
if ( 'sp_day' == $orderby ) {
$query->set( 'meta_key','sp_day' );
$query->set( 'orderby','meta_value_num' );
}
}
/**
* Define our custom columns shown in admin.
* @param string $column