Skip to content

Instantly share code, notes, and snippets.

@topleague
Last active December 20, 2017 09:56
Show Gist options
  • Select an option

  • Save topleague/e5ae8476bf6da97b94865fe4290218f1 to your computer and use it in GitHub Desktop.

Select an option

Save topleague/e5ae8476bf6da97b94865fe4290218f1 to your computer and use it in GitHub Desktop.
Show Dimensions in WordPress Media Library
//* Plugin Name: Show Dimensions in Library
function susanta_show_dimensions_size_column_register($columns) {
/* translators: Column name */
$columns['dimensions'] = __('Dimensions', 'show-dimensions-in-library');
return $columns;
}
function susanta_show_dimensions_size_column_display($column_name, $post_id) {
if( 'dimensions' != $column_name || !wp_attachment_is_image($post_id))
return;
//list($url, $width, $height) = wp_get_attachment_image_src($post_id, 'full');
$metadata = wp_get_attachment_metadata( $post_id );
$width = $metadata['width'];
$height = $metadata['height'];
echo esc_html("{$width}×{$height}");
}
function susanta_show_dimensions_load_textdomain() {
load_plugin_textdomain( 'show-dimensions-in-library', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
// Register the column as sortable
function susanta_show_dimensions_size_column_register_sortable( $columns ) {
$columns['dimensions'] = 'dimensions';
return $columns;
}
function susanta_show_dimensions_size_column_orderby( $query ) {
if( ! is_admin() )
return;
$orderby = $query->get( 'orderby');
if( 'dimensions' == $orderby ) {
$query->set('meta_key','_wp_attachment_metadata');
$query->set('orderby','meta_value');
}
}
// Hooks a function on to a specific action.
add_action( 'plugins_loaded', 'susanta_show_dimensions_load_textdomain');
add_filter('manage_upload_columns', 'susanta_show_dimensions_size_column_register');
add_action('manage_media_custom_column', 'susanta_show_dimensions_size_column_display', 10, 2);
add_filter( 'manage_upload_sortable_columns', 'susanta_show_dimensions_size_column_register_sortable' );
add_action( 'pre_get_posts', 'susanta_show_dimensions_size_column_orderby' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment