trying to make a custom column sortable in the media library. Found lots of examples for posts, and users but can't get them to work on the media library page.
function wpse_hook_isv_columns() {
add_action('manage_media_custom_column', 'isv_custom_media_column_content',10,2);
add_filter('manage_media_columns', 'isv_custom_media_column_headings');
add_filter('manage_media_imwidth_sortable_columns', 'imwidth_column_register_sortable' );
}
add_action( 'admin_init', 'wpse_hook_isv_columns' );
function isv_custom_media_column_headings($defaults) {
$defaults['isv_width'] = __( 'Width', 'imwidth' );
$defaults['isv_height'] = 'Height';
return $defaults;
}
function isv_custom_media_column_content($column_name,$id) {
$meta = wp_get_attachment_metadata($id);
switch ($column_name) {
case 'isv_width':
$imWidth = get_post_meta($id, "_im_width", true);
if( $imWidth ) :
echo $imWidth .' ('.$meta['width'].')';
else : // add meta value if not there...
update_post_meta($id, '_im_width', $meta['width']);
echo $meta['width'].' (updated)';
endif;
break;
case 'isv_height':
$desc = get_the_content();
echo $meta['height'] ? $meta['height'] : $none;
break;
}
}
// Register the column as sortable ???
function imwidth_column_register_sortable( $columns ) {
$custom = array(
// meta column id => sortby value used in query
'imwidth' => 'Width',
);
return wp_parse_args($custom, $columns);
}
// This example i found works!
function registerdate($columns) {
$columns['registerdate'] = __('Registered', 'registerdate');
return $columns;
}
add_filter('manage_users_columns', 'registerdate');
function registerdate_columns( $value, $column_name, $user_id ) {
if ( 'registerdate' != $column_name )
return $value;
$user = get_userdata( $user_id );
$registerdate = $user->user_registered;
return $registerdate;
}
add_action('manage_users_custom_column', 'registerdate_columns', 10, 3);
function registerdate_column_sortable($columns) {
$custom = array(
// meta column id => sortby value used in query
'registerdate' => 'registered',
);
return wp_parse_args($custom, $columns);
}
add_filter( 'manage_users_sortable_columns', 'registerdate_column_sortable' );
how can i make isv_width sortable? Any help appreciated!