There are many great code snippets in their Gitlab. You might find more on their…
Sortable Filesize Column in Media Library
/* ------------------------------ MEDIA METADATA ------------------------------ */
// edits image meta data
add_action( 'add_attachment', 'my_edit_image_meta_data' );
function my_edit_image_meta_data( $post_ID ) {
// checks if the uploaded file is an image
if ( wp_attachment_is_image( $post_ID ) ) {
// finds the total file / image size
$filesize = filesize( get_attached_file( $post_ID ) );
// converts bits to mega bytes
$filesize_convert = $filesize / 1024 / 1024;
// converts number to format based on locale
$filesize = number_format_i18n( $filesize_convert, 3 );
// creates new meta field with file size of an image
update_post_meta( $post_ID, '_wp_attachment_image_filesize', $filesize );
}
}
/* ------------------------------ MEDIA LIBRARY - COLUMNS ------------------------------ */
// creates new columns in media library
add_filter( 'manage_upload_columns', 'my_media_library_columns' );
function my_media_library_columns( $columns ) {
$columns['filesize'] = __( 'File Size', 'text-domain' );
return $columns;
}
// displays values for each image in specific columns
add_action( 'manage_media_custom_column', 'my_media_library_sizes', 10, 2 );
function my_media_library_sizes( $column, $post_ID ) {
if ( 'filesize' === $column ) {
$filesize = get_post_meta( $post_ID, '_wp_attachment_image_filesize', true );
echo $filesize . __( ' MB', 'text-domain' );
}
}
// adds sortable function for new columns
add_filter( 'manage_upload_sortable_columns', 'my_media_library_sortable');
function my_media_library_sortable( $columns ) {
$columns['filesize'] = 'filesize';
return $columns;
}
// sets sorting for new columns
add_action( 'pre_get_posts', 'my_media_library_sizes_query' );
function my_media_library_sizes_query( $query ) {
if ( !is_admin() || !$query->is_main_query() ) {
return;
}
$orderby = $query->get( 'orderby' );
if ( 'filesize' == $orderby ) {
$meta_query = array(
'relation' => 'OR',
array(
'key' => '_wp_attachment_image_filesize',
'compare' => 'NOT EXISTS',
),
array(
'key' => '_wp_attachment_image_filesize',
),
);
$query->set( 'meta_query', $meta_query );
$query->set( 'orderby', 'meta_value' );
}
}
Width and Height Columns: https://wordpress.stackexchange.com/questions/35680/sortable-custom-column-in-media-library
Dieser Beitrag hat 0 Kommentare