Sur l'écran d'édition d'images WordPress, j'aimerais ajouter une étiquette pour afficher le niveau de compression actuel et la taille du fichier d'octets de l'image.
Des idées sur la façon de puiser dans cet écran et de faire écho à ces données?
Les paramètres actuels indiquent:
Je voudrais ad
Vous pouvez essayer d'utiliser le filtre attachment_submitbox_misc_actions
pour ajouter plus d'informations à la boîte. Voici un exemple pour la partie taille de fichier:
add_action( 'attachment_submitbox_misc_actions', 'custom_fileinfo_wpse_98608' );
function custom_fileinfo_wpse_98608(){
global $post;
$meta = wp_get_attachment_metadata( $post->ID );
$upload_dir = wp_upload_dir();
$filepath = $upload_dir['basedir']."/".$meta['file'];
$filesize = filesize($filepath);
?>
<div class="misc-pub-section">
<?php _e( 'File Size:' ); ?> <strong><?php echo $filesize; ?> </strong> <?php _e( 'bytes' ); ?>
</div>
<?php
}
Les informations de fichier par défaut sont affichées avec la fonction attachment_submitbox_metadata()
à travers cette action:
add_action( 'attachment_submitbox_misc_actions', 'attachment_submitbox_metadata' );
dans le fichier /wp-admin/includes/media.php
Ces 2 fonctions fonctionneront avec les fichiers téléchargés mime personnalisés (tels que PSD, EPS) lorsque la méta n'est pas disponible. Il renvoie également plus qu’un grand nombre d’octets, 2 unités logiques décimales. Le 99 place l’information en dernier dans la boîte à méta.
// Helper
function ua_formatBytes($bytes, $precision = 2) {
$units = array('B', 'kB', 'mB', 'GB', 'TB');
$bytes = max($bytes, 0);
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
$pow = min($pow, count($units) - 1);
$bytes /= (1 << (10 * $pow));
return round($bytes, $precision) . ' ' . $units[$pow];
}
// Hooked
function ua_admin_custom_filesize_on_edit_media_screen() {
global $post; // $post = get_post();
$filesize = @filesize(get_attached_file($post->ID));
if ( ! empty( $filesize ) && is_numeric( $filesize ) && $filesize > 0 ) : ?>
<div class="misc-pub-section">
<?php _e( 'File size:' ); ?> <strong><?php echo ua_formatBytes( $filesize ); ?></strong>
</div>
<?php
endif;
}
add_action( 'attachment_submitbox_misc_actions', 'ua_admin_custom_filesize_on_edit_media_screen', 99 );