docs.jmini.fr

Les docs Jmini

Les docs jmini regroupent mes notes personnelles plus ou moins détaillées que je souhaite partager. Compilations de liens, tutoriels, réalisations pense-bêtes, morceaux de codes...
Autant d’informations que je retrouve sur mon site et qui pourront vous être utiles. En savoir plus...



Publié par Jérémie Bresson dans les docs Jmini (http://docs.jmini.fr) à l’adresse (http://docs.jmini.fr/notes/wordpress-types-pj).


Dernière mise à jour : Jeudi 16 octobre 2008

[Wordpress] Types des pièces-jointes

Liste des types de fichiers :

Wordpress trie les pièces jointes dans plusieurs types de fichiers en fonction de l’extension, ceci afin de proposer plus qu’une seule icone de fichier joint.

La fonction wp_ext2type($ext) (dont le code est copié à la fin de cet article, disponible dans le fichier wordpress/wp-includes/fonctions.php) permet de récupérer le type de fichier en fonction de l’extension :

Type de fichiers Extensions
audio .aac, .ac3, .aif, .aiff, .mp1, .mp2, .mp3, .m3a, .m4a, .m4b, .ogg, .ram, .wav, .wma.
video .asf, .avi, .divx, .dv, .mov, .mpg, .mpeg, .mp4, .mpv, .ogm, .qt, .rm, .vob, .wmv.
document .doc, .pages, .odt, .rtf, .pdf.
spreadsheet .xls, .numbers, .ods.
interactive .ppt, .key, .odp, .swf.
text .txt.
archive .tar, .bz2, .gz, .cab, .dmg, .rar, .sea, .sit, .sqx, .zip.
code .css, .html, .php, .js.

Ce à quoi s’ajoute à mon avis les types suivants :

Type de fichiers Extensions
image .gif, .jpg, .jpeg, .png, .tif, .tiff, .psd, .bmp
default pour tout le reste

Images :

Par défaut Wordpress incorpore déjà un jeu d’icône pour représenter les fichiers :
On le trouve dans le dossier : wordpress/wp-includes/images/crystal

Jeu d’icône crystall inclus dans wordpress

Jeu d’icône crystall inclus dans wordpress

Un dossier d’images doit contenir les fichiers suivants :

  • archive.png
  • audio.png
  • code.png
  • default.png
  • document.png
  • interactive.png
  • image.png *
  • spreadsheet.png
  • text.png
  • video.png

* image.png n’est pas dans le package par défaut de wordpress. En effet pour les images, wordpress utilise plutôt les miniatures.

Les images standards mesurent 46 pixels de largeur et 60 pixels de hauteur. Proposer un jeu de fichier avec d’autres dimensions peut provoquer des erreurs d’affichage dans l’administration de wordpress.

Evidement les images ne sont pas obligatoirement des png.

Fonctions :

Voici une petite fonction php pour récupérer le nom du type associé à un fichier. Cette fonction utilise la fonction incluse dans wordpress, avec quelques améliorations :

  • Il est possible d’utiliser le nom complet du fichier ou juste l’extension
  • Le type image a été ajoutée
  • Dans tous les cas, on obtient un résultat (en utilisant le type « default »).
<?php
/** jmini - oct 2008 - http://docs.jmini.fr/notes/wordpress-categories-pj **/
function get_filecat($file_name) {
   $pos = strripos($file_name, ".");
   if ($pos === false) {
       $ext=$file_name;
   } else {
       $ext=substr($file_name,$pos+1);
       }
   $c=wp_ext2type($ext);
   if($c==null) {
      if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'tif', 'tiff', 'psd', 'bmp'))) {
         return 'image';
      } else {
         return 'default';
      }
   } else {
      return $c;
   }
}?>

Pour l’utiliser, il suffit de copier le code ci-dessus dans le fichier functions.php du thème utilisé ou même dans le template concerné.

Fonction incluse dans wordpress (wordpress/wp-includes/fonctions.php) :

<?php
function wp_ext2type( $ext ) {
   $ext2type = apply_filters('ext2type', array(
      'audio' => array('aac','ac3','aif','aiff','mp1','mp2','mp3','m3a','m4a','m4b','ogg','ram','wav','wma'),
      'video' => array('asf','avi','divx','dv','mov','mpg','mpeg','mp4','mpv','ogm','qt','rm','vob','wmv'),
      'document' => array('doc','pages','odt','rtf','pdf'),
      'spreadsheet' => array('xls','numbers','ods'),
      'interactive' => array('ppt','key','odp','swf'),
      'text' => array('txt'),
      'archive' => array('tar','bz2','gz','cab','dmg','rar','sea','sit','sqx','zip'),
      'code' => array('css','html','php','js'),
   ));
   foreach ( $ext2type as $type => $exts )
      if ( in_array($ext, $exts) )
         return $type;
}
?>

Voir aussi

Les mots-clés de cet article :

Cet article est dans la catégorie : Notes


© 2007-2024 Jérémie Bresson | jmini.fr | Ce site est sous licence Creative Commons - en savoir plus