Lorsque j'ai commencé à étudier la question, la galerie de fichiers m'a beaucoup rapproché de la résolution du problème. Le seul problème est que le plug-in affiche uniquement l'icône générique non-image lorsque je télécharge un fichier.
Est-ce que quelqu'un connaît un plugin préexistant qui fonctionnerait soit à côté de File Gallery soit à la place pour créer des logos spécifiques à un type de fichier (par exemple, je télécharge un fichier .doc puis le plugin affiche un logo MS Word).
À défaut d'un plug-in préexistant, quel serait le bon point de départ pour tenter de concevoir ma propre solution personnalisée?
Merci d'avance!
Remarque: ceci a été initialement publié sur le forum de support de wordpress.org ici , mais comme il n'a pas reçu de réponse, je pensais que je tenterais ma chance ici.
WordPress a une fonction native wp_mime_type_icon()
dans wp-includes/post.php
que vous pouvez utiliser.
Exemple de base:
// $attachment should be a full post object
if ( wp_attachment_is_image( $attachment->ID ) )
{
echo wp_get_attachment_image(
$attachment->ID,
array( 480, 900 ),
FALSE,
array ( 'class' => 'aligncenter' )
);
}
else
{
echo '<img src="' . wp_mime_type_icon( $attachment->post_mime_type ) . '">';
}
Recherchez dans wp-includes/images/crystal/
les icônes de type de fichier disponibles:
Vous pouvez configurer votre propre répertoire d'images et filtrer 'icon_dir'
pour le chemin d'accès local et 'icon_dir_uri'
pour les URI afin de permettre à WordPress d'utiliser vos images.
Pour modifier uniquement les fichiers singuliers, filtrez 'wp_mime_type_icon'
:
apply_filters( 'wp_mime_type_icon', $icon, $mime, $post_id )
Je ne pense pas que vous aurez de la chance de le faire fonctionner avec un autre plugin de galerie sans modifier ce code, mais vous pouvez le faire vous-même assez facilement en écrivant un plugin/fonction ou en utilisant une page de modèle.
Ce que vous pouvez faire est d'utiliser get_children
pour récupérer le post_mime_type
, dans votre cas, un exemple simple serait,
get_children( 'post_type=attachment&post_mime_type=doc' );
//assuming your using ms .doc files.
Une fois que vous avez le type mime, vous pouvez utiliser wp_get_attachment_link
pour créer le lien. Malheureusement, ce paramètre function $icon
est un booléen. Il ne vous permet donc pas d'ajouter votre propre icône. Vous devrez donc echo
pour afficher l'URL de l'icône souhaitée. utilisation.
http://codex.wordpress.org/Function_Reference/get_children
http://codex.wordpress.org/Function_Reference/wp_get_attachment_link
http://tgrayimages.com/automate-file-attachments-on-your-wordpress-posts/